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

299 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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/` 目錄始終是使用者層級的 — 這是預期行為,並非錯誤。