把 Claude Code 變成「可交付」的工程系統:everything-claude-code 戰鬥配置拆解
把 Claude Code 變成「可交付」的工程系統:everything-claude-code 戰鬥配置拆解
你可能已經體驗過:Claude Code 很會寫程式,但要「穩定交付」還差一段距離——格式化、靜態檢查、測試、危險指令阻擋、上下文記憶、工具過載導致 context window 變小……這些都不是靠一句 prompt 就能長期穩定解決的。
https://github.com/affaan-m/everything-claude-code
everything-claude-code 的價值在於:它把作者長期實戰累積的 Claude Code 工作流,整理成一套可安裝、可裁剪的資產(agents / skills / commands / hooks / rules / MCP configs)。你不需要全抄,但它提供了一個「可以拿來改」的基線。
本文目標:用工程角度拆解這套配置,並給你一條「30 分鐘可落地」的導入路線。
這套配置到底在解什麼問題?
我把它歸納成 3 個工程痛點:
- 可重複性:把口頭偏好(例如 TDD、review 清單、提交習慣)固化成 rules/skills/commands。
- 可驗證性:靠 hooks 在關鍵事件自動做檢查,讓「建議」變成「保證」。
- 可擴充性:用 MCP 把外部能力(GitHub、搜尋、資料庫等)接進來,但又要控制工具數量避免 context window 被吃掉。
everything-claude-code 的組件地圖
這個 repo 的核心資產可以理解成一個「可組裝的系統」:
commands/:把常用流程封裝成 Slash Commands(例如/plan、/tdd、/e2e、/code-review、/build-fix、/setup-pm)。agents/:把角色切分成子代理(planner / architect / reviewer / build resolver…),用更小的上下文做更專注的事。skills/:把方法論做成模板(TDD workflow、verification loop、continuous learning、security review…),可以被 commands 或 agents 反覆呼叫。hooks/hooks.json:在 SessionStart/End、PreToolUse/PostToolUse、Stop、PreCompact…這些事件上掛自動化。rules/:永遠遵守的規範(注意:Claude Code plugin 系統目前不支援透過 plugin 分發 rules,需要手動安裝)。mcp-configs/:MCP 伺服器設定樣例(大量配置、少量啟用)。
Hooks:把「手動保養」變成「自動保養」
我認為 hooks 是這套配置最有 ROI 的地方。
Claude Code 的 hooks 可以掛在多個生命週期事件上(例如 PreToolUse、PostToolUse、SessionStart、SessionEnd、PreCompact…),而且可以用 exit code 2 直接阻擋動作(特別適合防止危險 bash 指令)。參考:Claude Code hooks reference。\
你可以想像成:
SessionStart:開工自動載入狀態、提醒今天要做什麼。PostToolUse(Edit/Write):你一改完檔案就自動 format / lint / tsc。PreToolUse(Bash):在 Claude 真的跑指令前做 guardrail(例如擋rm -rf、擋對 production 的危險操作)。PreCompact:compact 前先把必要狀態保存起來。
補充閱讀:有不少使用者分享會用 hooks 來做自動格式化、分析、測試與危險指令阻擋(例如用 PreToolUse 擋破壞性命令)。\
Package manager 偵測:避免「裝錯 / 跑錯」這種低級失誤
這個 repo 提供 package manager 偵測的優先順序(環境變數 → 專案設定 → package.json → lockfile → 全域設定 → fallback),並提供 /setup-pm 協助設定。這對多 repo、多團隊環境很實用:你不想每次都在 prompt 裡提醒「我們用 pnpm」。
MCP:外掛能力很香,但要守住 context window
MCP 的好處是把外部工具整合成標準介面(像 USB-C 之於裝置),Claude Code 可以在需要時呼叫 GitHub/搜尋/資料庫等工具;但 tool 太多會壓縮可用的 context window。
everything-claude-code 的導入建議(我也同意):
- 可以「配置很多」,但每個專案只啟用少量必要的。
- 把 MCP server 的 API key placeholders 先留著,真的需要再補上。
30 分鐘落地:我會這樣導入(最小可用集)
- 用 plugin 安裝(先把 commands/agents/hooks 跑起來)
/plugin marketplace add affaan-m/everything-claude-code
/plugin install everything-claude-code@everything-claude-code
- 只手動補 rules(因為 plugin 不會自動分發 rules)
git clone https://github.com/affaan-m/everything-claude-code.git
cp -r everything-claude-code/rules/* <sub>/.claude/rules/
- 先挑 23 個 hooks(不要一口氣全開)
- PostToolUse:格式化(prettier / gofmt 等)
- PostToolUse:最小靜態檢查(例如
tsc --noEmit或 lint) - PreToolUse:擋破壞性命令(exit code 2)
- 把套件管理器定下來(避免 install/build 命令混亂)
- 用
/setup-pm或設定CLAUDE_PACKAGE_MANAGER
- MCP 先只開「一個你真的會用」(例如搜尋或 GitHub)
結語:它不是「神級設定」,而是一個可以演化的基線
everything-claude-code 最重要的訊息其實是:把 AI coding 從「聊天」推進到「工程系統」,靠的是可版本化、可驗證、可裁剪的工作流資產,而不是更長的 prompt。
如果你只做一件事:先把 hooks 做起來,讓你最常手動做的 2~3 件事自動化。你會立刻感受到 Claude Code 的穩定度提升。
參考資料
- everything-claude-code(GitHub):https://github.com/affaan-m/everything-claude-code
- Claude Code hooks reference:https://code.claude.com/docs/en/hooks
- 使用者分享(hooks 實作思路與案例):https://medium.com/@vignarajj/supercharge-your-development-with-claude-code-hooks-a-deep-dive-into-flutter-and-spring-boot-e330bbb69e47
- MCP 概念與配置示例(入門文章):https://www.codecademy.com/article/how-to-use-model-context-protocol-mcp-with-claude-step-by-step-guide-with-examples
本文最初發布於 HackMD @BASHCAT。
留言
張貼留言