claude-code/claude-zh/skills/configure-ecc/SKILL.md

299 lines
12 KiB
Markdown
Raw Permalink Normal View History

2026-02-27 13:45:37 +00:00
---
name: configure-ecc
description: 「Everything Claude Code」互動式安裝程式 — 引導使用者選擇技能與規範並安裝至使用者層級或專案層級目錄、驗證路徑,並可選擇性優化安裝檔案。
---
# 配置 Everything Claude Code (ECC)
這是一個針對 Everything Claude Code 專案的互動式逐步安裝精靈。使用 `AskUserQuestion` 引導使用者選擇性地安裝技能與規範,隨後驗證正確性並提供優化建議。
## 何時啟用
- 使用者提到「configure ecc」、「install ecc」、「setup everything claude code」或類似詞彙。
- 使用者想要從此專案中選擇性地安裝技能 (Skills) 或規範 (Rules)。
- 使用者想要驗證或修復現有的 ECC 安裝。
- 使用者想要針對其專案優化已安裝的技能或規範。
## 前置條件
在啟用之前Claude Code 必須能夠存取此技能。有兩種引導方式:
1. **透過外掛程式**`/plugin install everything-claude-code` — 外掛程式會自動載入此技能。
2. **手動方式**:僅將此技能複製到 `~/.claude/skills/configure-ecc/SKILL.md`然後說「configure ecc」即可啟用。
---
## 步驟 0複製 ECC 儲存庫
在執行任何安裝之前,先將最新的 ECC 原始碼複製到 `/tmp`
```bash
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`
若目標目錄不存在則建立:
```bash
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執行安裝
針對每個選定的技能,複製整個技能目錄:
```bash
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 個檔案)」
```
執行安裝:
```bash
# 通用規範 (攤平複製到 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驗證檔案是否存在
列出所有已安裝的檔案,確認它們存在於目標位置:
```bash
ls -la $TARGET/skills/
ls -la $TARGET/rules/
```
### 4b檢查路徑參照
掃描所有安裝的 `.md` 檔案中的路徑參照:
```bash
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回報問題
針對發現的每個問題,請回報:
1. **檔案**:包含問題參照的檔案名稱。
2. **行號**:所在的行號。
3. **問題描述**:哪裡出錯(例如:「參照了 ~/.claude/skills/python-patterns但未安裝 python-patterns」
4. **建議修復方式**:該怎麼做(例如:「安裝 python-patterns 技能」或「將路徑更更新為 .claude/skills/」)。
---
## 步驟 5優化已安裝的檔案 (選配)
使用 `AskUserQuestion`
```
問題:「您想要為您的專案優化已安裝的檔案嗎?」
選項:
- 「優化技能」—「移除不相關的部分、調整路徑、針對您的技術棧量身打造」
- 「優化規範」—「調整覆蓋率目標、加入專案特定的模式、自定義工具配置」
- 「優化兩者」—「完整優化所有已安裝的檔案」
- 「跳過」—「保持現狀」
```
### 若要優化技能:
1. 讀取每個安裝的 SKILL.md。
2. 詢問使用者其專案的技術棧(若尚未得知)。
3. 針對每個技能,建議移除不相關的部分。
4. 原地 (In-place) 編輯安裝目標處的 SKILL.md 檔案(而非來源儲存庫)。
5. 修復在步驟 4 中發現的路徑問題。
### 若要優化規範:
1. 讀取每個安裝的規範 .md 檔案。
2. 詢問使用者的偏好:
- 測試覆蓋率目標 (預設 80%)。
- 偏好的格式化工具。
- Git 工作流慣例。
- 安全要求。
3. 原地編輯安裝目標處的規範檔案。
**重要**:僅修改安裝目標 (`$TARGET/`) 中的檔案,**絕對不要** 修改來源 ECC 儲存庫 (`$ECC_ROOT/`) 中的檔案。
---
## 步驟 6安裝摘要
`/tmp` 中清理複製的儲存庫:
```bash
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/` 目錄始終是使用者層級的 — 這是預期行為,並非錯誤。