universal-dev-standards 3.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/LICENSE +21 -0
- package/README.md +248 -0
- package/bin/uds.js +56 -0
- package/package.json +63 -0
- package/src/commands/check.js +149 -0
- package/src/commands/configure.js +221 -0
- package/src/commands/init.js +665 -0
- package/src/commands/list.js +100 -0
- package/src/commands/update.js +186 -0
- package/src/index.js +7 -0
- package/src/prompts/init.js +702 -0
- package/src/prompts/integrations.js +453 -0
- package/src/utils/copier.js +143 -0
- package/src/utils/detector.js +159 -0
- package/src/utils/github.js +508 -0
- package/src/utils/integration-generator.js +1694 -0
- package/src/utils/registry.js +207 -0
- package/standards-registry.json +658 -0
|
@@ -0,0 +1,658 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"lastUpdated": "2025-12-30",
|
|
5
|
+
"description": "Standards registry for universal-dev-standards with integrated skills and AI-optimized formats",
|
|
6
|
+
"formats": {
|
|
7
|
+
"ai": {
|
|
8
|
+
"name": "AI-Optimized",
|
|
9
|
+
"description": "Token-optimized YAML format for AI assistants",
|
|
10
|
+
"extension": ".ai.yaml",
|
|
11
|
+
"basePath": "ai/"
|
|
12
|
+
},
|
|
13
|
+
"human": {
|
|
14
|
+
"name": "Human-Readable",
|
|
15
|
+
"description": "Full Markdown format for human readers",
|
|
16
|
+
"extension": ".md",
|
|
17
|
+
"basePath": "core/"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"optionCategories": {
|
|
21
|
+
"workflow": {
|
|
22
|
+
"name": "Branching Strategy",
|
|
23
|
+
"nameZh": "分支策略",
|
|
24
|
+
"appliesTo": ["git-workflow"]
|
|
25
|
+
},
|
|
26
|
+
"merge_strategy": {
|
|
27
|
+
"name": "Merge Strategy",
|
|
28
|
+
"nameZh": "合併策略",
|
|
29
|
+
"appliesTo": ["git-workflow"]
|
|
30
|
+
},
|
|
31
|
+
"commit_language": {
|
|
32
|
+
"name": "Commit Message Language",
|
|
33
|
+
"nameZh": "提交訊息語言",
|
|
34
|
+
"appliesTo": ["commit-message"]
|
|
35
|
+
},
|
|
36
|
+
"test_level": {
|
|
37
|
+
"name": "Test Level",
|
|
38
|
+
"nameZh": "測試層級",
|
|
39
|
+
"appliesTo": ["testing"]
|
|
40
|
+
},
|
|
41
|
+
"project_language": {
|
|
42
|
+
"name": "Project Language",
|
|
43
|
+
"nameZh": "專案語言",
|
|
44
|
+
"appliesTo": ["project-structure"]
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"repositories": {
|
|
48
|
+
"standards": {
|
|
49
|
+
"name": "universal-dev-standards",
|
|
50
|
+
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
51
|
+
"version": "3.0.0"
|
|
52
|
+
},
|
|
53
|
+
"skills": {
|
|
54
|
+
"name": "universal-dev-standards",
|
|
55
|
+
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
56
|
+
"localPath": "skills/claude-code",
|
|
57
|
+
"rawUrl": "https://raw.githubusercontent.com/AsiaOstrich/universal-dev-standards/main/skills/claude-code",
|
|
58
|
+
"version": "3.0.0",
|
|
59
|
+
"note": "Skills are now included in the main repository under skills/"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"supportedAITools": {
|
|
63
|
+
"claude-code": {
|
|
64
|
+
"name": "Claude Code",
|
|
65
|
+
"skillsPath": "skills/claude-code",
|
|
66
|
+
"status": "complete"
|
|
67
|
+
},
|
|
68
|
+
"cursor": {
|
|
69
|
+
"name": "Cursor",
|
|
70
|
+
"skillsPath": "skills/cursor",
|
|
71
|
+
"status": "planned"
|
|
72
|
+
},
|
|
73
|
+
"windsurf": {
|
|
74
|
+
"name": "Windsurf",
|
|
75
|
+
"skillsPath": "skills/windsurf",
|
|
76
|
+
"status": "planned"
|
|
77
|
+
},
|
|
78
|
+
"cline": {
|
|
79
|
+
"name": "Cline",
|
|
80
|
+
"skillsPath": "skills/cline",
|
|
81
|
+
"status": "planned"
|
|
82
|
+
},
|
|
83
|
+
"copilot": {
|
|
84
|
+
"name": "GitHub Copilot",
|
|
85
|
+
"skillsPath": "skills/copilot",
|
|
86
|
+
"status": "planned"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"skillFiles": {
|
|
90
|
+
"ai-collaboration-standards": [
|
|
91
|
+
"skills/claude-code/ai-collaboration-standards/SKILL.md",
|
|
92
|
+
"skills/claude-code/ai-collaboration-standards/anti-hallucination.md",
|
|
93
|
+
"skills/claude-code/ai-collaboration-standards/certainty-labels.md"
|
|
94
|
+
],
|
|
95
|
+
"commit-standards": [
|
|
96
|
+
"skills/claude-code/commit-standards/SKILL.md",
|
|
97
|
+
"skills/claude-code/commit-standards/conventional-commits.md",
|
|
98
|
+
"skills/claude-code/commit-standards/language-options.md"
|
|
99
|
+
],
|
|
100
|
+
"code-review-assistant": [
|
|
101
|
+
"skills/claude-code/code-review-assistant/SKILL.md",
|
|
102
|
+
"skills/claude-code/code-review-assistant/checkin-checklist.md",
|
|
103
|
+
"skills/claude-code/code-review-assistant/review-checklist.md"
|
|
104
|
+
],
|
|
105
|
+
"testing-guide": [
|
|
106
|
+
"skills/claude-code/testing-guide/SKILL.md",
|
|
107
|
+
"skills/claude-code/testing-guide/testing-pyramid.md"
|
|
108
|
+
],
|
|
109
|
+
"release-standards": [
|
|
110
|
+
"skills/claude-code/release-standards/SKILL.md",
|
|
111
|
+
"skills/claude-code/release-standards/changelog-format.md",
|
|
112
|
+
"skills/claude-code/release-standards/semantic-versioning.md"
|
|
113
|
+
],
|
|
114
|
+
"git-workflow-guide": [
|
|
115
|
+
"skills/claude-code/git-workflow-guide/SKILL.md",
|
|
116
|
+
"skills/claude-code/git-workflow-guide/branch-naming.md",
|
|
117
|
+
"skills/claude-code/git-workflow-guide/git-workflow.md"
|
|
118
|
+
],
|
|
119
|
+
"documentation-guide": [
|
|
120
|
+
"skills/claude-code/documentation-guide/SKILL.md",
|
|
121
|
+
"skills/claude-code/documentation-guide/documentation-structure.md",
|
|
122
|
+
"skills/claude-code/documentation-guide/readme-template.md"
|
|
123
|
+
],
|
|
124
|
+
"requirement-assistant": [
|
|
125
|
+
"skills/claude-code/requirement-assistant/SKILL.md",
|
|
126
|
+
"skills/claude-code/requirement-assistant/requirement-checklist.md",
|
|
127
|
+
"skills/claude-code/requirement-assistant/requirement-writing.md"
|
|
128
|
+
],
|
|
129
|
+
"project-structure-guide": [
|
|
130
|
+
"skills/claude-code/project-structure-guide/SKILL.md",
|
|
131
|
+
"skills/claude-code/project-structure-guide/language-patterns.md"
|
|
132
|
+
],
|
|
133
|
+
"spec-driven-dev": [
|
|
134
|
+
"skills/claude-code/spec-driven-dev/SKILL.md"
|
|
135
|
+
],
|
|
136
|
+
"test-coverage-assistant": [
|
|
137
|
+
"skills/claude-code/test-coverage-assistant/SKILL.md"
|
|
138
|
+
],
|
|
139
|
+
"changelog-guide": [
|
|
140
|
+
"skills/claude-code/changelog-guide/SKILL.md"
|
|
141
|
+
],
|
|
142
|
+
"error-code-guide": [
|
|
143
|
+
"skills/claude-code/error-code-guide/SKILL.md"
|
|
144
|
+
],
|
|
145
|
+
"logging-guide": [
|
|
146
|
+
"skills/claude-code/logging-guide/SKILL.md"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"categories": {
|
|
150
|
+
"skill": {
|
|
151
|
+
"name": "Skill",
|
|
152
|
+
"description": "Standards implemented as Claude Code Skills. Install the skill for interactive AI assistance.",
|
|
153
|
+
"adoptionMethod": "Install via universal-dev-skills"
|
|
154
|
+
},
|
|
155
|
+
"reference": {
|
|
156
|
+
"name": "Reference Document",
|
|
157
|
+
"description": "Static reference documents not suitable for Skills conversion. Copy to project's .standards/ directory.",
|
|
158
|
+
"adoptionMethod": "Copy to project"
|
|
159
|
+
},
|
|
160
|
+
"extension": {
|
|
161
|
+
"name": "Extension",
|
|
162
|
+
"description": "Language, framework, or locale-specific standards. Apply based on project requirements.",
|
|
163
|
+
"adoptionMethod": "Copy if applicable"
|
|
164
|
+
},
|
|
165
|
+
"integration": {
|
|
166
|
+
"name": "Integration",
|
|
167
|
+
"description": "AI tool configuration files. Copy to tool's expected location.",
|
|
168
|
+
"adoptionMethod": "Copy to tool location"
|
|
169
|
+
},
|
|
170
|
+
"template": {
|
|
171
|
+
"name": "Template",
|
|
172
|
+
"description": "Document templates for specific purposes. Use as starting point for project documents.",
|
|
173
|
+
"adoptionMethod": "Copy and customize"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"adoptionLevels": {
|
|
177
|
+
"1": {
|
|
178
|
+
"name": "Essential",
|
|
179
|
+
"nameZh": "基本",
|
|
180
|
+
"description": "Minimum viable standards for any project",
|
|
181
|
+
"setupTime": "30 minutes"
|
|
182
|
+
},
|
|
183
|
+
"2": {
|
|
184
|
+
"name": "Recommended",
|
|
185
|
+
"nameZh": "推薦",
|
|
186
|
+
"description": "Professional quality standards for team projects",
|
|
187
|
+
"setupTime": "2 hours"
|
|
188
|
+
},
|
|
189
|
+
"3": {
|
|
190
|
+
"name": "Enterprise",
|
|
191
|
+
"nameZh": "企業",
|
|
192
|
+
"description": "Comprehensive standards for enterprise or regulated projects",
|
|
193
|
+
"setupTime": "1-2 days"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"standards": [
|
|
197
|
+
{
|
|
198
|
+
"id": "anti-hallucination",
|
|
199
|
+
"name": "Anti-Hallucination Guidelines",
|
|
200
|
+
"nameZh": "反幻覺指南",
|
|
201
|
+
"source": "core/anti-hallucination.md",
|
|
202
|
+
"category": "skill",
|
|
203
|
+
"skillName": "ai-collaboration-standards",
|
|
204
|
+
"level": 1,
|
|
205
|
+
"description": "Guidelines for AI collaboration to prevent hallucination and ensure evidence-based responses"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"id": "commit-message",
|
|
209
|
+
"name": "Commit Message Guide",
|
|
210
|
+
"nameZh": "提交訊息指南",
|
|
211
|
+
"source": {
|
|
212
|
+
"human": "core/commit-message-guide.md",
|
|
213
|
+
"ai": "ai/standards/commit-message.ai.yaml"
|
|
214
|
+
},
|
|
215
|
+
"category": "skill",
|
|
216
|
+
"skillName": "commit-standards",
|
|
217
|
+
"level": 1,
|
|
218
|
+
"description": "Conventional Commits format for standardized git commit messages",
|
|
219
|
+
"options": {
|
|
220
|
+
"commit_language": {
|
|
221
|
+
"default": "english",
|
|
222
|
+
"choices": [
|
|
223
|
+
{
|
|
224
|
+
"id": "english",
|
|
225
|
+
"name": "English",
|
|
226
|
+
"nameZh": "英文",
|
|
227
|
+
"source": {
|
|
228
|
+
"human": "options/commit-message/english.md",
|
|
229
|
+
"ai": "ai/options/commit-message/english.ai.yaml"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"id": "traditional-chinese",
|
|
234
|
+
"name": "Traditional Chinese",
|
|
235
|
+
"nameZh": "繁體中文",
|
|
236
|
+
"source": {
|
|
237
|
+
"human": "options/commit-message/traditional-chinese.md",
|
|
238
|
+
"ai": "ai/options/commit-message/traditional-chinese.ai.yaml"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "bilingual",
|
|
243
|
+
"name": "Bilingual",
|
|
244
|
+
"nameZh": "雙語",
|
|
245
|
+
"source": {
|
|
246
|
+
"human": "options/commit-message/bilingual.md",
|
|
247
|
+
"ai": "ai/options/commit-message/bilingual.ai.yaml"
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
]
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"id": "checkin-standards",
|
|
256
|
+
"name": "Code Check-in Standards",
|
|
257
|
+
"nameZh": "程式碼簽入標準",
|
|
258
|
+
"source": "core/checkin-standards.md",
|
|
259
|
+
"category": "reference",
|
|
260
|
+
"skillName": null,
|
|
261
|
+
"level": 1,
|
|
262
|
+
"description": "Quality gates and verification steps before committing code",
|
|
263
|
+
"note": "Partially incorporated into code-review-assistant skill"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"id": "spec-driven-development",
|
|
267
|
+
"name": "Spec-Driven Development",
|
|
268
|
+
"nameZh": "規格驅動開發",
|
|
269
|
+
"source": "core/spec-driven-development.md",
|
|
270
|
+
"category": "skill",
|
|
271
|
+
"skillName": "spec-driven-dev",
|
|
272
|
+
"level": 1,
|
|
273
|
+
"description": "Methodology for specification-first development approach"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"id": "code-review",
|
|
277
|
+
"name": "Code Review Checklist",
|
|
278
|
+
"nameZh": "程式碼審查清單",
|
|
279
|
+
"source": "core/code-review-checklist.md",
|
|
280
|
+
"category": "skill",
|
|
281
|
+
"skillName": "code-review-assistant",
|
|
282
|
+
"level": 2,
|
|
283
|
+
"description": "Systematic checklist for reviewing code quality, security, and maintainability"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"id": "git-workflow",
|
|
287
|
+
"name": "Git Workflow Guide",
|
|
288
|
+
"nameZh": "Git 工作流程指南",
|
|
289
|
+
"source": {
|
|
290
|
+
"human": "core/git-workflow.md",
|
|
291
|
+
"ai": "ai/standards/git-workflow.ai.yaml"
|
|
292
|
+
},
|
|
293
|
+
"category": "skill",
|
|
294
|
+
"skillName": "git-workflow-guide",
|
|
295
|
+
"level": 2,
|
|
296
|
+
"description": "Branching strategies including Trunk-Based, GitHub Flow, and GitFlow",
|
|
297
|
+
"options": {
|
|
298
|
+
"workflow": {
|
|
299
|
+
"default": "github-flow",
|
|
300
|
+
"choices": [
|
|
301
|
+
{
|
|
302
|
+
"id": "gitflow",
|
|
303
|
+
"name": "GitFlow",
|
|
304
|
+
"nameZh": "GitFlow 工作流",
|
|
305
|
+
"source": {
|
|
306
|
+
"human": "options/git-workflow/gitflow.md",
|
|
307
|
+
"ai": "ai/options/git-workflow/gitflow.ai.yaml"
|
|
308
|
+
},
|
|
309
|
+
"conditions": {
|
|
310
|
+
"release_frequency": "monthly+",
|
|
311
|
+
"team_size": "10+"
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"id": "github-flow",
|
|
316
|
+
"name": "GitHub Flow",
|
|
317
|
+
"nameZh": "GitHub Flow 工作流",
|
|
318
|
+
"source": {
|
|
319
|
+
"human": "options/git-workflow/github-flow.md",
|
|
320
|
+
"ai": "ai/options/git-workflow/github-flow.ai.yaml"
|
|
321
|
+
},
|
|
322
|
+
"conditions": {
|
|
323
|
+
"release_frequency": "weekly",
|
|
324
|
+
"team_size": "5-15"
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"id": "trunk-based",
|
|
329
|
+
"name": "Trunk-Based Development",
|
|
330
|
+
"nameZh": "主幹開發",
|
|
331
|
+
"source": {
|
|
332
|
+
"human": "options/git-workflow/trunk-based.md",
|
|
333
|
+
"ai": "ai/options/git-workflow/trunk-based.ai.yaml"
|
|
334
|
+
},
|
|
335
|
+
"conditions": {
|
|
336
|
+
"release_frequency": "daily+",
|
|
337
|
+
"ci_cd_maturity": "advanced"
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
]
|
|
341
|
+
},
|
|
342
|
+
"merge_strategy": {
|
|
343
|
+
"default": "squash",
|
|
344
|
+
"choices": [
|
|
345
|
+
{
|
|
346
|
+
"id": "merge-commit",
|
|
347
|
+
"name": "Merge Commit",
|
|
348
|
+
"nameZh": "合併提交",
|
|
349
|
+
"source": {
|
|
350
|
+
"human": "options/git-workflow/merge-commit.md",
|
|
351
|
+
"ai": "ai/options/git-workflow/merge-commit.ai.yaml"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"id": "squash",
|
|
356
|
+
"name": "Squash Merge",
|
|
357
|
+
"nameZh": "壓縮合併",
|
|
358
|
+
"source": {
|
|
359
|
+
"human": "options/git-workflow/squash-merge.md",
|
|
360
|
+
"ai": "ai/options/git-workflow/squash-merge.ai.yaml"
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"id": "rebase-ff",
|
|
365
|
+
"name": "Rebase + Fast-Forward",
|
|
366
|
+
"nameZh": "變基快進",
|
|
367
|
+
"source": {
|
|
368
|
+
"human": "options/git-workflow/rebase-ff.md",
|
|
369
|
+
"ai": "ai/options/git-workflow/rebase-ff.ai.yaml"
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"id": "versioning",
|
|
378
|
+
"name": "Semantic Versioning",
|
|
379
|
+
"nameZh": "語意化版本",
|
|
380
|
+
"source": "core/versioning.md",
|
|
381
|
+
"category": "skill",
|
|
382
|
+
"skillName": "release-standards",
|
|
383
|
+
"level": 2,
|
|
384
|
+
"description": "SemVer standard for version numbering (MAJOR.MINOR.PATCH)"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"id": "changelog",
|
|
388
|
+
"name": "Changelog Standards",
|
|
389
|
+
"nameZh": "變更日誌標準",
|
|
390
|
+
"source": "core/changelog-standards.md",
|
|
391
|
+
"category": "skill",
|
|
392
|
+
"skillName": "release-standards",
|
|
393
|
+
"level": 2,
|
|
394
|
+
"description": "Keep a Changelog format for documenting notable changes"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "testing",
|
|
398
|
+
"name": "Testing Standards",
|
|
399
|
+
"nameZh": "測試標準",
|
|
400
|
+
"source": {
|
|
401
|
+
"human": "core/testing-standards.md",
|
|
402
|
+
"ai": "ai/standards/testing.ai.yaml"
|
|
403
|
+
},
|
|
404
|
+
"category": "skill",
|
|
405
|
+
"skillName": "testing-guide",
|
|
406
|
+
"level": 2,
|
|
407
|
+
"description": "Testing pyramid and recommended coverage ratios (70/20/7/3)",
|
|
408
|
+
"options": {
|
|
409
|
+
"test_level": {
|
|
410
|
+
"default": null,
|
|
411
|
+
"multiSelect": true,
|
|
412
|
+
"choices": [
|
|
413
|
+
{
|
|
414
|
+
"id": "unit-testing",
|
|
415
|
+
"name": "Unit Testing",
|
|
416
|
+
"nameZh": "單元測試",
|
|
417
|
+
"source": {
|
|
418
|
+
"human": "options/testing/unit-testing.md",
|
|
419
|
+
"ai": "ai/options/testing/unit-testing.ai.yaml"
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"id": "integration-testing",
|
|
424
|
+
"name": "Integration Testing",
|
|
425
|
+
"nameZh": "整合測試",
|
|
426
|
+
"source": {
|
|
427
|
+
"human": "options/testing/integration-testing.md",
|
|
428
|
+
"ai": "ai/options/testing/integration-testing.ai.yaml"
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"id": "system-testing",
|
|
433
|
+
"name": "System Testing",
|
|
434
|
+
"nameZh": "系統測試",
|
|
435
|
+
"source": {
|
|
436
|
+
"human": "options/testing/system-testing.md",
|
|
437
|
+
"ai": "ai/options/testing/system-testing.ai.yaml"
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"id": "e2e-testing",
|
|
442
|
+
"name": "End-to-End Testing",
|
|
443
|
+
"nameZh": "端對端測試",
|
|
444
|
+
"source": {
|
|
445
|
+
"human": "options/testing/e2e-testing.md",
|
|
446
|
+
"ai": "ai/options/testing/e2e-testing.ai.yaml"
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
]
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"id": "documentation-structure",
|
|
455
|
+
"name": "Documentation Structure",
|
|
456
|
+
"nameZh": "文件結構",
|
|
457
|
+
"source": "core/documentation-structure.md",
|
|
458
|
+
"category": "skill",
|
|
459
|
+
"skillName": "documentation-guide",
|
|
460
|
+
"level": 3,
|
|
461
|
+
"description": "Standard directory structure for project documentation"
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"id": "documentation-writing",
|
|
465
|
+
"name": "Documentation Writing Standards",
|
|
466
|
+
"nameZh": "文件撰寫標準",
|
|
467
|
+
"source": "core/documentation-writing-standards.md",
|
|
468
|
+
"category": "reference",
|
|
469
|
+
"skillName": null,
|
|
470
|
+
"level": 3,
|
|
471
|
+
"description": "Content requirements and writing guidelines for different project types"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"id": "project-structure",
|
|
475
|
+
"name": "Project Structure",
|
|
476
|
+
"nameZh": "專案結構",
|
|
477
|
+
"source": "core/project-structure.md",
|
|
478
|
+
"category": "skill",
|
|
479
|
+
"skillName": "project-structure-guide",
|
|
480
|
+
"level": 3,
|
|
481
|
+
"description": "Standard directory conventions for source code organization"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"id": "error-code-standards",
|
|
485
|
+
"name": "Error Code Standards",
|
|
486
|
+
"nameZh": "錯誤碼標準",
|
|
487
|
+
"source": "core/error-code-standards.md",
|
|
488
|
+
"category": "skill",
|
|
489
|
+
"skillName": "error-code-guide",
|
|
490
|
+
"level": 2,
|
|
491
|
+
"description": "Standardized error code format and categorization"
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"id": "logging-standards",
|
|
495
|
+
"name": "Logging Standards",
|
|
496
|
+
"nameZh": "日誌標準",
|
|
497
|
+
"source": "core/logging-standards.md",
|
|
498
|
+
"category": "skill",
|
|
499
|
+
"skillName": "logging-guide",
|
|
500
|
+
"level": 2,
|
|
501
|
+
"description": "Structured logging format and best practices"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"id": "test-completeness-dimensions",
|
|
505
|
+
"name": "Test Completeness Dimensions",
|
|
506
|
+
"nameZh": "測試完整性維度",
|
|
507
|
+
"source": "core/test-completeness-dimensions.md",
|
|
508
|
+
"category": "skill",
|
|
509
|
+
"skillName": "test-coverage-assistant",
|
|
510
|
+
"level": 2,
|
|
511
|
+
"description": "Framework for evaluating test coverage completeness"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"id": "csharp-style",
|
|
515
|
+
"name": "C# Style Guide",
|
|
516
|
+
"nameZh": "C# 風格指南",
|
|
517
|
+
"source": "extensions/languages/csharp-style.md",
|
|
518
|
+
"category": "extension",
|
|
519
|
+
"skillName": null,
|
|
520
|
+
"level": 2,
|
|
521
|
+
"description": "C# naming conventions and code style rules",
|
|
522
|
+
"applicability": "C# projects"
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"id": "php-style",
|
|
526
|
+
"name": "PHP Style Guide",
|
|
527
|
+
"nameZh": "PHP 風格指南",
|
|
528
|
+
"source": "extensions/languages/php-style.md",
|
|
529
|
+
"category": "extension",
|
|
530
|
+
"skillName": null,
|
|
531
|
+
"level": 2,
|
|
532
|
+
"description": "PHP 8.1+ PSR-12 style guide",
|
|
533
|
+
"applicability": "PHP 8.1+ projects"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"id": "fat-free-patterns",
|
|
537
|
+
"name": "Fat-Free Framework Patterns",
|
|
538
|
+
"nameZh": "Fat-Free 框架模式",
|
|
539
|
+
"source": "extensions/frameworks/fat-free-patterns.md",
|
|
540
|
+
"category": "extension",
|
|
541
|
+
"skillName": null,
|
|
542
|
+
"level": 2,
|
|
543
|
+
"description": "Development patterns for Fat-Free Framework v3.8+",
|
|
544
|
+
"applicability": "Fat-Free Framework projects"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"id": "zh-tw-locale",
|
|
548
|
+
"name": "Traditional Chinese Locale",
|
|
549
|
+
"nameZh": "繁體中文本地化",
|
|
550
|
+
"source": "extensions/locales/zh-tw.md",
|
|
551
|
+
"category": "extension",
|
|
552
|
+
"skillName": null,
|
|
553
|
+
"level": 2,
|
|
554
|
+
"description": "Traditional Chinese (Taiwan) localization for all standards",
|
|
555
|
+
"applicability": "Traditional Chinese speaking teams"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"id": "copilot-integration",
|
|
559
|
+
"name": "GitHub Copilot Instructions",
|
|
560
|
+
"nameZh": "GitHub Copilot 指令",
|
|
561
|
+
"source": "integrations/github-copilot/copilot-instructions.md",
|
|
562
|
+
"category": "integration",
|
|
563
|
+
"skillName": null,
|
|
564
|
+
"level": 2,
|
|
565
|
+
"description": "Custom instructions for GitHub Copilot Chat",
|
|
566
|
+
"targetPath": ".github/copilot-instructions.md"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"id": "cursor-integration",
|
|
570
|
+
"name": "Cursor Rules",
|
|
571
|
+
"nameZh": "Cursor 規則",
|
|
572
|
+
"source": "integrations/cursor/.cursorrules",
|
|
573
|
+
"category": "integration",
|
|
574
|
+
"skillName": null,
|
|
575
|
+
"level": 2,
|
|
576
|
+
"description": "AI assistant rules for Cursor IDE",
|
|
577
|
+
"targetPath": ".cursorrules"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"id": "windsurf-integration",
|
|
581
|
+
"name": "Windsurf Rules",
|
|
582
|
+
"nameZh": "Windsurf 規則",
|
|
583
|
+
"source": "integrations/windsurf/.windsurfrules",
|
|
584
|
+
"category": "integration",
|
|
585
|
+
"skillName": null,
|
|
586
|
+
"level": 2,
|
|
587
|
+
"description": "AI assistant rules for Windsurf IDE",
|
|
588
|
+
"targetPath": ".windsurfrules"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"id": "cline-integration",
|
|
592
|
+
"name": "Cline Rules",
|
|
593
|
+
"nameZh": "Cline 規則",
|
|
594
|
+
"source": "integrations/cline/.clinerules",
|
|
595
|
+
"category": "integration",
|
|
596
|
+
"skillName": null,
|
|
597
|
+
"level": 2,
|
|
598
|
+
"description": "AI assistant rules for Cline",
|
|
599
|
+
"targetPath": ".clinerules"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"id": "antigravity-integration",
|
|
603
|
+
"name": "Google Antigravity Instructions",
|
|
604
|
+
"nameZh": "Google Antigravity 指令",
|
|
605
|
+
"source": "integrations/google-antigravity/INSTRUCTIONS.md",
|
|
606
|
+
"category": "integration",
|
|
607
|
+
"skillName": null,
|
|
608
|
+
"level": 2,
|
|
609
|
+
"description": "System prompt snippets for Google Antigravity agent",
|
|
610
|
+
"targetPath": "See integration README"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"id": "openspec-integration",
|
|
614
|
+
"name": "OpenSpec Integration",
|
|
615
|
+
"nameZh": "OpenSpec 整合",
|
|
616
|
+
"source": "integrations/openspec/",
|
|
617
|
+
"category": "integration",
|
|
618
|
+
"skillName": null,
|
|
619
|
+
"level": 2,
|
|
620
|
+
"description": "Spec-Driven Development tooling integration for OpenSpec",
|
|
621
|
+
"targetPath": "See integration README",
|
|
622
|
+
"note": "SDD tool, not AI coding assistant. Manual integration only."
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"id": "speckit-integration",
|
|
626
|
+
"name": "Spec Kit Integration",
|
|
627
|
+
"nameZh": "Spec Kit 整合",
|
|
628
|
+
"source": "integrations/spec-kit/",
|
|
629
|
+
"category": "integration",
|
|
630
|
+
"skillName": null,
|
|
631
|
+
"level": 2,
|
|
632
|
+
"description": "Lightweight specification tracking tool integration",
|
|
633
|
+
"targetPath": "See integration README",
|
|
634
|
+
"note": "SDD tool, not AI coding assistant. Manual integration only."
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"id": "requirement-templates",
|
|
638
|
+
"name": "Requirement Document Templates",
|
|
639
|
+
"nameZh": "需求文件模板",
|
|
640
|
+
"source": "templates/requirement-*.md",
|
|
641
|
+
"category": "skill",
|
|
642
|
+
"skillName": "requirement-assistant",
|
|
643
|
+
"level": 2,
|
|
644
|
+
"description": "Templates for writing requirement documents and user stories"
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"id": "migration-template",
|
|
648
|
+
"name": "Migration Plan Template",
|
|
649
|
+
"nameZh": "遷移計畫模板",
|
|
650
|
+
"source": "templates/migration-template.md",
|
|
651
|
+
"category": "template",
|
|
652
|
+
"skillName": null,
|
|
653
|
+
"level": 3,
|
|
654
|
+
"description": "Template for planning technology migrations",
|
|
655
|
+
"applicability": "Migration projects"
|
|
656
|
+
}
|
|
657
|
+
]
|
|
658
|
+
}
|