ai-skills-hub 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.TW.md ADDED
@@ -0,0 +1,396 @@
1
+ # AI Skills Hub
2
+
3
+ 一個 MCP (Model Context Protocol) 伺服器,可動態載入 Markdown 技能檔案,讓 AI 助手能夠存取您團隊的編碼標準、最佳實踐和技能知識庫。
4
+
5
+ ## 專案架構
6
+
7
+ ```
8
+ ai-skills-hub/
9
+ ├── src/ # --- MCP 伺服器核心 (圖書館管理員) ---
10
+ │ ├── index.ts # 自動掃描 ~/.ai-skills-hub/skills/*/SKILL.md 並轉換為 MCP 工具
11
+ │ ├── cli.ts # CLI 工具入口點
12
+ │ ├── utils.ts # 輔助函數 (Markdown 解析、路徑處理)
13
+ │ └── commands/ # CLI 命令實作
14
+ │ ├── sync.ts # 同步命令
15
+ │ └── check.ts # 檢查命令
16
+ ├── dist/ # [忽略] 編譯後的 JS (實際執行碼)
17
+ ├── package.json # 專案依賴和腳本定義
18
+ ├── tsconfig.json # TypeScript 配置
19
+ └── README.md # 團隊使用手冊
20
+ ```
21
+
22
+ ## 安裝
23
+
24
+ ### 方法 1:使用 npx(推薦)
25
+
26
+ **前置需求:** 此方法需要套件已發布到 npm 註冊表。如果套件尚未發布,請使用方法 2(本地安裝)。
27
+
28
+ 無需安裝,直接使用:
29
+
30
+ ```bash
31
+ # 同步技能庫並配置 AI 工具
32
+ npx ai-skills-hub sync
33
+
34
+ # 檢查狀態
35
+ npx ai-skills-hub check
36
+
37
+ # 列出所有技能
38
+ npx ai-skills-hub list
39
+
40
+ # 查看說明
41
+ npx ai-skills-hub help
42
+ ```
43
+
44
+ **注意:** 如果套件尚未發布到 npm,`npx` 將無法找到它。請先使用方法 2 進行本地安裝,或參考「發布到 npm」章節進行發布。
45
+
46
+ ### 方法 2:本地安裝
47
+
48
+ 1. **複製專案**
49
+ ```bash
50
+ git clone <repository-url>
51
+ cd ai-skills-hub
52
+ ```
53
+
54
+ 2. **安裝依賴**
55
+ ```bash
56
+ npm install
57
+ ```
58
+
59
+ 3. **建置專案**
60
+ ```bash
61
+ npm run build
62
+ ```
63
+
64
+ 4. **使用 CLI 命令**
65
+ ```bash
66
+ # 同步技能庫並配置 AI 工具
67
+ skillshub sync
68
+ # 或使用簡寫
69
+ skillshub s
70
+
71
+ # 檢查狀態
72
+ skillshub check
73
+ # 或使用簡寫
74
+ skillshub c
75
+
76
+ # 列出所有技能
77
+ skillshub list
78
+ # 或使用簡寫
79
+ skillshub l
80
+
81
+ # 查看說明
82
+ skillshub help
83
+ ```
84
+
85
+ ### 方法 3:全域安裝
86
+
87
+ ```bash
88
+ npm install -g ai-skills-hub
89
+ ```
90
+
91
+ 安裝後,您可以從任何目錄使用 `skillshub` 命令。
92
+
93
+ ## CLI 命令
94
+
95
+ ### `skillshub sync` / `skillshub s`
96
+
97
+ 同步並更新 AI 工具配置。此命令將:
98
+ - 編譯 TypeScript 程式碼(在本地開發模式下)
99
+ - 為支援的 AI 工具配置 MCP 設定
100
+
101
+ **注意:** 技能儲存在 `~/.ai-skills-hub/skills/`,不在儲存庫中。使用 `skillshub add` 從儲存庫新增技能。
102
+
103
+ **選項:**
104
+ - `-f, --force`: 即使沒有變更也強制重新編譯
105
+
106
+ **範例:**
107
+ ```bash
108
+ skillshub sync
109
+ skillshub sync --force
110
+ ```
111
+
112
+ ### `skillshub check` / `skillshub c`
113
+
114
+ 檢查 AI 工具安裝狀態和 MCP 配置狀態。
115
+
116
+ 此命令將:
117
+ - 顯示目前已安裝的 AI 工具
118
+ - 顯示已配置 MCP 路由的 AI 工具
119
+ - 提供配置狀態摘要
120
+
121
+ **選項:**
122
+ - `-v, --verbose`: 顯示詳細資訊(版本號、配置檔案路徑、命令等)
123
+
124
+ **範例:**
125
+ ```bash
126
+ skillshub check
127
+ skillshub check --verbose
128
+ ```
129
+
130
+ **輸出圖例:**
131
+ - `✓` 綠色標記:已安裝/已配置
132
+ - `○` 黃色標記:未安裝/未配置
133
+
134
+ ### `skillshub list` / `skillshub l`
135
+
136
+ 列出所有可用技能及其說明。
137
+
138
+ 此命令將:
139
+ - 掃描 `~/.ai-skills-hub/skills/` 目錄中的所有 `SKILL.md` 檔案
140
+ - 顯示每個技能的檔案名稱、工具名稱和說明
141
+ - 提供使用提示
142
+
143
+ **選項:**
144
+ - `-v, --verbose`: 顯示詳細資訊(檔案大小、行數、最後修改時間)
145
+
146
+ **範例:**
147
+ ```bash
148
+ skillshub list
149
+ skillshub list --verbose
150
+ ```
151
+
152
+ **輸出內容:**
153
+ - 檔案名稱(例如:`api-design.md`)
154
+ - 工具名稱(例如:`api_design`)
155
+ - 說明(從 Markdown 檔案的第一個標題中提取)
156
+ - 詳細資訊(詳細模式):檔案大小、行數、修改時間
157
+
158
+ ### `skillshub help`
159
+
160
+ 顯示說明資訊。
161
+
162
+ ## 支援的 AI 工具
163
+
164
+ 此專案支援以下 AI 工具的 MCP 配置:
165
+
166
+ - **Claude Desktop** - Anthropic 的 Claude 桌面應用程式
167
+ - **Cursor** - AI 驅動的程式碼編輯器
168
+ - **OpenAI Codex** - OpenAI 的程式碼助手 CLI
169
+ - **GitHub Copilot CLI** - GitHub 的 AI 程式碼助手
170
+ - **Gemini CLI** - Google 的 Gemini AI CLI 工具
171
+ - **Claude Code CLI** - Anthropic 的 Claude Code 命令列工具
172
+
173
+ ### 各工具的安裝方法
174
+
175
+ #### OpenAI Codex CLI
176
+ ```bash
177
+ npm install -g @openai/codex
178
+ # 設定環境變數
179
+ export OPENAI_API_KEY="your-api-key"
180
+ ```
181
+
182
+ #### GitHub Copilot CLI
183
+ ```bash
184
+ # macOS/Linux (使用 Homebrew)
185
+ brew install copilot-cli
186
+
187
+ # 或使用 npm
188
+ npm install -g @github/copilot-cli
189
+ ```
190
+
191
+ #### Gemini CLI
192
+ ```bash
193
+ npm install -g @google/gemini-cli
194
+ # 登入或設定 API 金鑰
195
+ gemini auth login
196
+ # 或
197
+ export GEMINI_API_KEY="your-api-key"
198
+ ```
199
+
200
+ #### Claude Code CLI
201
+ ```bash
202
+ npm install -g @anthropic-ai/claude-code
203
+ # 設定環境變數
204
+ export ANTHROPIC_API_KEY="your-api-key"
205
+ ```
206
+
207
+ ## 使用方式
208
+
209
+ ### 新增技能
210
+
211
+ 技能儲存在本地的 `~/.ai-skills-hub/skills/`。要新增技能:
212
+
213
+ 1. **手動方法:** 在 `~/.ai-skills-hub/skills/` 中建立目錄(例如:`api-design/`)並在其中新增 `SKILL.md` 檔案
214
+ 2. **使用 CLI:** 使用 `skillshub add <repository-url>` 從 Git 儲存庫新增技能
215
+ 3. 目錄名稱將自動轉換為工具名稱(例如:`api-design/` → `api_design`)
216
+
217
+ ### 技能檔案格式
218
+
219
+ 技能檔案使用標準 Markdown 格式:
220
+
221
+ ```markdown
222
+ # 技能標題
223
+
224
+ 這是技能說明...
225
+
226
+ ## 章節
227
+
228
+ 內容...
229
+
230
+ ### 子章節
231
+
232
+ 更多內容...
233
+ ```
234
+
235
+ - 第一個標題將自動用作工具說明
236
+ - 支援所有標準 Markdown 語法(標題、列表、程式碼區塊等)
237
+
238
+ ### 在 Cursor Agent 中使用 MCP 技能
239
+
240
+ **重要:MCP 工具僅在 Cursor 的 Agent 模式中可用!**
241
+
242
+ 1. **配置 MCP**(如果尚未配置):
243
+ ```bash
244
+ skillshub sync
245
+ ```
246
+
247
+ 2. **重新啟動 Cursor** 以載入新的 MCP 配置
248
+
249
+ 3. **啟用 Agent 模式**:
250
+ - 開啟 Cursor 聊天面板(`Cmd+L` 或 `Ctrl+L`)
251
+ - 切換到 **Agent** 模式(不是 Chat 模式)
252
+
253
+ 4. **使用技能**:
254
+ 在 Agent 模式中,用自然語言詢問,例如:
255
+ ```
256
+ 請使用 api_design 幫我設計一個 RESTful API
257
+ ```
258
+ ```
259
+ 根據 go_concurrency 標準,幫我重構這段程式碼
260
+ ```
261
+
262
+ 詳細說明請參考 [CURSOR_MCP_GUIDE.md](CURSOR_MCP_GUIDE.md)
263
+
264
+ ### 手動測試 MCP 伺服器
265
+
266
+ ```bash
267
+ # 啟動伺服器(使用 stdio 傳輸)
268
+ npm start
269
+ ```
270
+
271
+ 伺服器將透過標準輸入/輸出與 MCP 客戶端通訊。
272
+
273
+ ## 核心元件
274
+
275
+ 🏗️ **核心元件**
276
+
277
+ 1. **~/.ai-skills-hub/skills/*/SKILL.md (技能定義)**
278
+ 技能儲存在每個使用者的主目錄中。每個技能是一個包含 `SKILL.md` 檔案的目錄。
279
+
280
+ **優點:** 工程師只需要用 Markdown 撰寫:「當我需要執行任務 X 時,請遵循步驟 Y,範例如下...」,AI 就能理解。
281
+
282
+ **維護:** 任何會寫 Markdown 的人都可以新增或修改技能。技能可以單獨管理或從共享儲存庫同步。
283
+
284
+ 2. **src/index.ts (動態載入器)**
285
+ 此 MCP 伺服器不再包含特定的業務邏輯。它只做兩件事:
286
+
287
+ - **列出工具 (list_tools):** 掃描 `~/.ai-skills-hub/skills/` 目錄,並將每個技能目錄轉換為 AI 的工具名稱(例如:`api-design/` → `api_design`)。
288
+
289
+ - **傳遞內容 (call_tool):** 當 AI 請求時,從 `~/.ai-skills-hub/skills/` 讀取對應的 `SKILL.md` 內容,並將其作為「背景知識」提供給 AI。
290
+
291
+ 3. **CLI 工具 (skillshub)**
292
+ 此 CLI 工具協助管理技能和 AI 工具配置:
293
+
294
+ - 使用 `skillshub add <url>` 從 Git 儲存庫新增技能到 `~/.ai-skills-hub/skills/`
295
+ - 執行 `skillshub sync` 編譯 TypeScript 程式碼並為 AI 工具配置 MCP 設定
296
+ - 自動為所有支援的 AI 工具配置全域設定(Claude Desktop、Cursor、OpenAI Codex、GitHub Copilot、Gemini CLI、Claude Code CLI)
297
+
298
+ 🔄 **團隊協作工作流程**
299
+
300
+ - **技能儲存庫:** 團隊維護技能儲存庫(例如在 GitHub 上),包含標準化的技能定義。
301
+
302
+ - **新增技能:** 團隊成員 A 使用 `skillshub add <repository-url>` 新增技能儲存庫,將其複製到 `~/.ai-skills-hub/skills/`。
303
+
304
+ - **技能更新:** 當技能儲存庫更新時,團隊成員可以更新本地副本或重新新增技能。
305
+
306
+ - **AI 就緒:** 團隊成員 B 開啟 Cursor 或 Claude 並詢問:「幫我寫一個新的 Service 邏輯」,AI 將主動讀取並採用 `~/.ai-skills-hub/skills/` 中的技能。
307
+
308
+ 🌟 **為什麼這適合擁有 30 個微服務的團隊?**
309
+
310
+ - **無污染:** 這 30 個專案的原始碼不需要任何變更。不需要在每個專案中放置 `.cursorrules` 或 `.claudeprompt`。
311
+
312
+ - **集中化:** 只有一份標準副本。如果您在 30 個專案中各放一份副本,更新它們將是一場災難。
313
+
314
+ - **跨 AI 工具:** 無論團隊成員偏好 Cursor、Claude Desktop、Codex、Copilot、Gemini 還是 Claude Code CLI,只要連接到此 MCP,他們都會讀取相同的「團隊大腦」。
315
+
316
+ ## 開發指南
317
+
318
+ ### 專案腳本
319
+
320
+ - `npm run build` - 將 TypeScript 編譯到 `dist/` 目錄
321
+ - `npm start` - 執行編譯後的 MCP 伺服器
322
+ - `npm run dev` - 監看模式編譯(用於開發)
323
+
324
+ ### 發布到 npm
325
+
326
+ 如果您希望團隊成員能夠使用 `npx ai-skills-hub` 命令,您需要先將套件發布到 npm。
327
+
328
+ **📖 詳細指南:** 請參考 [NPM_PUBLISH_SOP.md](NPM_PUBLISH_SOP.md) 以獲取完整的發布標準作業程序。
329
+
330
+ **快速發布步驟:**
331
+
332
+ 1. **登入 npm**
333
+ ```bash
334
+ npm login
335
+ ```
336
+
337
+ 2. **驗證套件名稱是否可用**
338
+ ```bash
339
+ npm view ai-skills-hub
340
+ ```
341
+ 如果套件名稱已被使用,您需要修改 `package.json` 中的 `name` 欄位。
342
+
343
+ 3. **發布套件**
344
+ ```bash
345
+ npm publish
346
+ ```
347
+
348
+ **注意:** `prepublishOnly` 腳本會自動執行 `npm run build`,確保在發布前編譯最新程式碼。
349
+
350
+ 4. **驗證發布**
351
+ ```bash
352
+ npx ai-skills-hub --version
353
+ ```
354
+
355
+ 發布後,團隊成員可以使用方法 1(npx)安裝和使用此工具。
356
+
357
+ ### 專案結構
358
+
359
+ - `src/index.ts` - MCP 伺服器主程式,實作 `list_tools` 和 `call_tool` 處理器
360
+ - `src/cli.ts` - CLI 工具入口點
361
+ - `src/utils.ts` - 工具函數:目錄掃描、檔案名稱轉換、檔案讀取等
362
+ - `src/commands/` - CLI 命令實作(sync、check、add、list 等)
363
+ - `~/.ai-skills-hub/skills/` - 用於儲存技能 Markdown 檔案的本地目錄(首次使用時建立)
364
+
365
+ ### 貢獻
366
+
367
+ **專案開發:**
368
+ 1. Fork 專案
369
+ 2. 建立功能分支(`git checkout -b feature/amazing-feature`)
370
+ 3. 對 MCP 伺服器或 CLI 工具進行變更
371
+ 4. 提交變更(`git commit -m 'Add amazing feature'`)
372
+ 5. 推送到分支(`git push origin feature/amazing-feature`)
373
+ 6. 開啟 Pull Request
374
+
375
+ **新增技能:**
376
+ 技能在各自的儲存庫中單獨管理。使用者使用 `skillshub add <repository-url>` 新增技能。要建立新的技能儲存庫,請參閱技能儲存庫文件。
377
+
378
+ ### 故障排除
379
+
380
+ #### MCP 伺服器無法啟動
381
+
382
+ - 確認您已執行 `npm run build`
383
+ - 檢查 `dist/index.js` 是否存在
384
+ - 驗證 Node.js 版本為 18+
385
+
386
+ #### AI 工具無法連接到 MCP 伺服器
387
+
388
+ - 確認您已執行 `skillshub sync` 以更新配置
389
+ - 檢查配置檔案路徑是否正確
390
+ - 某些工具可能需要重新啟動以載入新配置
391
+ - 驗證配置檔案中的 MCP 伺服器路徑是否正確
392
+ - 使用 `skillshub check` 檢查配置狀態
393
+
394
+ ## 授權
395
+
396
+ MIT License