> ## Documentation Index
> Fetch the complete documentation index at: https://felimet-hub.jmcores.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 02-2 Anthropic Claude 設定：Chat、Cowork、Code

> 逐層拆解 Anthropic 三個產品（Claude.ai、Claude Cowork、Claude Code）的完整設定面，以 Claude Code 的 .claude/ 目錄體系為主範本，建立設定即介面的操作基礎。

export const OptionPicker = ({options = [], lang = "zh", label}) => {
  const t = lang === "en" ? {
    pick: label || "Pick an option to compare",
    rec: "Recommended"
  } : {
    pick: label || "點選項目比較",
    rec: "推薦"
  };
  const opts = Array.isArray(options) ? options : [];
  const [sel, setSel] = useState(0);
  if (opts.length === 0) return null;
  const idx = Math.min(sel, opts.length - 1);
  const cur = opts[idx];
  const css = `
  .op-root{--op-bg:#FAF8F3;--op-surface:rgba(0,0,0,0.025);--op-border:rgba(0,0,0,0.09);--op-text:#2b2722;--op-dim:#6f6a62;--op-faint:#8a8378;--op-accent:#bf7551;border:1px solid var(--op-border);border-radius:14px;background:var(--op-bg);color:var(--op-text);overflow:hidden;}
  .dark .op-root{--op-bg:#1b1a18;--op-surface:rgba(255,255,255,0.03);--op-border:rgba(255,255,255,0.08);--op-text:#e7e3da;--op-dim:#a8a299;--op-faint:#8a8378;--op-accent:#cf8a68;}
  .op-head{padding:12px 16px 11px;border-bottom:1px solid var(--op-border);font-size:12.5px;color:var(--op-dim);display:flex;align-items:center;gap:8px;}
  .op-head-ic{color:var(--op-accent);flex-shrink:0;}
  .op-tabs{display:flex;gap:8px;padding:14px 16px 4px;flex-wrap:wrap;}
  .op-tab{position:relative;flex:1 1 130px;min-width:120px;text-align:left;background:transparent;border:1px solid var(--op-border);border-radius:11px;padding:11px 13px;cursor:pointer;color:inherit;font:inherit;transition:border-color .15s,background .15s,box-shadow .15s;}
  .op-tab:hover{background:var(--op-surface);}
  .op-tab-on{border-color:rgba(191,117,81,.5);background:rgba(191,117,81,.07);box-shadow:0 0 0 3px rgba(191,117,81,.1);}
  .op-tab-name{font-size:14.5px;font-weight:600;line-height:1.3;}
  .op-tab-on .op-tab-name{color:var(--op-accent);}
  .op-badge{display:inline-block;margin-top:6px;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:rgba(191,117,81,.14);color:var(--op-accent);}
  .op-rec{position:absolute;top:10px;right:11px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--op-accent);}
  .op-body{padding:6px 16px 16px;}
  .op-specs{border:1px solid var(--op-border);border-radius:10px;overflow:hidden;margin-bottom:11px;}
  .op-row{display:flex;border-top:1px solid var(--op-border);font-size:13px;}
  .op-row:first-child{border-top:none;}
  .op-k{width:42%;flex-shrink:0;padding:8px 12px;color:var(--op-dim);background:var(--op-surface);}
  .op-v{flex:1 1 0;min-width:0;padding:8px 12px;font-weight:500;}
  .op-note{font-size:13px;line-height:1.6;color:var(--op-dim);padding:0 2px;}
  `;
  return <div className="op-root">
      <style>{css}</style>
      <div className="op-head"><svg className="op-head-ic" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" /><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65" /><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" /></svg>{t.pick}</div>
      <div className="op-tabs">
        {opts.map((o, i) => <button key={i} type="button" className={"op-tab" + (i === idx ? " op-tab-on" : "")} onClick={() => setSel(i)}>
            {o.recommend && <span className="op-rec">★ {t.rec}</span>}
            <div className="op-tab-name">{o.name}</div>
            {o.badge && <span className="op-badge">{o.badge}</span>}
          </button>)}
      </div>
      <div className="op-body">
        <div className="op-specs">
          {(cur.specs || []).map((row, i) => <div className="op-row" key={i}>
              <div className="op-k">{row[0]}</div>
              <div className="op-v">{row[1]}</div>
            </div>)}
        </div>
        {cur.note && <div className="op-note">{cur.note}</div>}
      </div>
    </div>;
};

export const LearnerPrimer = ({items = [], lang = "zh"}) => {
  const t = lang === "en" ? {
    title: "Before this unit, be honest with yourself",
    sub: "If you can't answer these, that gap is exactly what this unit closes."
  } : {
    title: "讀這個單元前，先誠實面對",
    sub: "這幾題答不出來，正是這個單元要替你補的洞。"
  };
  const css = `
  .lp-root{--lp-bg:#FAF7F1;--lp-surface:rgba(191,117,81,0.05);--lp-border:rgba(0,0,0,0.09);--lp-edge:rgba(191,117,81,0.42);--lp-text:#2b2722;--lp-dim:#6f6a62;--lp-accent:#bf7551;border:1px solid var(--lp-border);border-left:3px solid var(--lp-edge);border-radius:13px;background:var(--lp-bg);color:var(--lp-text);overflow:hidden;margin:1.25rem 0;}
  .dark .lp-root{--lp-bg:#1b1a18;--lp-surface:rgba(207,138,104,0.07);--lp-border:rgba(255,255,255,0.08);--lp-edge:rgba(207,138,104,0.5);--lp-text:#e7e3da;--lp-dim:#a8a299;--lp-accent:#cf8a68;}
  .lp-head{display:flex;align-items:center;gap:9px;padding:13px 18px 11px;border-bottom:1px solid var(--lp-border);background:var(--lp-surface);}
  .lp-ic{color:var(--lp-accent);flex-shrink:0;}
  .lp-htx{display:flex;flex-direction:column;gap:1px;min-width:0;}
  .lp-title{font-size:14px;font-weight:650;line-height:1.3;letter-spacing:.01em;}
  .lp-sub{font-size:12px;color:var(--lp-dim);line-height:1.4;}
  .lp-list{list-style:none;margin:0;padding:10px 18px 14px;display:flex;flex-direction:column;gap:0;}
  .lp-item{display:flex;align-items:baseline;gap:11px;padding:7px 0;font-size:14px;line-height:1.6;border-top:1px solid var(--lp-border);}
  .lp-item:first-child{border-top:none;}
  .lp-mark{flex-shrink:0;color:var(--lp-accent);font-size:13px;font-weight:700;line-height:1.55;font-variant-numeric:tabular-nums;opacity:.85;}
  .lp-q{flex:1 1 0;min-width:0;color:var(--lp-text);}
  @media (max-width:620px){.lp-head{padding:12px 14px 10px;}.lp-list{padding:8px 14px 12px;}}
  `;
  return <div className="lp-root">
      <style>{css}</style>
      <div className="lp-head">
        <svg className="lp-ic" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="10" /><circle cx="12" cy="12" r="6" /><circle cx="12" cy="12" r="2" /></svg>
        <span className="lp-htx">
          <span className="lp-title">{t.title}</span>
          <span className="lp-sub">{t.sub}</span>
        </span>
      </div>
      <ul className="lp-list">
        {items.map((q, i) => <li className="lp-item" key={i}>
            <span className="lp-mark">{String(i + 1).padStart(2, "0")}</span>
            <span className="lp-q">{q}</span>
          </li>)}
      </ul>
    </div>;
};

<LearnerPrimer
  lang="zh"
  items={[
"沒設 Help Improve Claude 就丟敏感資料，那叫主動投餵",
"Cowork 不是 Code，找不到 .claude/ 就是認錯產品",
"你的個人偏好應該進 ~/.claude/，不是專案 CLAUDE.md",
"deny 沒設 ~/.ssh 與 .env，私鑰就在 agent 可讀範圍內",
"settings.local.json 沒進 gitignore，密鑰連帶提交",
"動手前先確認隱私開關，資料進訓練不可逆",
"三個產品分不清，找不到對應設定還怪文件爛",
]}
/>

<Info>
  **這個單元解決什麼問題**

  這是全 Playbook 的主範本。逐項展開 Anthropic 三個產品（Claude.ai 網頁版、Claude Cowork、Claude Code）的設定面，建立一個「設定即介面」的完整參照。你在這裡看到的每一層（個人化、隱私、記憶、規則、權限、自動化），其他工具都有對應，差別只在名字與檔名，那是 [02-6](/code-agent/configuration/other-tools-comparison) 的事。
</Info>

## 學習目標

* [ ] 在 Claude.ai 設好個人化指令，並確認你的對話有沒有被拿去訓練。
* [ ] 說清楚 Claude Cowork 與 Claude Code 的定位差異，不再把兩者混為一談。
* [ ] 讀懂並親手建立 `.claude/` 目錄、`settings.json` 與多層 `CLAUDE.md`。
* [ ] 用 `permissions` 的 allow / ask / deny 把工具權限收斂到任務範圍。

<Warning>
  **時效聲明**

  本單元設定細節查證截至 2026-05，來源見文末。Anthropic 的 UI 名稱與檔案結構改版頻繁，實際操作時以當前官方頁面為準。
</Warning>

***

## A. Claude.ai 網頁版（Free / Pro / Max / Team）

Claude.ai 的三件設定決定它對你有沒有用：個人化、隱私、Projects。多數人只用對話框，從沒進這三個地方。

### A1. 個人化

* **Instructions for Claude**：帳號層級的常駐自訂指令，位置在左下角你的名稱縮寫 → Settings。它等同每次對話自動前置的系統指令，寫你的角色、領域、慣用語言與輸出偏好。寫一次，所有對話受用。
* **Skills**：回應風格設定（截至 2026-05；此功能早期名為 "Styles"，以 `support.claude.com` 當前頁為準）。可用 Add Writing Example 上傳你自己的寫作範例讓 Claude 模仿，進階可勾 "Use custom instructions (advanced)" 直接覆寫。
* **Projects**：每個 Project 有獨立的 project instructions 與 knowledge base，上傳的 PDF、DOCX、程式碼會被該 Project 內所有對話讀取。免費帳號的 Project 數量有上限（截至 2026-05 為 5 個，以 `support.claude.com` 當前頁為準）。研究者的對位：一個論文題目開一個 Project，把相關文獻丟進 knowledge base，對話就自動有脈絡。
* **Memory**：截至 2026-05，Claude 對每個 Project 與非 Project 對話各自維護記憶摘要、跨對話延續；Free 方案的 Project 記憶開關細節以 `support.claude.com` 當前頁為準。

### A2. 隱私與資料控制

這節比個人化更該先讀。

<Warning>
  **動手前先設隱私，這是不可逆的**

  把研究資料、未發表手稿、或含營業祕密的程式碼丟進 Claude.ai 之前，先確認 Help Improve Claude 的狀態與你所屬方案的資料條款。一旦資料進入訓練，無法事後撤回。需要處理一次性敏感內容時，用暫時對話而非一般對話。
</Warning>

**Help Improve Claude 開關**（Settings → Privacy）：Free 方案由你控制。關閉後，新的對話與 coding session 不會進入未來模型訓練。兩個但書你必須知道：被安全機制標記的對話可能仍用於 trust & safety；已經進入「已訓練完成」模型的資料無法回溯移除。

**保留期限**：Free 方案退出訓練者與加入者的資料保留期限不同，具體天數以 `privacy.claude.com` 當前頁為準；本 Playbook 不引用未經官方確認的數字。

**Team / Enterprise**：由商業條款另行規範，預設不以業務資料訓練；其開關位置與名稱和 Free 版不同，確切名稱以各方案的管理員文件為準。

以下是開關設定的最小流程：

<Steps>
  <Step title="進入 Settings">
    Claude.ai 左下角點你的名稱縮寫，選 Settings。
  </Step>

  <Step title="切到 Privacy 分頁">
    找到 "Help Improve Claude" 區塊。
  </Step>

  <Step title="依你的需求確認開關狀態">
    要退出訓練就關閉。注意：只影響新的對話，已提交的資料不可逆。
  </Step>

  <Step title="敏感內容改用暫時對話">
    臨時處理敏感文件，用對話框旁的暫時對話選項，不走常規記憶路徑。
  </Step>
</Steps>

***

## B. Claude Cowork

<Note>
  **先破除一個混淆**

  Playbook 初稿曾把 Cowork 當成 Claude Code。它們是兩個不同產品，設定模型完全不同，必須分開理解。
</Note>

**定位**：Anthropic 的桌面型 agentic 產品，面向知識工作者（研究、分析、財務、法務、營運），在你本機的檔案與應用上完成多步任務。它不是 CLI，也不是開發工具。

**與 Claude Code 的差異**：

| 維度   | Claude Cowork     | Claude Code      |
| ---- | ----------------- | ---------------- |
| 對象   | 知識工作者（非開發者）       | 開發者              |
| 介面   | 桌面應用，目標導向         | CLI / IDE 代理     |
| 設定面  | 無 `.claude/` 檔案體系 | 完整 `.claude/` 設定 |
| 動的東西 | 本機檔案與應用、企業連接器     | 程式碼倉庫            |

**設定面**：以目標導向介面為主，你給任務目標、它在本機執行，沒有像 Claude Code 那樣的 `settings.json` / `CLAUDE.md` 設定檔。企業連接器（Google Drive、Gmail、DocuSign、FactSet 等）與領域插件約於 2026 年初推出（截至 2026-05）；連接器的具體設定機制目前在官方公開文件中未見完整索引，以 `anthropic.com/product/claude-cowork` 當前頁為準。

***

## C. Claude Code（CLI / IDE 代理，主範本核心）

這是設定深度最高的地方，也是本 Playbook「設定即介面」最完整的實作。後面 [02-5](/code-agent/configuration/skills-hooks-subagents-plugins) 的 Skill / Hook / Subagent 與 [02-6](/code-agent/configuration/other-tools-comparison) 的其他工具，都是這套設定模型的延伸。

### C1. `.claude/` 目錄結構

<Tip>
  **用官方互動式目錄探索對照**

  Anthropic 有一份互動式的 .claude 目錄探索頁，逐檔說明每個檔案何時載入、提交與否、用途與範例。動手前對照它最快：[探索 .claude 目錄（官方）](https://code.claude.com/docs/zh-TW/claude-directory#探索目錄)（截至 2026-06）。下面這棵樹是常用子集，不在樹裡的欄位以官方頁為準。
</Tip>

**專案根（你的 repo/，多數提交版控）**

<Tree>
  <Tree.File name="CLAUDE.md · 專案指令，每 session 載入（也可放 .claude/CLAUDE.md）" />

  <Tree.File name="CLAUDE.local.md · 個人專案指令，gitignore" />

  <Tree.File name=".mcp.json · 專案級 MCP 伺服器，團隊共享" />

  <Tree.File name=".worktreeinclude · 建 worktree 時要複製進去的 gitignored 檔案清單" />

  <Tree.Folder name=".claude/ · 專案層設定、規則、擴充" defaultOpen>
    <Tree.File name="settings.json · 專案範圍設定，提交" />

    <Tree.File name="settings.local.json · 個人覆寫，gitignore" />

    <Tree.Folder name="rules/">
      <Tree.File name="*.md · 路徑範圍或無條件規則" />
    </Tree.Folder>

    <Tree.Folder name="skills/">
      <Tree.File name="<name>/SKILL.md · 專案 skills" />
    </Tree.Folder>

    <Tree.Folder name="commands/">
      <Tree.File name="<name>.md · 舊式單檔指令（新工作流建議用 skills/）" />
    </Tree.Folder>

    <Tree.Folder name="output-styles/">
      <Tree.File name="· 專案共享的輸出樣式" />
    </Tree.Folder>

    <Tree.Folder name="agents/">
      <Tree.File name="*.md · 專案 subagents" />
    </Tree.Folder>

    <Tree.Folder name="workflows/">
      <Tree.File name="*.js · 動態 workflow 腳本，由 /workflows 存檔" />
    </Tree.Folder>

    <Tree.Folder name="agent-memory/">
      <Tree.File name="· subagent 的專案層持久記憶（frontmatter memory: project）" />
    </Tree.Folder>
  </Tree.Folder>
</Tree>

**使用者層（`~/.claude/`，Windows 為 `%USERPROFILE%\.claude\`）**

<Tree>
  <Tree.File name="CLAUDE.md · 使用者層指令，每 session 載入" />

  <Tree.File name="settings.json · 套用所有專案" />

  <Tree.File name="keybindings.json · 自訂鍵盤快捷鍵" />

  <Tree.Folder name="themes/">
    <Tree.File name="· 自訂配色主題" />
  </Tree.Folder>

  <Tree.File name="rules/ skills/ commands/ output-styles/ agents/ workflows/ · 使用者層對應目錄" />

  <Tree.Folder name="agent-memory/">
    <Tree.File name="· subagent 使用者層記憶（memory: user）" />
  </Tree.Folder>

  <Tree.Folder name="projects/">
    <Tree.Folder name="<repo>/">
      <Tree.Folder name="memory/">
        <Tree.File name="MEMORY.md · 索引 + topic 檔，各 repo 自動記憶" />
      </Tree.Folder>
    </Tree.Folder>
  </Tree.Folder>
</Tree>

**使用者根（`~/`，不在 `~/.claude/` 內）**

<Tree>
  <Tree.File name=".claude.json · app 狀態、UI 偏好、個人 MCP 伺服器、per-project 信任決策" />
</Tree>

判斷一個檔該不該進版控的標準只有一個：它是團隊共享的慣例，還是你個人的偏好或密鑰。前者提交（`settings.json`、`./CLAUDE.md`），後者 gitignore（`settings.local.json`、`CLAUDE.local.md`）。這條規則貫穿 [02-1](/code-agent/configuration/config-layer-model)。

### C2. 設定優先序

衝突時誰勝出，由高到低：

1. 受管理政策（managed，企業 MDM / Group Policy，不可被覆寫）
2. CLI 參數
3. `.claude/settings.local.json`（本地個人）
4. `.claude/settings.json`（專案）
5. `~/.claude/settings.json`（使用者）

越靠近當前任務的設定優先序越高，受管理政策是唯一從上而下不可違逆的例外。

### C3. settings.json 與權限

重點鍵（截至 2026-05，以 `code.claude.com/docs/en/settings` 為準）：`model`、`permissions`（`allow` / `ask` / `deny` 三組陣列）、`hooks`、`env`、`statusLine`、`autoMemoryEnabled`。

<Warning>
  **權限是其中最該先設的**

  評估順序是 deny 先、再 ask、再 allow，所以 deny 永遠壓得住 allow。最低限度，把密鑰路徑與危險指令放進 deny，這是 [03-3](/code-agent/judgment/security-privacy-supply-chain) 的第一道防線。
</Warning>

```json theme={null}
{
  "permissions": {
    "allow": ["Bash(npm run *)", "Read(~/.zshrc)"],
    "ask": ["Bash(git push *)"],
    "deny": ["Bash(curl *)", "Read(./.env)"]
  }
}
```

### C4. CLAUDE.md 記憶與 import

* 層級由高到低：受管理 → 使用者（`~/.claude/CLAUDE.md`）→ 專案（`./CLAUDE.md`）→ 本地（`./CLAUDE.local.md`，gitignore）。
* **import 語法**：在 CLAUDE.md 中以 `@path/to/file` 匯入其他檔，相對路徑解析自匯入檔，最多 4 層遞迴。這讓你能把龐大的規則拆成模組，而非塞進一個巨檔（怎麼拆是 [04-2](/code-agent/customization/rules) 的主題）。
* **路徑範圍規則**：`.claude/rules/*.md` 可在 YAML frontmatter 寫 `paths: ["src/**/*.ts"]`，只在你處理對應檔案時才載入，平時不佔上下文。本知識庫的 `writing-spec.md` 就是這樣掛在 `docs/**` 上。

### C5. 自動記憶

* 位置：`~/.claude/projects/<repo 衍生路徑>/memory/MEMORY.md`，每 session 載入 `MEMORY.md` 前 200 行或 25KB（以先達者為準）；topic 檔（如 `debugging.md`）啟動時不載入，相關任務出現時才按需讀取。啟用需 Claude Code v2.1.59 以上（截至 2026-06，依官方記憶章節）。
* 控制：`settings.json` 的 `autoMemoryEnabled`，或環境變數 `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`，亦可用 `/memory` 指令切換。

<Warning>
  **記憶是跨 session 提示注入的著力點**

  記憶在 session 起始載入，內容要保持狹窄、不存密鑰（見 [03-3](/code-agent/judgment/security-privacy-supply-chain)）。
</Warning>

### C6. Windows 實務

* 使用者路徑：`C:\Users\<user>\.claude\`（即 `%USERPROFILE%\.claude\`）。
* 受管理政策（截至 2026-05，以 `code.claude.com/docs` 為準）：`C:\Program Files\ClaudeCode\managed-settings.json`；Group Policy / Intune 派送所用的確切登錄機碼路徑以 `code.claude.com/docs/en/settings` 企業部署節為準。

***

## 工具對照：Anthropic 三產品定位速覽

本單元主體是 Claude，下表為自家三產品的定位速覽（非跨供應商的概念對照表）。跨供應商（OpenAI / Google / Copilot / Cursor）依概念逐列對照的標準表見 [02-6](/code-agent/configuration/other-tools-comparison)：

<OptionPicker
  options={[
{
  name: "Claude.ai",
  specs: [
    ["介面型態", "瀏覽器 / 桌面對話"],
    ["設定位置", "Settings（帳號層）→ Instructions、Skills、Privacy"],
    ["隱私開關位置", "Settings → Privacy → Help Improve Claude"],
    ["適用對象", "一般使用者、研究者"],
  ],
  note: "Projects 可上傳文件作為 knowledge base，Memory 跨對話延續。",
},
{
  name: "Claude Cowork",
  specs: [
    ["介面型態", "桌面 agentic 應用，目標導向"],
    ["設定位置", "介面內目標設定、企業連接器（無設定檔體系）"],
    ["隱私開關位置", "介面內（以官方當前文件為準）"],
    ["適用對象", "知識工作者（研究、財務、法務、營運）"],
  ],
  note: "無 .claude/ 目錄，不用找 settings.json；設定走介面，不走檔案。",
},
{
  name: "Claude Code",
  recommend: true,
  badge: "主範本",
  specs: [
    ["介面型態", "CLI / IDE 代理"],
    ["設定位置", ".claude/ 目錄 + CLAUDE.md 多層體系"],
    ["隱私開關位置", "settings.json 的 env + ~/.claude/settings.json"],
    ["適用對象", "開發者"],
  ],
  note: "設定深度最高，Skill / Hook / Subagent / Plugin 全走這套模型。",
},
]}
/>

***

## 動手做

<Steps>
  <Step title="設定 Claude.ai 個人化與隱私">
    在 Claude.ai 設定 Instructions for Claude（角色、語言、輸出偏好），並到 Settings → Privacy 確認 Help Improve Claude 的狀態。
  </Step>

  <Step title="建立最小可用的 CLAUDE.md">
    在一個專案建立 `./CLAUDE.md`：角色、語言、程式碼風格、明確禁則五段（範本見 [04-1](/code-agent/customization/claude-md-memory)）。
  </Step>

  <Step title="驗證 deny 規則">
    在 `.claude/settings.json` 加一條 deny（如 `Read(./.env)`），故意觸發一次驗證它擋得住。
  </Step>

  <Step title="把個人偏好移到使用者層">
    把一段跨專案的個人偏好移到 `~/.claude/CLAUDE.md`，確認它在另一個專案也生效。
  </Step>
</Steps>

## 常見誤區

<Warning>
  **反模式**

  * 把 Cowork 當 Code，或反過來，導致找不到對應設定。
  * 把個人偏好寫進團隊共享的 `./CLAUDE.md`，污染同事的環境；個人偏好該放 `~/.claude/CLAUDE.md` 或 `CLAUDE.local.md`。
  * 忘記把 `settings.local.json` 加進 `.gitignore`，連個人覆寫一起提交。
  * 丟敏感資料前沒先設隱私，事後才發現不可逆。
</Warning>

## 自我檢核

<Check>
  **通過本單元的標準**

  1. 你能畫出 `.claude/` 目錄，並說出每個檔該不該提交、為什麼嗎？
  2. 你知道自己 Claude.ai 帳號現在有沒有把對話拿去訓練嗎？開關在哪？
  3. 給你一條「不希望 Claude 碰的路徑」，你能寫出對應的 deny 規則嗎？
</Check>

## 來源與延伸閱讀

事實主張依官方文件，快變動項標註截至 2026-05。

<div className="references">
  * \[1] Anthropic, "Settings," Claude Code Docs. (model、permissions allow/ask/deny、hooks、env、statusLine、autoMemoryEnabled 各鍵說明) [https://code.claude.com/docs/en/settings](https://code.claude.com/docs/en/settings) （截至 2026-05）

  * \[2] Anthropic, "Explore the .claude directory," Claude Code Docs. (每個檔案何時載入、是否提交版控、用途與範例，目錄樹依此複查) [https://code.claude.com/docs/zh-TW/claude-directory](https://code.claude.com/docs/zh-TW/claude-directory) （截至 2026-06）

  * \[3] Anthropic, "Memory," Claude Code Docs. (自動記憶版本門檻 v2.1.59+、載入上限 200 行 / 25KB、autoMemoryEnabled 控制) [https://code.claude.com/docs/en/memory](https://code.claude.com/docs/en/memory) （截至 2026-06）

  * \[4] Anthropic, "Privacy Policy," Claude Privacy Portal. (Help Improve Claude 開關說明、資料訓練退出機制) [https://privacy.claude.com](https://privacy.claude.com) （截至 2026-05）

  * \[5] Anthropic, "Projects and Skills," Claude Support. (Projects 上限、Skills/Styles 設定) [https://support.claude.com](https://support.claude.com) （截至 2026-05）

  * \[6] Anthropic, "Claude Cowork," Anthropic Product Pages. [https://anthropic.com/product/claude-cowork](https://anthropic.com/product/claude-cowork) （截至 2026-05）
</div>

* 銜接：[02-1](/code-agent/configuration/config-layer-model) 設定層次模型與優先序；[02-5](/code-agent/configuration/skills-hooks-subagents-plugins) Skill / Hook / Subagent / Plugin 深入機制；[02-6](/code-agent/configuration/other-tools-comparison) 跨工具（OpenAI / Google / Copilot / Cursor）概念對照；[03-3](/code-agent/judgment/security-privacy-supply-chain) 安全、隱私、供應鏈威脅模型；[04-1](/code-agent/customization/claude-md-memory) CLAUDE.md 記憶設計；[04-2](/code-agent/customization/rules) 規則模組化拆分。
* 快變動項（保留期限數字、Team / Enterprise 開關名、Cowork 連接器設定）已標注對應官方頁，展開正式教材前以當前頁面再核。
