把 Claude Code 變成「可交付」的工程系統:everything-claude-code 戰鬥配置拆解

把 Claude Code 變成「可交付」的工程系統:everything-claude-code 戰鬥配置拆解

claude-code-ecc-hero

你可能已經體驗過: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 個工程痛點:

  1. 可重複性:把口頭偏好(例如 TDD、review 清單、提交習慣)固化成 rules/skills/commands。
  2. 可驗證性:靠 hooks 在關鍵事件自動做檢查,讓「建議」變成「保證」。
  3. 可擴充性:用 MCP 把外部能力(GitHub、搜尋、資料庫等)接進來,但又要控制工具數量避免 context window 被吃掉。

everything-claude-code 的組件地圖

claude-code-ecc-workflow

這個 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 可以掛在多個生命週期事件上(例如 PreToolUsePostToolUseSessionStartSessionEndPreCompact…),而且可以用 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 分鐘落地:我會這樣導入(最小可用集)

  1. 用 plugin 安裝(先把 commands/agents/hooks 跑起來)
/plugin marketplace add affaan-m/everything-claude-code
/plugin install everything-claude-code@everything-claude-code
  1. 只手動補 rules(因為 plugin 不會自動分發 rules)
git clone https://github.com/affaan-m/everything-claude-code.git
cp -r everything-claude-code/rules/* <sub>/.claude/rules/
  1. 先挑 23 個 hooks(不要一口氣全開)
  • PostToolUse:格式化(prettier / gofmt 等)
  • PostToolUse:最小靜態檢查(例如 tsc --noEmit 或 lint)
  • PreToolUse:擋破壞性命令(exit code 2)
  1. 把套件管理器定下來(避免 install/build 命令混亂)
  • /setup-pm 或設定 CLAUDE_PACKAGE_MANAGER
  1. MCP 先只開「一個你真的會用」(例如搜尋或 GitHub)

結語:它不是「神級設定」,而是一個可以演化的基線

everything-claude-code 最重要的訊息其實是:把 AI coding 從「聊天」推進到「工程系統」,靠的是可版本化、可驗證、可裁剪的工作流資產,而不是更長的 prompt。

如果你只做一件事:先把 hooks 做起來,讓你最常手動做的 2~3 件事自動化。你會立刻感受到 Claude Code 的穩定度提升。


參考資料


本文最初發布於 HackMD @BASHCAT

留言

這個網誌中的熱門文章

Arduino 課本可能沒教的事(1)

SI4432 搭配Arduino

燒錄 Arduino mini Pro 燒錄