12 KiB
| name | description |
|---|---|
| configure-ecc | 「Everything Claude Code」互動式安裝程式 — 引導使用者選擇技能與規範並安裝至使用者層級或專案層級目錄、驗證路徑,並可選擇性優化安裝檔案。 |
配置 Everything Claude Code (ECC)
這是一個針對 Everything Claude Code 專案的互動式逐步安裝精靈。使用 AskUserQuestion 引導使用者選擇性地安裝技能與規範,隨後驗證正確性並提供優化建議。
何時啟用
- 使用者提到「configure ecc」、「install ecc」、「setup everything claude code」或類似詞彙。
- 使用者想要從此專案中選擇性地安裝技能 (Skills) 或規範 (Rules)。
- 使用者想要驗證或修復現有的 ECC 安裝。
- 使用者想要針對其專案優化已安裝的技能或規範。
前置條件
在啟用之前,Claude Code 必須能夠存取此技能。有兩種引導方式:
- 透過外掛程式:
/plugin install everything-claude-code— 外掛程式會自動載入此技能。 - 手動方式:僅將此技能複製到
~/.claude/skills/configure-ecc/SKILL.md,然後說「configure ecc」即可啟用。
步驟 0:複製 ECC 儲存庫
在執行任何安裝之前,先將最新的 ECC 原始碼複製到 /tmp:
rm -rf /tmp/everything-claude-code
git clone https://github.com/affaan-m/everything-claude-code.git /tmp/everything-claude-code
將 ECC_ROOT=/tmp/everything-claude-code 設定為所有後續複製操作的來源。
若複製失敗(網路問題等),請使用 AskUserQuestion 要求使用者提供現有 ECC 複製本的本機路徑。
步驟 1:選擇安裝層級
使用 AskUserQuestion 詢問使用者安裝路徑:
問題:「ECC 組件應安裝在哪裡?」
選項:
- 「使用者層級 (~/.claude/)」—「適用於您所有的 Claude Code 專案」
- 「專案層級 (.claude/)」—「僅適用於目前專案」
- 「兩者皆是」—「通用/共享項目安裝於使用者層級,專案特定項目安裝於專案層級」
將選擇儲存為 INSTALL_LEVEL。設定目標目錄:
- 使用者層級:
TARGET=~/.claude - 專案層級:
TARGET=.claude(相對於目前專案根目錄) - 兩者皆是:
TARGET_USER=~/.claude,TARGET_PROJECT=.claude
若目標目錄不存在則建立:
mkdir -p $TARGET/skills $TARGET/rules
步驟 2:選擇並安裝技能 (Skills)
2a:選擇技能類別
共有 27 個技能,分為 4 個類別。使用 AskUserQuestion 並開啟 multiSelect: true:
問題:「您想要安裝哪些技能類別?」
選項:
- 「框架與語言 (Framework & Language)」—「Django, Spring Boot, Go, Python, Java, 前端, 後端模式」
- 「資料庫 (Database)」—「PostgreSQL, ClickHouse, JPA/Hibernate 模式」
- 「工作流與品質 (Workflow & Quality)」—「TDD, 驗證, 學習, 安全審查, 緊湊化」
- 「所有技能 (All skills)」—「安裝所有可用的技能」
2b:確認個別技能
針對每個選定的類別,列出下方的完整技能清單,並請使用者確認或取消選定特定項目。若清單超過 4 項,請將清單以文字形式列印,並使用 AskUserQuestion 的「安裝所有列出的項目」選項,外加「其他」選項供使用者貼上特定名稱。
類別:框架與語言 (16 個技能)
| 技能 | 描述 |
|---|---|
backend-patterns |
後端架構、API 設計、Node.js/Express/Next.js 伺服器端最佳實踐 |
coding-standards |
TypeScript、JavaScript、React、Node.js 的通用編碼標準 |
django-patterns |
Django 架構、使用 DRF 的 REST API、ORM、快取、信號 (Signals)、中間件 |
django-security |
Django 安全:驗證、CSRF、SQL 注入、XSS 預防 |
django-tdd |
使用 pytest-django, factory_boy, mocking, coverage 進行 Django 測試 |
django-verification |
Django 驗證迴圈:遷移、Linting、測試、安全掃描 |
frontend-patterns |
React、Next.js、狀態管理、效能、UI 模式 |
golang-patterns |
慣用的 Go 模式、建構健全 Go 應用程式的慣例 |
golang-testing |
Go 測試:表格驅動測試、子測試、基準測試、模糊測試 |
java-coding-standards |
Spring Boot 的 Java 編碼標準:命名、不可變性、Optional、Streams |
python-patterns |
Pythonic 慣用法、PEP 8、型別提示、最佳實踐 |
python-testing |
使用 pytest, TDD, fixtures, mocking, parametrization 進行 Python 測試 |
springboot-patterns |
Spring Boot 架構、REST API、分層服務、快取、非同步 |
springboot-security |
Spring Security:身分驗證/授權、驗證、CSRF、金鑰、速率限制 |
springboot-tdd |
使用 JUnit 5, Mockito, MockMvc, Testcontainers 進行 Spring Boot TDD |
springboot-verification |
Spring Boot 驗證:建置、靜態分析、測試、安全掃描 |
類別:資料庫 (3 個技能)
| 技能 | 描述 |
|---|---|
clickhouse-io |
ClickHouse 模式、查詢優化、分析、資料工程 |
jpa-patterns |
JPA/Hibernate 實體設計、關聯、查詢優化、交易 |
postgres-patterns |
PostgreSQL 查詢優化、綱要設計、索引、安全 |
類別:工作流與品質 (8 個技能)
| 技能 | 描述 |
|---|---|
continuous-learning |
從對話工作階段中自動擷取可重用的模式作為已學習技能 |
continuous-learning-v2 |
基於本能的學習並帶有信心評分,會演進為技能/指令/Agent |
eval-harness |
用於評估驅動開發 (EDD) 的正式評估框架 |
iterative-retrieval |
為了解決子 Agent 上下文問題而採取的漸進式上下文精煉 |
security-review |
安全查核清單:驗證、輸入、金鑰、API、支付功能 |
strategic-compact |
在邏輯間隔建議進行手動上下文緊湊化 (Compaction) |
tdd-workflow |
強制執行具備 80% 以上覆蓋率的 TDD:單元、整合、E2E |
verification-loop |
驗證與品質迴圈模式 |
獨立項目
| 技能 | 描述 |
|---|---|
project-guidelines-example |
用於建立專案特定技能的範例範本 |
2c:執行安裝
針對每個選定的技能,複製整個技能目錄:
cp -r $ECC_ROOT/skills/<技能名稱> $TARGET/skills/
註:continuous-learning 與 continuous-learning-v2 包含額外檔案 (config.json, hooks, scripts) — 請確保複製整個目錄,而不僅僅是 SKILL.md。
步驟 3:選擇並安裝規範 (Rules)
使用 AskUserQuestion 並開啟 multiSelect: true:
問題:「您想要安裝哪些規範組?」
選項:
- 「通用規範 (建議)」—「與語言無關的原則:編碼風格、Git 工作流、測試、安全等 (8 個檔案)」
- 「TypeScript/JavaScript」—「TS/JS 模式、鉤子、使用 Playwright 的測試 (5 個檔案)」
- 「Python」—「Python 模式、pytest、black/ruff 格式化 (5 個檔案)」
- 「Go」—「Go 模式、表格驅動測試、gofmt/staticcheck (5 個檔案)」
執行安裝:
# 通用規範 (攤平複製到 rules/ 目錄下)
cp -r $ECC_ROOT/rules/common/* $TARGET/rules/
# 特定語言規範 (攤平複製到 rules/ 目錄下)
cp -r $ECC_ROOT/rules/typescript/* $TARGET/rules/ # 若已選取
cp -r $ECC_ROOT/rules/python/* $TARGET/rules/ # 若已選取
cp -r $ECC_ROOT/rules/golang/* $TARGET/rules/ # 若已選取
重要:若使用者選取了特定語言規範但「未」選取通用規範,請發出警告:
「特定語言規範是通用規範的擴展。不安裝通用規範可能會導致覆蓋範圍不完整。是否也安裝通用規範?」
步驟 4:安裝後驗證
安裝完成後,執行以下自動化檢查:
4a:驗證檔案是否存在
列出所有已安裝的檔案,確認它們存在於目標位置:
ls -la $TARGET/skills/
ls -la $TARGET/rules/
4b:檢查路徑參照
掃描所有安裝的 .md 檔案中的路徑參照:
grep -rn "~/.claude/" $TARGET/skills/ $TARGET/rules/
grep -rn "../common/" $TARGET/rules/
grep -rn "skills/" $TARGET/skills/
對於專案層級的安裝,標記出任何指向 ~/.claude/ 路徑的參照:
- 若技能參照了
~/.claude/settings.json— 這通常沒問題(設定始終是使用者層級)。 - 若技能參照了
~/.claude/skills/或~/.claude/rules/— 若僅安裝在專案層級,這些連結可能會失效。 - 若技能透過名稱參照另一個技能 — 檢查該技能是否也已安裝。
4c:檢查技能間的交叉參照
某些技能會互相參照。請驗證這些依賴關係:
django-tdd可能參照django-patterns。springboot-tdd可能參照springboot-patterns。continuous-learning-v2參照~/.claude/homunculus/目錄。python-testing可能參照python-patterns。golang-testing可能參照golang-patterns。- 特定語言規範會參照對應的
common/檔案。
4d:回報問題
針對發現的每個問題,請回報:
- 檔案:包含問題參照的檔案名稱。
- 行號:所在的行號。
- 問題描述:哪裡出錯(例如:「參照了 ~/.claude/skills/python-patterns,但未安裝 python-patterns」)。
- 建議修復方式:該怎麼做(例如:「安裝 python-patterns 技能」或「將路徑更更新為 .claude/skills/」)。
步驟 5:優化已安裝的檔案 (選配)
使用 AskUserQuestion:
問題:「您想要為您的專案優化已安裝的檔案嗎?」
選項:
- 「優化技能」—「移除不相關的部分、調整路徑、針對您的技術棧量身打造」
- 「優化規範」—「調整覆蓋率目標、加入專案特定的模式、自定義工具配置」
- 「優化兩者」—「完整優化所有已安裝的檔案」
- 「跳過」—「保持現狀」
若要優化技能:
- 讀取每個安裝的 SKILL.md。
- 詢問使用者其專案的技術棧(若尚未得知)。
- 針對每個技能,建議移除不相關的部分。
- 原地 (In-place) 編輯安裝目標處的 SKILL.md 檔案(而非來源儲存庫)。
- 修復在步驟 4 中發現的路徑問題。
若要優化規範:
- 讀取每個安裝的規範 .md 檔案。
- 詢問使用者的偏好:
- 測試覆蓋率目標 (預設 80%)。
- 偏好的格式化工具。
- Git 工作流慣例。
- 安全要求。
- 原地編輯安裝目標處的規範檔案。
重要:僅修改安裝目標 ($TARGET/) 中的檔案,絕對不要 修改來源 ECC 儲存庫 ($ECC_ROOT/) 中的檔案。
步驟 6:安裝摘要
從 /tmp 中清理複製的儲存庫:
rm -rf /tmp/everything-claude-code
隨後列印摘要報告:
## ECC 安裝完成
### 安裝目標
- 層級:[使用者層級 / 專案層級 / 兩者皆是]
- 路徑:[目標路徑]
### 已安裝技能 ([總數])
- 技能 1, 技能 2, 技能 3, ...
### 已安裝規範 ([總數])
- 通用規範 (8 個檔案)
- typescript (5 個檔案)
- ...
### 驗證結果
- 發現 [數字] 個問題,已修復 [數字] 個
- [列出任何剩餘問題]
### 已套用的優化
- [列出所做變更,或顯示「無」]
疑難排解
「Claude Code 未偵測到技能」
- 驗證技能目錄中包含一個
SKILL.md檔案(而非僅有零散的 .md 檔案)。 - 使用者層級:檢查
~/.claude/skills/<技能名稱>/SKILL.md是否存在。 - 專案層級:檢查
.claude/skills/<技能名稱>/SKILL.md是否存在。
「規範無效」
- 規範應該是攤平的檔案,而非放在子目錄中:路徑應為
$TARGET/rules/coding-style.md(正確),而非$TARGET/rules/common/coding-style.md(攤平安裝時不正確)。 - 安裝規範後重啟 Claude Code。
「專案層級安裝後出現路徑參照錯誤」
- 某些技能假設路徑為
~/.claude/。執行步驟 4 的驗證以查找並修復這些問題。 - 對於
continuous-learning-v2,~/.claude/homunculus/目錄始終是使用者層級的 — 這是預期行為,並非錯誤。