前言

開始使用 Claude Code 一段時間後,很多人都會碰到同樣的問題。

  • Claude 產生的 .md 檔散落在專案根目錄
  • 「那份調查筆記跑哪去了?」幾乎每週都會發生一次
  • Mac 和 Windows 之間來回切換時,總是被路徑問題絆住

這篇文章會把我實際在用的 Claude Code 專用專案「何でも相談-pj」完整公開,從資料夾結構、CLAUDE.md.claude/settings.json.mcp.json 全部攤開來看。透過把 Obsidian Vault 內嵌在專案中,可以自動整理 Claude Code 的產出,之後還能在 Obsidian 的圖譜視圖中一覽整體知識脈絡。

對象讀者:剛開始使用 Claude Code 到中階使用者。即使沒用過 Obsidian 也沒問題。

專案整體概覽

先說明這個設計背後的三個原則。這三點支撐了所有的結構判斷。

  1. 所有產出都放進 Obsidian Vault(不要散落在專案根目錄)
  2. 置放規則寫進 CLAUDE.md,讓 Claude 自己遵守(不用每次由人手動提示)
  3. 可透過 USB/ZIP 在 Mac 與 Windows 間攜帶(不使用 Git 同步)

整體資料夾長這樣:

何でも相談-pj/
├── README.md                  # 初次設定步驟
├── CLAUDE.md                  # 專案指引(Claude Code 會自動讀取)
├── .mcp.json                  # 專案專屬的 MCP 伺服器設定
├── .claude/
│   ├── settings.json          # model / effortLevel 等
│   ├── settings.local.json    # 許可清單(個人用)
│   └── skills/
│       └── note-article-writing/   # 專案專屬自訂技能
└── obsidian-vault/            # Obsidian Vault 根目錄
    ├── .obsidian/             # 連 Obsidian 設定也一併可攜
    ├── daily/                 # 每日筆記 YYYY-MM-DD.md
    ├── coding/                # 程式設計諮詢・範例
    ├── research/              # 技術調查・學習筆記
    ├── docs/                  # 文件草稿・成果物
    ├── references/            # 參考資料・網址・PDF 等
    └── archive/               # 已結束諮詢的封存

只有 CLAUDE.mdREADME.md 留在專案根目錄。這是因為 Claude Code 啟動時會自動讀取這兩個檔案;如果放進 Vault 裡,就不會被參照到。

資料夾結構與子資料夾的角色

obsidian-vault/ 內嵌到專案中,就是這個架構的核心。Claude Code 的工作目錄仍然是專案根目錄(何でも相談-pj/),因此 .claude/.mcp.json 都能正常被辨識;另一方面,筆記與成果物則全部放到 Vault 底下。

我把 6 個子資料夾的用途整理成表格如下。

資料夾用途命名規則daily/每日筆記・工作日誌YYYY-MM-DD.md``coding/程式設計諮詢・範例・審查對象<主題>/...``research/技術調查・學習筆記YYYY-MM-DD-主題.md``docs/文件草稿・成果物<文件名>.md``references/參考資料・網址集・PDFlinks.md / <資料名>.pdf``archive/已結束諮詢的封存YYYY-MM/<原始路徑>重點在於 archive/ 的運作方式:會以月份資料夾(例如 archive/2026-04/)為單位,連同原本的資料夾結構一起移動。如此一來,Vault 根目錄始終維持最精簡,但當你想回頭找舊脈絡時,仍可沿著原本的階層找到。

在 CLAUDE.md 寫入置放規則

這是本文最想傳達的一點。

CLAUDE.md 可作為每個專案的指令書。很多人應該把它當成「撰寫程式規範的地方」在用,但我把它當成檔案配置自動化裝置

例如,我的 CLAUDE.md 裡會寫像這樣的表格:

## 資料夾結構與預設置放規則

建立新檔案時,請依內容放到以下資料夾中
(絕對不要散落在專案根目錄或 Vault 根目錄):

| 資料夾 | 用途 | 檔名範例 |
|----------|------|----------------|
| `obsidian-vault/daily/` | 每日筆記 | `obsidian-vault/daily/YYYY-MM-DD.md` |
| `obsidian-vault/coding/` | 程式設計諮詢 | `obsidian-vault/coding/<主題>/...` |
| `obsidian-vault/research/` | 技術調查・學習筆記 | `obsidian-vault/research/YYYY-MM-DD-主題.md` |
| `obsidian-vault/docs/` | 文件成果物 | `obsidian-vault/docs/<文件名>.md` |
| `obsidian-vault/references/` | 參考資料・網址集 | `obsidian-vault/references/links.md` |
| `obsidian-vault/archive/` | 已結束諮詢 | `obsidian-vault/archive/YYYY-MM/<原始路徑>` |

在對話一開始,如果 `obsidian-vault/daily/<今天日期>.md` 已存在,
請先讀取一次,掌握當天脈絡後再開始工作。

只要寫下這一張表,行為就會劇烈改變。

Before(沒有 CLAUDE.md

我:「幫我寫一份 API 設計筆記」
Claude:「我建立了 api-design.md」(跑到專案根目錄)

After(CLAUDE.md 裡有置放規則)

我:「幫我寫一份 API 設計筆記」
Claude:「我建立了 obsidian-vault/research/2026-04-18-API設計.md

你不需要每次都說「請建立在 Vault 的 research 底下」。CLAUDE.md 最後那句「在對話一開始讀取每日筆記」也很有用,Claude 會在 session 開始時自動讀取當天的每日筆記,掌握前後文後再回應。

.claude/settings.json 的巧思

為了固定專案行為,我在 .claude/settings.json 裡明確指定了幾個 key。

{
  "model": "claude-opus-4-7",
  "enabledPlugins": {
    "everything-claude-code@everything-claude-code": true
  },
  "effortLevel": "xhigh",
  "env": {
    "CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
  }
}

各自的目的如下:

  • model:固定為 Opus 4.7,避免模型被自動切換。
  • enabledPlugins:明確在專案中啟用後述的 everything-claude-code
  • effortLevel: "xhigh":把推理深度固定在接近最高等級(比 max 低一階),避免在寫程式或調查時被妥協。
  • CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING:關閉思考量的自動調整。實務上讓它每次都以相同深度思考,會比較穩定。

另外,我也在 .claude/settings.local.json 放了個人許可清單

{
  "permissions": {
    "allow": [
      "mcp__awslabs_aws-documentation-mcp-server__search_documentation",
      "mcp__awslabs_aws-documentation-mcp-server__read_documentation",
      "WebFetch(domain:qiita.com)",
      "WebFetch(domain:www.anthropic.com)",
      "WebFetch(domain:aws.amazon.com)",
      "WebSearch"
    ]
  }
}

settings.json 用來放「想在專案中共享的設定」,settings.local.json 則用來放「只屬於自己裝置的允許項目」。有了這個檔案,當我抓取常用的 AWS 官方文件、Qiita、Anthropic 官方頁面時,就不會跳出權限確認提示,工作節奏不會被打斷。

.mcp.jsoneverything-claude-code 外掛

MCP 伺服器只透過專案專屬的 .mcp.json 啟用一個。

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws"
      }
    }
  }
}

是透過 uvx 啟動。只要先安裝好 uv/uvx,第一次啟動時它會自動下載套件。之所以加入 AWS Docs,是因為當你問 Claude AWS 相關問題時,它很容易用過時資訊回答,所以我希望它能直接查到第一手資料。

重點是「不要加入太多 MCP」。everything-claude-code 的 README 也提到:「如果把所有 MCP 都啟用,200k 的 context 可能會縮到 70k。」我目前的做法是:AWS Docs 在專案層級常駐啟用,其他 MCP(context7exagithubmemoryplaywrightsequential-thinking)則透過 everything-claude-code 外掛在需要時才使用。

我把外掛中常用的斜線指令整理如下。

指令用途/plan擬定實作計畫時/tdd開始用 TDD 寫程式時/code-review審查已寫好的程式品質/security從安全性角度進行審查/build-fix找出並修正建置錯誤原因/refactor-clean刪除死碼・整理程式/verify實作後的驗證迴圈/checkpoint驗證通過時儲存狀態另外,我也在 .claude/skills/note-article-writing/ 放了專案專屬自訂技能。我把要寫 note.com 文章時的檢查清單與模板寫進 SKILL.md,Claude 會透過自動觸發來呼叫它。能在專案範圍內配置自訂技能,是 .claude/skills/ 的強項,讓你可以依照自己的工作流程打造迷你代理。

Mac/Windows 手動複製移轉規則

這個專案不使用 Git 也不使用雲端同步,而是以 USB/ZIP 手動複製為前提。之所以不使用 Git,是因為我想把包含 Obsidian 圖譜、設定檔、PDF 等二進位檔在內的「整包內容」直接攜帶移動。相對地,你必須遵守建立檔案時的 6 項規則

規則 理由

1 絕對不要寫絕對路徑 在不同作業系統間會直接壞掉
2 不要嵌入直接參照家目錄的路徑(如 C:\Users\.../Users/...) 同上
3 路徑分隔符統一使用 / Windows 也能正常使用 /
4 以無 BOM 的 UTF-8 儲存 避免亂碼
5 換行統一使用 LF(避免混用 CRLF) 因為不使用 Git,所以請在編輯器端統一
6 obsidian-vault/.obsidian/ 也一併複製 為了保留 Obsidian 的設定與外掛啟用狀態

移到其他電腦後,只需要重新安裝外掛即可。因為 ~/.claude/plugins/ 會依作業系統下載不同的二進位檔,所以無法整個資料夾直接攜帶。

/plugin marketplace add https://github.com/affaan-m/everything-claude-code
/plugin install everything-claude-code

只要執行這兩行,在同一台電腦的第二次之後就不需要再做,因為它會記錄在 ~/.claude/settings.json 中。至於 Obsidian,只要在新電腦上開啟 Obsidian,並把 obsidian-vault/ 重新作為 Vault 打開,Daily notes 外掛設定與已啟用狀態就會原封不動沿用。

總結:今天就能照做的最小集合

因為篇幅變長了,所以我把最少要做的事整理成 5 個步驟,方便你直接照抄。

  1. 建立專案資料夾,並在根目錄放入 CLAUDE.mdREADME.md
  2. 建立 obsidian-vault/,再切出 daily/coding/research/docs/references/archive/ 這 6 個資料夾
  3. CLAUDE.md 寫上「各類內容該放哪裡」的表格(光是這樣就會改變 Claude 的行為)
  4. .claude/settings.json 固定 model / effortLevel,並在 .mcp.json 中只啟用必要的 MCP
  5. 在 Obsidian 中將 obsidian-vault/ 開啟為 Vault,並啟用 Daily notes 外掛

文章中介紹的內容都可以直接複製貼上就能運作。等你熟悉之後,也可以在 .claude/skills/ 放入自己的技能,或調整 MCP 的增減,讓它更貼合你的工作方式。

參考連結


原文出處:https://qiita.com/htani0817/items/0cb5e8f91fa64fb9ba8c


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝4   💬4   ❤️2
348
🥈
我愛JS
💬1   ❤️1
10
🥉
Gigi
2
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登