@vincent119/go-copilot-rules 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/.agent_agy/INSTALLATION.md +786 -0
- package/.agent_agy/README.md +243 -0
- package/.agent_agy/SKILLS_INDEX.md +516 -0
- package/.agent_agy/rules/go-core.copilot-instructions.md +251 -0
- package/.agent_agy/skills/go-api-design/SKILL.md +535 -0
- package/.agent_agy/skills/go-ci-tooling/SKILL.md +533 -0
- package/.agent_agy/skills/go-configuration/SKILL.md +609 -0
- package/.agent_agy/skills/go-database/SKILL.md +412 -0
- package/.agent_agy/skills/go-ddd/SKILL.md +374 -0
- package/.agent_agy/skills/go-dependency-injection/SKILL.md +546 -0
- package/.agent_agy/skills/go-domain-events/SKILL.md +525 -0
- package/.agent_agy/skills/go-examples/SKILL.md +690 -0
- package/.agent_agy/skills/go-graceful-shutdown/SKILL.md +708 -0
- package/.agent_agy/skills/go-grpc/SKILL.md +484 -0
- package/.agent_agy/skills/go-http-advanced/SKILL.md +494 -0
- package/.agent_agy/skills/go-observability/SKILL.md +684 -0
- package/.agent_agy/skills/go-testing-advanced/SKILL.md +573 -0
- package/LICENSE +21 -0
- package/README.md +176 -0
- package/cli/install.js +344 -0
- package/package.json +47 -0
|
@@ -0,0 +1,786 @@
|
|
|
1
|
+
# 安裝指南
|
|
2
|
+
|
|
3
|
+
本文件說明如何在不同開發環境中使用 `.agent_agy/` 內的 Go 開發規範與 Skills。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🆚 與其他方案比較
|
|
8
|
+
|
|
9
|
+
### 與其他 Skills 方案的差異
|
|
10
|
+
|
|
11
|
+
| 特性 | copilot-rules-kit | antigravity-awesome-skills | Kiro |
|
|
12
|
+
|------|-------------------|----------------------------|------|
|
|
13
|
+
| **安裝方式** | **NPX CLI / Git Submodule/Subtree** | NPX CLI 一鍵安裝 | NPX CLI 一鍵安裝 |
|
|
14
|
+
| **目標場景** | Go 專案開發規範 | 通用 AI Agent Skills(1,300+ 個) | IDE + Skills + Multi-Agent |
|
|
15
|
+
| **Skills 數量** | 13 個專業 Go Skills | 1,300+ 跨領域 Skills | 17 個 Claude Skills + 社群 |
|
|
16
|
+
| **工具支援** | VS Code, Cursor, JetBrains, **Kiro** | Claude Code, Cursor, Gemini CLI, Antigravity 等 | Kiro IDE (基於 AWS Q) |
|
|
17
|
+
| **自動路徑** | 自動偵測 VS Code/Cursor/Kiro | 自動偵測並安裝到正確路徑 | `~/.kiro/skills/` 或專案 `.kiro/skills/` |
|
|
18
|
+
| **Context 管理** | 設計為按需載入 | Bundles + Activation Scripts | Multi-Agent 編排 (oh-my-kiro) |
|
|
19
|
+
| **更新機制** | NPX 重新執行 | NPX 重新執行 | NPX 重新執行 |
|
|
20
|
+
| **客製化** | 直接修改 Skills | 使用 Bundles 選擇需要的 Skills | Spec-driven workflow + Agents |
|
|
21
|
+
| **特色功能** | Go 生態深度整合 | 最大規模 Skills 集合 | Multi-Agent 編排 + MCP 支援 |
|
|
22
|
+
|
|
23
|
+
### copilot-rules-kit 的優勢
|
|
24
|
+
|
|
25
|
+
**✅ 專注於 Go 生態**
|
|
26
|
+
- 深度整合 Go 最佳實踐(DDD、gRPC、Testing)
|
|
27
|
+
- 包含自訂套件(zlogger、commons/graceful)
|
|
28
|
+
- 針對 Go 專案優化的 token 消耗策略
|
|
29
|
+
|
|
30
|
+
**✅ 更輕量**
|
|
31
|
+
- 核心規範 ~2,500 tokens(vs 大量通用 Skills)
|
|
32
|
+
- 13 個精選 Go Skills,按需載入
|
|
33
|
+
- 不需要額外的依賴
|
|
34
|
+
|
|
35
|
+
**✅ 更靈活**
|
|
36
|
+
- Git Submodule/Subtree 更適合團隊協作
|
|
37
|
+
- 可以針對專案客製化規範
|
|
38
|
+
- 容易 fork 並維護私有版本
|
|
39
|
+
- 跨 IDE 支援(VS Code、Cursor、Kiro)
|
|
40
|
+
|
|
41
|
+
### antigravity-awesome-skills 的優勢
|
|
42
|
+
|
|
43
|
+
**✅ 最大規模的 Skills 集合**
|
|
44
|
+
- 1,300+ Skills 涵蓋前後端、測試、安全、DevOps
|
|
45
|
+
- Bundles 機制(Web Wizard、Security Engineer 等)
|
|
46
|
+
- 社群貢獻與官方 Skills 集合
|
|
47
|
+
|
|
48
|
+
**✅ 更成熟的生態**
|
|
49
|
+
- 27k+ GitHub Stars
|
|
50
|
+
- 完整的文件與使用指南
|
|
51
|
+
- Web App 瀏覽介面
|
|
52
|
+
- Activation Scripts 管理 context overload
|
|
53
|
+
|
|
54
|
+
### Kiro 的優勢
|
|
55
|
+
|
|
56
|
+
**✅ IDE + Skills + Multi-Agent 一體化**
|
|
57
|
+
- 內建 IDE(基於 AWS Q/CodeWhisperer)
|
|
58
|
+
- Spec-driven development workflow
|
|
59
|
+
- Multi-Agent 編排(oh-my-kiro:Phantom/Revenant/Wraith)
|
|
60
|
+
|
|
61
|
+
**✅ 進階 Agent 系統**
|
|
62
|
+
- 7 個專業子 Agent(Explorer、Analyst、Implementer 等)
|
|
63
|
+
- 規劃與執行分離(Plan → Execute)
|
|
64
|
+
- MCP (Model Context Protocol) 支援
|
|
65
|
+
|
|
66
|
+
**✅ 完整的生態系統**
|
|
67
|
+
- `kiro-super-skills` - 17 個 Anthropic Claude Skills
|
|
68
|
+
- `oh-my-kiro` - Multi-agent 編排框架
|
|
69
|
+
- `.kiro/` 配置系統(agents、steering、hooks)
|
|
70
|
+
|
|
71
|
+
### 選擇建議
|
|
72
|
+
|
|
73
|
+
**選擇 copilot-rules-kit 如果:**
|
|
74
|
+
- 你的專案主要是 Go
|
|
75
|
+
- 需要深度的 Go 最佳實踐指引(DDD、gRPC、Testing)
|
|
76
|
+
- 想要輕量、專注的規範集
|
|
77
|
+
- 需要整合自訂套件(如 zlogger、graceful)
|
|
78
|
+
- 跨 IDE 工作(VS Code、Cursor、Kiro)
|
|
79
|
+
|
|
80
|
+
**選擇 antigravity-awesome-skills 如果:**
|
|
81
|
+
- 需要跨語言、跨領域的 Skills
|
|
82
|
+
- 希望一鍵安裝到多種 AI 工具
|
|
83
|
+
- 需要社群驗證的通用 Skills(1,300+ 個)
|
|
84
|
+
- 想要 Bundles 與 Workflows
|
|
85
|
+
|
|
86
|
+
**選擇 Kiro 如果:**
|
|
87
|
+
- 需要完整的 IDE + Agent 系統
|
|
88
|
+
- 喜歡 Spec-driven development 工作流程
|
|
89
|
+
- 需要 Multi-Agent 編排(規劃與執行分離)
|
|
90
|
+
- 想要 MCP 工具整合
|
|
91
|
+
- 願意使用新興的 AI IDE
|
|
92
|
+
|
|
93
|
+
**組合使用策略**:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# 策略 1:VS Code/Cursor + antigravity + copilot-rules-kit
|
|
97
|
+
# 通用 Skills(廣度)
|
|
98
|
+
npx antigravity-awesome-skills --path ~/.agent/skills/community
|
|
99
|
+
|
|
100
|
+
# Go 專業規範(深度)
|
|
101
|
+
npx @vincent119/go-copilot-rules --vscode
|
|
102
|
+
|
|
103
|
+
# 策略 2:Kiro + copilot-rules-kit
|
|
104
|
+
# Kiro IDE(完整 Agent 系統)
|
|
105
|
+
npx oh-my-kiro@latest --global
|
|
106
|
+
|
|
107
|
+
# Go 專業規範(深度整合)
|
|
108
|
+
npx @vincent119/go-copilot-rules --path ~/.kiro/skills/go
|
|
109
|
+
|
|
110
|
+
# 策略 3:All-in(最大化)
|
|
111
|
+
# antigravity(通用 Skills)
|
|
112
|
+
npx antigravity-awesome-skills
|
|
113
|
+
|
|
114
|
+
# copilot-rules-kit(Go 深度)
|
|
115
|
+
npx @vincent119/go-copilot-rules
|
|
116
|
+
|
|
117
|
+
# kiro-super-skills(Claude Skills)
|
|
118
|
+
npm install -g kiro-super-skills
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 自動安裝(推薦)
|
|
124
|
+
|
|
125
|
+
**✨ 類似 [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) 的 NPX 一鍵安裝!**
|
|
126
|
+
|
|
127
|
+
### 🎯 使用 NPX(最簡單)
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# 自動偵測並安裝(VS Code、Cursor 或 Kiro)
|
|
131
|
+
npx @vincent119/go-copilot-rules
|
|
132
|
+
|
|
133
|
+
# 安裝到 VS Code
|
|
134
|
+
npx @vincent119/go-copilot-rules --vscode
|
|
135
|
+
|
|
136
|
+
# 安裝到 Cursor
|
|
137
|
+
npx @vincent119/go-copilot-rules --cursor
|
|
138
|
+
|
|
139
|
+
# 安裝到 Kiro(專案)
|
|
140
|
+
npx @vincent119/go-copilot-rules --kiro
|
|
141
|
+
|
|
142
|
+
# 安裝到 Kiro(全域)
|
|
143
|
+
npx @vincent119/go-copilot-rules --kiro-global
|
|
144
|
+
|
|
145
|
+
# 只安裝特定 Skills
|
|
146
|
+
npx @vincent119/go-copilot-rules --skills "go-ddd,go-grpc,go-observability"
|
|
147
|
+
|
|
148
|
+
# 自訂安裝路徑
|
|
149
|
+
npx @vincent119/go-copilot-rules --path ~/.my-copilot-rules
|
|
150
|
+
|
|
151
|
+
# 查看所有選項
|
|
152
|
+
npx @vincent119/go-copilot-rules --help
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**支援的選項**:
|
|
156
|
+
- `--vscode` - 安裝到 `.agent_agy/`(VS Code Copilot 預設路徑)
|
|
157
|
+
- `--cursor` - 安裝到 `.cursor/skills/`(Cursor 預設路徑)
|
|
158
|
+
- `--kiro` - 安裝到 `.kiro/skills/`(Kiro 專案路徑)
|
|
159
|
+
- `--kiro-global` - 安裝到 `~/.kiro/skills/`(Kiro 全域路徑)
|
|
160
|
+
- `--path <dir>` - 安裝到自訂路徑
|
|
161
|
+
- `--core-only` - 只安裝核心規範(不包含 Skills)
|
|
162
|
+
- `--skills-only` - 只安裝 Skills(不包含核心規範)
|
|
163
|
+
- `--skills <list>` - 只安裝特定 Skills(逗號分隔)
|
|
164
|
+
|
|
165
|
+
### 🚀 使用安裝腳本(替代方案)
|
|
166
|
+
|
|
167
|
+
如果你不想使用 NPX,也可以直接執行安裝腳本:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# 方法 1:一鍵安裝(從 GitHub 直接執行)
|
|
171
|
+
bash <(curl -s https://raw.githubusercontent.com/vincent119/copilot-rules-kit/main/scripts/quick-install.sh)
|
|
172
|
+
|
|
173
|
+
# 方法 2:Clone 後手動安裝
|
|
174
|
+
git clone https://github.com/vincent119/copilot-rules-kit.git /tmp/copilot-rules-kit
|
|
175
|
+
cd /tmp/copilot-rules-kit
|
|
176
|
+
|
|
177
|
+
# VS Code
|
|
178
|
+
./scripts/install-skills.sh --vscode
|
|
179
|
+
|
|
180
|
+
# Cursor
|
|
181
|
+
./scripts/install-skills.sh --cursor
|
|
182
|
+
|
|
183
|
+
# 只安裝特定 Skills
|
|
184
|
+
./scripts/install-skills.sh --skills "go-ddd,go-grpc,go-testing-advanced"
|
|
185
|
+
|
|
186
|
+
# 查看所有選項
|
|
187
|
+
./scripts/install-skills.sh --help
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## VS Code
|
|
193
|
+
|
|
194
|
+
### 方法 1:直接複製到專案
|
|
195
|
+
|
|
196
|
+
**適用場景**:單一專案、需要客製化規範
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# 在你的 Go 專案根目錄
|
|
200
|
+
cp -r /path/to/copilot-rules-kit/.agent_agy .
|
|
201
|
+
|
|
202
|
+
# 或者只複製核心規範
|
|
203
|
+
mkdir -p .github/copilot
|
|
204
|
+
cp .agent_agy/rules/go-core.copilot-instructions.md .github/copilot/
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**優點**:
|
|
208
|
+
- 簡單直接
|
|
209
|
+
- 可以針對專案客製化
|
|
210
|
+
- 不需要額外的 Git 配置
|
|
211
|
+
|
|
212
|
+
**缺點**:
|
|
213
|
+
- 規範更新需要手動同步
|
|
214
|
+
- 多專案維護麻煩
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### 方法 2:使用 Git Submodule
|
|
219
|
+
|
|
220
|
+
**適用場景**:多個專案共用、希望規範集中管理
|
|
221
|
+
|
|
222
|
+
#### 新增 Submodule
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# 在你的 Go 專案根目錄
|
|
226
|
+
git submodule add https://github.com/vincent119/copilot-rules-kit.git .copilot-rules
|
|
227
|
+
|
|
228
|
+
# 建立符號連結(讓 Copilot 能找到)
|
|
229
|
+
ln -s .copilot-rules/.agent_agy .agent_agy
|
|
230
|
+
|
|
231
|
+
# 提交變更
|
|
232
|
+
git add .gitmodules .copilot-rules .agent_agy
|
|
233
|
+
git commit -m "chore: add copilot rules as submodule"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
#### 更新 Submodule
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# 拉取最新規範
|
|
240
|
+
git submodule update --remote .copilot-rules
|
|
241
|
+
git commit -am "chore: update copilot rules"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
#### Clone 專案時初始化 Submodule
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
# 方法 1:clone 時一併初始化
|
|
248
|
+
git clone --recurse-submodules <your-repo-url>
|
|
249
|
+
|
|
250
|
+
# 方法 2:clone 後手動初始化
|
|
251
|
+
git clone <your-repo-url>
|
|
252
|
+
cd <your-repo>
|
|
253
|
+
git submodule init
|
|
254
|
+
git submodule update
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**優點**:
|
|
258
|
+
- 多專案共用,維護方便
|
|
259
|
+
- 規範更新只需 pull
|
|
260
|
+
- 保持獨立版本控制
|
|
261
|
+
|
|
262
|
+
**缺點**:
|
|
263
|
+
- 需要理解 Git Submodule
|
|
264
|
+
- Clone 專案需要額外步驟
|
|
265
|
+
- 符號連結在 Windows 可能有問題
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
### 方法 3:使用 Git Subtree
|
|
270
|
+
|
|
271
|
+
**適用場景**:希望內嵌到專案、不想處理 Submodule
|
|
272
|
+
|
|
273
|
+
#### 新增 Subtree
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
# 在你的 Go 專案根目錄
|
|
277
|
+
git subtree add --prefix .copilot-rules \
|
|
278
|
+
https://github.com/vincent119/copilot-rules-kit.git main --squash
|
|
279
|
+
|
|
280
|
+
# 建立符號連結
|
|
281
|
+
ln -s .copilot-rules/.agent_agy .agent_agy
|
|
282
|
+
git add .agent_agy
|
|
283
|
+
git commit -m "chore: add copilot rules symlink"
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
#### 更新 Subtree
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
# 拉取最新規範
|
|
290
|
+
git subtree pull --prefix .copilot-rules \
|
|
291
|
+
https://github.com/vincent119/copilot-rules-kit.git main --squash
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**優點**:
|
|
295
|
+
- Clone 專案時自動包含規範(無需額外步驟)
|
|
296
|
+
- 比 Submodule 簡單
|
|
297
|
+
- 可選擇性合併上游更新
|
|
298
|
+
|
|
299
|
+
**缺點**:
|
|
300
|
+
- 更新操作稍複雜
|
|
301
|
+
- 歷史記錄會變大
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
### 方法 4:符號連結(本地開發)
|
|
306
|
+
|
|
307
|
+
**適用場景**:本地多個專案共用、不想提交到 Git
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
# 在你的 Go 專案根目錄
|
|
311
|
+
ln -s /path/to/copilot-rules-kit/.agent_agy .agent_agy
|
|
312
|
+
|
|
313
|
+
# 忽略符號連結(不提交到 Git)
|
|
314
|
+
echo ".agent_agy" >> .gitignore
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**優點**:
|
|
318
|
+
- 最簡單
|
|
319
|
+
- 所有專案即時同步
|
|
320
|
+
- 不污染 Git 歷史
|
|
321
|
+
|
|
322
|
+
**缺點**:
|
|
323
|
+
- 僅限本地開發
|
|
324
|
+
- 其他開發者無法使用
|
|
325
|
+
- Windows 需要管理員權限建立符號連結
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## 在不同專案中選擇性載入 Skills
|
|
330
|
+
|
|
331
|
+
### 情境 1:只需核心規範
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
# 只複製核心規範檔案
|
|
335
|
+
mkdir -p .github/copilot
|
|
336
|
+
cp /path/to/copilot-rules-kit/.agent_agy/rules/go-core.copilot-instructions.md \
|
|
337
|
+
.github/copilot/go-core.copilot-instructions.md
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### 情境 2:只需特定 Skills
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
# 建立 Skills 目錄
|
|
344
|
+
mkdir -p .agent_agy/skills
|
|
345
|
+
|
|
346
|
+
# 只複製需要的 Skills
|
|
347
|
+
cp -r /path/to/copilot-rules-kit/.agent_agy/skills/go-ddd \
|
|
348
|
+
.agent_agy/skills/
|
|
349
|
+
cp -r /path/to/copilot-rules-kit/.agent_agy/skills/go-grpc \
|
|
350
|
+
.agent_agy/skills/
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Kiro IDE
|
|
356
|
+
|
|
357
|
+
### 方法 1:NPX 安裝(推薦)
|
|
358
|
+
|
|
359
|
+
**專案級別安裝**:
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
# 在你的專案根目錄
|
|
363
|
+
npx @vincent119/go-copilot-rules --kiro
|
|
364
|
+
|
|
365
|
+
# 或之後在 Kiro 中執行
|
|
366
|
+
npx oh-my-kiro@latest # 選擇性安裝 oh-my-kiro(Multi-Agent 系統)
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
**全域安裝**(所有專案可用):
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
# 安裝到 ~/.kiro/skills/
|
|
373
|
+
npx @vincent119/go-copilot-rules --kiro-global
|
|
374
|
+
|
|
375
|
+
# 配合 oh-my-kiro 使用
|
|
376
|
+
npx oh-my-kiro@latest --global
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### 方法 2:手動複製
|
|
380
|
+
|
|
381
|
+
```bash
|
|
382
|
+
# 專案級別
|
|
383
|
+
cp -r /path/to/copilot-rules-kit/.agent_agy/skills/* .kiro/skills/
|
|
384
|
+
|
|
385
|
+
# 全域級別
|
|
386
|
+
mkdir -p ~/.kiro/skills
|
|
387
|
+
cp -r /path/to/copilot-rules-kit/.agent_agy/skills/* ~/.kiro/skills/
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
### 驗證安裝
|
|
391
|
+
|
|
392
|
+
1. 打開 Kiro IDE
|
|
393
|
+
2. 在專案中按 `ctrl+e` 啟動 Wraith(直接任務執行器)
|
|
394
|
+
3. 輸入:「這個專案有哪些 Go Skills 可用?」
|
|
395
|
+
4. Kiro 應該會列出 13 個 Go Skills
|
|
396
|
+
|
|
397
|
+
### 與 oh-my-kiro 結合使用
|
|
398
|
+
|
|
399
|
+
[oh-my-kiro](https://www.npmjs.com/package/oh-my-kiro) 是 Kiro 的 Multi-Agent 編排系統,可與本 Skills 完美結合:
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
# 1. 安裝 oh-my-kiro(Multi-Agent 系統)
|
|
403
|
+
npx oh-my-kiro@latest --global
|
|
404
|
+
|
|
405
|
+
# 2. 安裝 Go Skills
|
|
406
|
+
npx @vincent119/go-copilot-rules --kiro-global
|
|
407
|
+
|
|
408
|
+
# 3. 在 Kiro 中使用
|
|
409
|
+
# - ctrl+p: Phantom(規劃 Agent)使用 go-ddd 規劃 DDD 架構
|
|
410
|
+
# - ctrl+a: Revenant(執行 Agent)使用 go-grpc 實作 gRPC 服務
|
|
411
|
+
# - ctrl+e: Wraith(直接執行)使用 go-testing-advanced 撰寫測試
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
**工作流程範例**:
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
1. 使用 Phantom(ctrl+p)規劃一個 gRPC 微服務
|
|
418
|
+
→ ghost-analyst 分析需求時自動觸發 go-ddd Skill
|
|
419
|
+
→ ghost-explorer 探索現有代碼時使用 go-grpc Skill
|
|
420
|
+
|
|
421
|
+
2. Phantom 產出計劃(.kiro/plans/grpc-service.md)
|
|
422
|
+
|
|
423
|
+
3. 使用 Revenant(ctrl+a)執行計劃
|
|
424
|
+
→ ghost-implementer 實作時自動使用 go-grpc、go-observability Skills
|
|
425
|
+
→ ghost-reviewer 審查時參考 go-testing-advanced Skill
|
|
426
|
+
|
|
427
|
+
4. 使用 Wraith(ctrl+e)快速修正
|
|
428
|
+
→ 「使用 zlogger 加入結構化日誌」(自動觸發 go-observability)
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### Kiro Skills 路徑優先級
|
|
432
|
+
|
|
433
|
+
Kiro 會依序搜尋 Skills:
|
|
434
|
+
|
|
435
|
+
1. 專案級別:`.kiro/skills/`(優先)
|
|
436
|
+
2. 全域級別:`~/.kiro/skills/`
|
|
437
|
+
|
|
438
|
+
建議策略:
|
|
439
|
+
- **全域安裝** go-copilot-rules(所有 Go 專案共用)
|
|
440
|
+
- **專案安裝** 自訂 Skills(專案特定需求)
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
## 其他 IDE
|
|
445
|
+
|
|
446
|
+
### JetBrains IDEs(GoLand、IntelliJ IDEA)
|
|
447
|
+
|
|
448
|
+
**支援狀態**:部分支援
|
|
449
|
+
|
|
450
|
+
JetBrains IDEs 的 GitHub Copilot 插件支援 `.github/copilot/` 目錄下的 `copilot-instructions.md`,但 **Skills 機制支援有限**。
|
|
451
|
+
|
|
452
|
+
**建議配置**:
|
|
453
|
+
|
|
454
|
+
```bash
|
|
455
|
+
# 將核心規範放到 JetBrains 能識別的位置
|
|
456
|
+
mkdir -p .github/copilot
|
|
457
|
+
cp .agent_agy/rules/go-core.copilot-instructions.md \
|
|
458
|
+
.github/copilot/go-copilot-instructions.md
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**限制**:
|
|
462
|
+
- 無法使用 Skills 的按需載入機制
|
|
463
|
+
- 建議將常用規範合併為單一檔案
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
### Cursor
|
|
468
|
+
|
|
469
|
+
**支援狀態**:完整支援
|
|
470
|
+
|
|
471
|
+
Cursor 基於 VS Code,完整支援 Copilot Skills 機制。使用方式與 VS Code 相同:
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
# 直接複製或建立符號連結
|
|
475
|
+
cp -r /path/to/copilot-rules-kit/.agent_agy .
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
### Neovim / Vim
|
|
481
|
+
|
|
482
|
+
**支援狀態**:有限支援
|
|
483
|
+
|
|
484
|
+
使用 [copilot.vim](https://github.com/github/copilot.vim) 或 [copilot.lua](https://github.com/zbirenbaum/copilot.lua):
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
# 將核心規範放到專案根目錄
|
|
488
|
+
cp .agent_agy/rules/go-core.copilot-instructions.md \
|
|
489
|
+
.copilot-instructions.md
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
**限制**:
|
|
493
|
+
- Copilot.vim 對自訂指令支援有限
|
|
494
|
+
- 建議使用簡化版規範
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
## GitHub Copilot CLI
|
|
499
|
+
|
|
500
|
+
**支援狀態**:不直接支援
|
|
501
|
+
|
|
502
|
+
GitHub Copilot CLI (`gh copilot`) 目前不支援讀取專案內的自訂規範。
|
|
503
|
+
|
|
504
|
+
**替代方案**:
|
|
505
|
+
|
|
506
|
+
1. **在 Prompt 中包含規範**:
|
|
507
|
+
```bash
|
|
508
|
+
gh copilot suggest "根據 DDD 規範,實作一個 User Aggregate"
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
2. **使用 Shell Alias**:
|
|
512
|
+
```bash
|
|
513
|
+
# ~/.zshrc or ~/.bashrc
|
|
514
|
+
alias ghc-ddd='gh copilot suggest --context "遵循 DDD 規範:Aggregate Root 包含 ID/Version,使用 Functional Options"'
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
---
|
|
518
|
+
|
|
519
|
+
## 驗證安裝
|
|
520
|
+
|
|
521
|
+
### VS Code
|
|
522
|
+
|
|
523
|
+
1. 打開專案內的任何 `.go` 檔案
|
|
524
|
+
2. 觸發 Copilot Chat(快捷鍵:`Cmd/Ctrl + I`)
|
|
525
|
+
3. 詢問:「這個專案有哪些 Copilot Skills?」
|
|
526
|
+
4. 應該會列出 `go-ddd`、`go-grpc` 等 Skills
|
|
527
|
+
|
|
528
|
+
### 測試核心規範
|
|
529
|
+
|
|
530
|
+
在 Go 檔案中輸入:
|
|
531
|
+
|
|
532
|
+
```go
|
|
533
|
+
func GetUser(id string) {
|
|
534
|
+
// Copilot 應該建議錯誤處理:(user User, err error)
|
|
535
|
+
}
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
Copilot 應該自動建議修正為:
|
|
539
|
+
```go
|
|
540
|
+
func GetUser(id string) (User, error) {
|
|
541
|
+
// ...
|
|
542
|
+
}
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
### 測試 Skills 觸發
|
|
546
|
+
|
|
547
|
+
在 Copilot Chat 輸入:
|
|
548
|
+
|
|
549
|
+
```
|
|
550
|
+
如何實作 DDD 的 Aggregate Root?
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
應該會觸發 `go-ddd` Skill 並提供詳細指引。
|
|
554
|
+
|
|
555
|
+
---
|
|
556
|
+
|
|
557
|
+
## 團隊協作建議
|
|
558
|
+
|
|
559
|
+
### 方案 1:Submodule(推薦)
|
|
560
|
+
|
|
561
|
+
**適合**:多專案團隊、規範統一管理
|
|
562
|
+
|
|
563
|
+
```bash
|
|
564
|
+
# 團隊規範 Repo
|
|
565
|
+
https://github.com/your-org/copilot-rules-kit
|
|
566
|
+
|
|
567
|
+
# 各專案引用
|
|
568
|
+
git submodule add https://github.com/your-org/copilot-rules-kit .copilot-rules
|
|
569
|
+
ln -s .copilot-rules/.agent_agy .agent_agy
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### 方案 2:內部 Package
|
|
573
|
+
|
|
574
|
+
**適合**:大型組織、需要嚴格版本控制
|
|
575
|
+
|
|
576
|
+
```bash
|
|
577
|
+
# 發布為內部 Go Module(僅文件)
|
|
578
|
+
module github.com/your-org/go-standards
|
|
579
|
+
|
|
580
|
+
# 各專案透過 go install 安裝配置腳本
|
|
581
|
+
go install github.com/your-org/go-standards/setup@latest
|
|
582
|
+
setup install-copilot-rules
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
### 方案 3:各專案獨立維護
|
|
586
|
+
|
|
587
|
+
**適合**:小團隊、專案差異大
|
|
588
|
+
|
|
589
|
+
```bash
|
|
590
|
+
# 各專案自行維護 .agent_agy/
|
|
591
|
+
# 定期同步主規範 Repo 的更新
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
## 常見問題
|
|
597
|
+
|
|
598
|
+
### Q: NPX 與 Bash 腳本有何差異?
|
|
599
|
+
|
|
600
|
+
**A**:
|
|
601
|
+
- **NPX 方式**(`npx @vincent119/go-copilot-rules`):
|
|
602
|
+
- ✅ 最簡單,無需 Clone 專案
|
|
603
|
+
- ✅ 自動獲取最新版本
|
|
604
|
+
- ✅ 跨平台支援
|
|
605
|
+
- ⚠️ 需要 npm/npx 環境
|
|
606
|
+
|
|
607
|
+
- **Bash 腳本方式**(`quick-install.sh`):
|
|
608
|
+
- ✅ 無需 npm 環境
|
|
609
|
+
- ✅ 可離線使用(Clone 後)
|
|
610
|
+
- ✅ 更靈活的客製化
|
|
611
|
+
- ⚠️ 需要 Git 環境
|
|
612
|
+
|
|
613
|
+
**建議**:如果有 npm,優先使用 NPX;否則使用 Bash 腳本。
|
|
614
|
+
|
|
615
|
+
### 快速安裝腳本範例(已實現)
|
|
616
|
+
|
|
617
|
+
建立 `install-go-rules.sh`:
|
|
618
|
+
|
|
619
|
+
```bash
|
|
620
|
+
#!/bin/bash
|
|
621
|
+
# Go Copilot Rules 快速安裝腳本
|
|
622
|
+
|
|
623
|
+
set -e
|
|
624
|
+
|
|
625
|
+
REPO="https://github.com/vincent119/copilot-rules-kit.git"
|
|
626
|
+
TEMP_DIR="/tmp/copilot-rules-kit-$$"
|
|
627
|
+
TARGET_DIR="${1:-.agent_agy}"
|
|
628
|
+
|
|
629
|
+
echo "📦 下載 Go Copilot Rules..."
|
|
630
|
+
git clone --depth 1 "$REPO" "$TEMP_DIR"
|
|
631
|
+
|
|
632
|
+
echo "📋 複製 Skills 到 $TARGET_DIR..."
|
|
633
|
+
mkdir -p "$TARGET_DIR"
|
|
634
|
+
cp -r "$TEMP_DIR/.agent_agy/"* "$TARGET_DIR/"
|
|
635
|
+
|
|
636
|
+
echo "🧹 清理暫存檔案..."
|
|
637
|
+
rm -rf "$TEMP_DIR"
|
|
638
|
+
|
|
639
|
+
echo "✅ 安裝完成!"
|
|
640
|
+
echo ""
|
|
641
|
+
echo "📖 查看可用的 Skills:"
|
|
642
|
+
ls -1 "$TARGET_DIR/skills/"
|
|
643
|
+
echo ""
|
|
644
|
+
echo "💡 開始使用:"
|
|
645
|
+
echo " 1. 在 Copilot Chat 輸入:'這個專案有哪些 Skills?'"
|
|
646
|
+
echo " 2. 試試看:'如何實作 DDD Aggregate Root?'(會觸發 go-ddd Skill)"
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
使用方式:
|
|
650
|
+
|
|
651
|
+
```bash
|
|
652
|
+
# 安裝到預設位置(.agent_agy/)
|
|
653
|
+
bash install-go-rules.sh
|
|
654
|
+
|
|
655
|
+
# 安裝到自訂位置
|
|
656
|
+
bash install-go-rules.sh ~/.agent/skills/go
|
|
657
|
+
|
|
658
|
+
# 或從網路直接執行
|
|
659
|
+
bash <(curl -s https://raw.githubusercontent.com/vincent119/copilot-rules-kit/main/scripts/quick-install.sh)
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
---
|
|
663
|
+
|
|
664
|
+
### Q: 符號連結在 Windows 是否可用?
|
|
665
|
+
|
|
666
|
+
**A**: 需要以管理員身份執行,或啟用開發者模式:
|
|
667
|
+
|
|
668
|
+
```powershell
|
|
669
|
+
# PowerShell (管理員)
|
|
670
|
+
New-Item -ItemType SymbolicLink -Path .agent_agy -Target C:\path\to\copilot-rules-kit\.agent_agy
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
或使用 Git Bash(需開啟符號連結支援)。
|
|
674
|
+
|
|
675
|
+
---
|
|
676
|
+
|
|
677
|
+
### Q: Submodule 與 Subtree 如何選擇?
|
|
678
|
+
|
|
679
|
+
| 特性 | Submodule | Subtree |
|
|
680
|
+
|----------------|----------------|----------------|
|
|
681
|
+
| Clone 便利性 | 需額外步驟 | 自動包含 |
|
|
682
|
+
| 更新操作 | 簡單 | 稍複雜 |
|
|
683
|
+
| 獨立版本控制 | ✅ | ❌ |
|
|
684
|
+
| 歷史記錄大小 | 小 | 大 |
|
|
685
|
+
| 團隊協作 | 需要理解機制 | 較簡單 |
|
|
686
|
+
|
|
687
|
+
**建議**:
|
|
688
|
+
- 團隊熟悉 Git → Submodule
|
|
689
|
+
- 希望簡化流程 → Subtree
|
|
690
|
+
|
|
691
|
+
---
|
|
692
|
+
|
|
693
|
+
### Q: 可以混用多個規範來源嗎?
|
|
694
|
+
|
|
695
|
+
**A**: 可以。Copilot 會合併所有找到的規範:
|
|
696
|
+
|
|
697
|
+
```
|
|
698
|
+
project/
|
|
699
|
+
├── .agent_agy/ # 來自 copilot-rules-kit
|
|
700
|
+
│ ├── rules/go-core.copilot-instructions.md
|
|
701
|
+
│ └── skills/...
|
|
702
|
+
└── .github/copilot/
|
|
703
|
+
└── project-specific.copilot-instructions.md # 專案特定規範
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
---
|
|
707
|
+
|
|
708
|
+
### Q: 如何避免 Token 消耗過多?
|
|
709
|
+
|
|
710
|
+
**A**:
|
|
711
|
+
1. 只安裝需要的 Skills(選擇性複製)
|
|
712
|
+
2. 根據專案類型定製:
|
|
713
|
+
- **HTTP API 專案**:go-http-advanced、go-api-design
|
|
714
|
+
- **gRPC 微服務**:go-grpc、go-ddd、go-observability
|
|
715
|
+
- **CLI 工具**:go-core + go-configuration
|
|
716
|
+
|
|
717
|
+
---
|
|
718
|
+
|
|
719
|
+
## 更新日誌
|
|
720
|
+
|
|
721
|
+
- **2026-03-23**:建立安裝指南
|
|
722
|
+
- **2026-03-23**:新增與 antigravity-awesome-skills 的比較
|
|
723
|
+
- **2026-03-23**:提供快速安裝腳本範例
|
|
724
|
+
|
|
725
|
+
---
|
|
726
|
+
|
|
727
|
+
## 未來計劃
|
|
728
|
+
|
|
729
|
+
根據 [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills) 的最佳實踐,我們計劃持續改進:
|
|
730
|
+
|
|
731
|
+
### ✅ 已完成(V1.0)
|
|
732
|
+
|
|
733
|
+
**NPX 安裝工具**
|
|
734
|
+
```bash
|
|
735
|
+
# ✅ 已實現:自動偵測 IDE 並安裝到正確位置
|
|
736
|
+
npx @vincent119/go-copilot-rules
|
|
737
|
+
|
|
738
|
+
# ✅ 已實現:針對特定工具安裝
|
|
739
|
+
npx @vincent119/go-copilot-rules --vscode
|
|
740
|
+
npx @vincent119/go-copilot-rules --cursor
|
|
741
|
+
npx @vincent119/go-copilot-rules --path ~/.my-skills
|
|
742
|
+
|
|
743
|
+
# ✅ 已實現:選擇性安裝 Skills
|
|
744
|
+
npx @vincent119/go-copilot-rules --skills "go-ddd,go-grpc"
|
|
745
|
+
|
|
746
|
+
# ✅ 已實現:只安裝核心規範
|
|
747
|
+
npx @vincent119/go-copilot-rules --core-only
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
### 🔄 進行中(V2.0)
|
|
751
|
+
|
|
752
|
+
**2. Context 管理機制**
|
|
753
|
+
```bash
|
|
754
|
+
# 只啟用特定 Skills(節省 token)
|
|
755
|
+
./scripts/activate-skills.sh go-ddd go-grpc go-testing-advanced
|
|
756
|
+
|
|
757
|
+
# 啟用 Bundles
|
|
758
|
+
./scripts/activate-skills.sh --bundle backend-api
|
|
759
|
+
./scripts/activate-skills.sh --bundle microservices
|
|
760
|
+
|
|
761
|
+
# 重置回全部 Skills
|
|
762
|
+
./scripts/activate-skills.sh --reset
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
**3. Bundles 預設集**
|
|
766
|
+
- **Backend API**:go-http-advanced, go-api-design, go-database, go-observability
|
|
767
|
+
- **Microservices**:go-grpc, go-ddd, go-graceful-shutdown, go-configuration
|
|
768
|
+
- **Testing**:go-testing-advanced, go-examples
|
|
769
|
+
- **DevOps**:go-ci-tooling, go-configuration, go-graceful-shutdown
|
|
770
|
+
|
|
771
|
+
**4. VS Code Extension(考慮中)**
|
|
772
|
+
- 視覺化 Skills 管理
|
|
773
|
+
- 一鍵啟用/停用 Skills
|
|
774
|
+
- Skills 觸發統計
|
|
775
|
+
- 客製化規範編輯器
|
|
776
|
+
|
|
777
|
+
### 📝 貢獻
|
|
778
|
+
|
|
779
|
+
如果你想幫助實現這些功能:
|
|
780
|
+
1. [提 Issue](https://github.com/vincent119/copilot-rules-kit/issues/new) 討論需求
|
|
781
|
+
2. Fork 專案並送 PR
|
|
782
|
+
3. 分享你的使用經驗與改進建議
|
|
783
|
+
|
|
784
|
+
---
|
|
785
|
+
|
|
786
|
+
## 更新日誌
|