universal-dev-standards 5.10.0 → 5.12.1
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/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +10 -4
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +8 -1
- package/bundled/ai/standards/license-compliance.ai.yaml +379 -10
- package/bundled/ai/standards/test-governance.ai.yaml +19 -0
- package/bundled/core/adversarial-test.md +3 -0
- package/bundled/core/behavior-snapshot.md +1 -1
- package/bundled/core/capability-declaration.md +3 -0
- package/bundled/core/cd-deployment-strategies.md +3 -0
- package/bundled/core/chaos-injection-tests.md +3 -0
- package/bundled/core/circuit-breaker.md +3 -0
- package/bundled/core/container-security.md +3 -0
- package/bundled/core/cost-budget-test.md +3 -0
- package/bundled/core/data-migration-testing.md +3 -0
- package/bundled/core/disaster-recovery-drill.md +3 -0
- package/bundled/core/dual-phase-output.md +3 -0
- package/bundled/core/failure-source-taxonomy.md +3 -0
- package/bundled/core/feature-manifest-standard.md +1 -1
- package/bundled/core/flaky-test-management.md +3 -0
- package/bundled/core/full-coverage-testing.md +3 -0
- package/bundled/core/health-check-standards.md +3 -0
- package/bundled/core/immutability-first.md +3 -0
- package/bundled/core/license-compliance.md +118 -0
- package/bundled/core/llm-output-validation.md +3 -0
- package/bundled/core/no-cicd-deployment.md +3 -0
- package/bundled/core/pipeline-security-gates.md +3 -0
- package/bundled/core/policy-as-code-testing.md +3 -0
- package/bundled/core/prompt-regression.md +3 -0
- package/bundled/core/property-based-testing.md +3 -0
- package/bundled/core/recovery-recipe-registry.md +3 -0
- package/bundled/core/release-quality-manifest.md +3 -0
- package/bundled/core/replay-test.md +3 -0
- package/bundled/core/retry-standards.md +3 -0
- package/bundled/core/rollback-standards.md +3 -0
- package/bundled/core/sast-advanced.md +1 -1
- package/bundled/core/secure-op.md +3 -0
- package/bundled/core/security-decision.md +3 -0
- package/bundled/core/server-ops-security.md +3 -0
- package/bundled/core/skill-standard-alignment-check.md +3 -0
- package/bundled/core/smoke-test.md +3 -0
- package/bundled/core/standard-admission-criteria.md +3 -0
- package/bundled/core/standard-lifecycle-management.md +3 -0
- package/bundled/core/supply-chain-attestation.md +3 -0
- package/bundled/core/timeout-standards.md +3 -0
- package/bundled/core/token-budget.md +3 -0
- package/bundled/locales/zh-CN/CHANGELOG.md +42 -3
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/README.md +3 -3
- package/bundled/locales/zh-CN/SECURITY.md +1 -2
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +127 -15
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +141 -25
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +43 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +35 -0
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +35 -0
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +35 -0
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +24 -0
- package/bundled/locales/zh-CN/skills/documentation-guide/SKILL.md +37 -0
- package/bundled/locales/zh-CN/skills/error-code-guide/SKILL.md +33 -0
- package/bundled/locales/zh-CN/skills/git-workflow-guide/SKILL.md +34 -0
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +33 -0
- package/bundled/locales/zh-CN/skills/project-structure-guide/SKILL.md +19 -0
- package/bundled/locales/zh-CN/skills/retrospective-assistant/SKILL.md +38 -0
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +36 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +49 -3
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/README.md +3 -3
- package/bundled/locales/zh-TW/SECURITY.md +1 -2
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +127 -15
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +141 -25
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +43 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +35 -0
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +35 -0
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +35 -0
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +661 -267
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +24 -0
- package/bundled/locales/zh-TW/skills/documentation-guide/SKILL.md +37 -0
- package/bundled/locales/zh-TW/skills/error-code-guide/SKILL.md +33 -0
- package/bundled/locales/zh-TW/skills/git-workflow-guide/SKILL.md +34 -0
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +33 -0
- package/bundled/locales/zh-TW/skills/project-structure-guide/SKILL.md +19 -0
- package/bundled/locales/zh-TW/skills/retrospective-assistant/SKILL.md +38 -0
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +36 -0
- package/bundled/skills/README.md +4 -1
- package/bundled/skills/spec-driven-dev/SKILL.md +41 -0
- package/package.json +1 -1
- package/src/commands/update.js +35 -0
- package/src/config/ai-agent-paths.js +8 -0
- package/src/i18n/messages.js +3 -0
- package/src/utils/integration-generator.js +18 -2
- package/standards-registry.json +5 -4
- package/bundled/locales/zh-TW/docs/MIGRATION-V5.md +0 -79
|
@@ -27,3 +27,27 @@ description: "[UDS] 引導 API 和微服務的合約測試策略"
|
|
|
27
27
|
|
|
28
28
|
- 詳細指南:[contract-testing.md](../../../../options/testing/contract-testing.md)
|
|
29
29
|
- 技能指南:[guide.md](./guide.md)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## Next Steps Guidance | 下一步引導
|
|
33
|
+
|
|
34
|
+
After `/contract-test` completes:
|
|
35
|
+
|
|
36
|
+
> **合約測試引導完成。建議下一步:**
|
|
37
|
+
> - 執行 `/ci-cd` 將合約驗證加入 CI 管線
|
|
38
|
+
> - 執行 `/api-design` 完善 API 設計
|
|
39
|
+
> - 執行 `/testing` 整合到整體測試策略
|
|
40
|
+
|
|
41
|
+
## Reference | 參考
|
|
42
|
+
|
|
43
|
+
- Detailed guide: [contract-testing.md](../../options/testing/contract-testing.md)
|
|
44
|
+
- Related: [api-design-assistant](../api-design-assistant/SKILL.md)
|
|
45
|
+
|
|
46
|
+
## AI Agent Behavior | AI 代理行為
|
|
47
|
+
|
|
48
|
+
When `/contract-test` is invoked:
|
|
49
|
+
1. **Assess** — Ask about architecture (monolith, microservices, number of APIs)
|
|
50
|
+
2. **Recommend** — Suggest strategy based on architecture
|
|
51
|
+
3. **Guide** — Walk through setup for chosen strategy
|
|
52
|
+
4. **Generate** — Create example contract test files
|
|
53
|
+
5. **Verify** — If `verify` subcommand, scan for contracts and report coverage
|
|
@@ -417,3 +417,40 @@ MIT
|
|
|
417
417
|
本 Skill 以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
|
|
418
418
|
|
|
419
419
|
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
## Next Steps Guidance | 下一步引導
|
|
423
|
+
|
|
424
|
+
After `/docs-guide` completes, the AI assistant should suggest:
|
|
425
|
+
|
|
426
|
+
> **文件結構與需求已釐清。建議下一步 / Documentation structure and requirements clarified. Suggested next steps:**
|
|
427
|
+
> - 執行 `/docs` 根據指南直接產生專案文件 ⭐ **Recommended / 推薦** — 立即將文件指南化為行動 / Turn documentation guidelines into action immediately
|
|
428
|
+
> - 執行 `/changelog` 建立或更新 CHANGELOG.md — 確保變更歷史完整 / Ensure change history is complete
|
|
429
|
+
> - 執行 `/sdd` 將文件需求納入規格驅動開發 — 確保文件與功能同步 / Ensure docs stay in sync with features
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## Related Standards
|
|
434
|
+
|
|
435
|
+
- [Documentation Writing Standards](../../core/documentation-writing-standards.md) - Content requirements
|
|
436
|
+
- [Documentation Structure](../../core/documentation-structure.md) - File organization
|
|
437
|
+
- [Changelog Standards](../../core/changelog-standards.md) - CHANGELOG format
|
|
438
|
+
- [Changelog Guide Skill](../changelog-guide/SKILL.md) - CHANGELOG skill
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
## Version History
|
|
443
|
+
|
|
444
|
+
| Version | Date | Changes |
|
|
445
|
+
|---------|------|---------|
|
|
446
|
+
| 2.1.0 | 2026-03-17 | Added: Diátaxis classification, LLM discovery, quality metrics, enhanced ADR template, translation-friendly writing |
|
|
447
|
+
| 2.0.0 | 2026-01-12 | Added: Project type matrix, document templates, documentation pyramid |
|
|
448
|
+
| 1.0.0 | 2025-12-24 | Initial release |
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## License
|
|
453
|
+
|
|
454
|
+
This skill is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
|
455
|
+
|
|
456
|
+
**Source**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -264,3 +264,36 @@ export const ErrorCodes = {
|
|
|
264
264
|
此技能採用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權。
|
|
265
265
|
|
|
266
266
|
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
## Next Steps Guidance | 下一步引導
|
|
270
|
+
|
|
271
|
+
After `/errors` completes, the AI assistant should suggest:
|
|
272
|
+
|
|
273
|
+
> **錯誤碼設計已完成。建議下一步 / Error code design completed. Suggested next steps:**
|
|
274
|
+
> - 執行 `/sdd` 將錯誤碼設計納入正式規格 ⭐ **Recommended / 推薦** — 確保錯誤碼在規格中有完整定義 / Ensure error codes are fully defined in specs
|
|
275
|
+
> - 執行 `/logging` 設定結構化日誌以配合錯誤碼 — 讓錯誤碼與日誌系統整合 / Integrate error codes with logging system
|
|
276
|
+
> - 執行 `/tdd` 為錯誤處理邏輯撰寫測試 — 確保每個錯誤碼都有對應的測試 / Ensure each error code has corresponding tests
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Related Standards
|
|
281
|
+
|
|
282
|
+
- [Error Code Standards](../../core/error-code-standards.md)
|
|
283
|
+
- [Logging Standards](../../core/logging-standards.md)
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Version History
|
|
288
|
+
|
|
289
|
+
| Version | Date | Changes |
|
|
290
|
+
|---------|------|---------|
|
|
291
|
+
| 1.0.0 | 2025-12-30 | Initial release |
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## License
|
|
296
|
+
|
|
297
|
+
This skill is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
|
298
|
+
|
|
299
|
+
**Source**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -213,3 +213,37 @@ git push origin feature/my-feature
|
|
|
213
213
|
本技能採用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
|
|
214
214
|
|
|
215
215
|
**來源**:[universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
## Next Steps Guidance | 下一步引導
|
|
219
|
+
|
|
220
|
+
After `/git-flow` completes, the AI assistant should suggest:
|
|
221
|
+
|
|
222
|
+
> **Git 工作流程已設定。建議下一步 / Git workflow configured. Suggested next steps:**
|
|
223
|
+
> - 執行 `git checkout -b feature/<描述>` 建立功能分支開始開發 ⭐ **Recommended / 推薦** — 立即套用所選的分支策略 / Apply the chosen branching strategy immediately
|
|
224
|
+
> - 執行 `/commit` 學習提交訊息規範 — 確保提交訊息格式一致 / Ensure consistent commit message format
|
|
225
|
+
> - 執行 `/checkin` 了解簽入品質門檻 — 在提交前確保程式碼品質 / Ensure code quality before commits
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Related Standards
|
|
230
|
+
|
|
231
|
+
- [Git Workflow](../../core/git-workflow.md) - Core Git workflow standard
|
|
232
|
+
- [Commit Message Guide](../../core/commit-message-guide.md) - Commit message conventions
|
|
233
|
+
- [Checkin Standards](../../core/checkin-standards.md) - Pre-commit quality gates
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Version History
|
|
238
|
+
|
|
239
|
+
| Version | Date | Changes |
|
|
240
|
+
|---------|------|---------|
|
|
241
|
+
| 1.0.0 | 2025-12-24 | Added: Standard sections (Purpose, Related Standards, Version History, License) |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## License
|
|
246
|
+
|
|
247
|
+
This skill is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
|
248
|
+
|
|
249
|
+
**Source**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -280,3 +280,36 @@ logger.error('處理訂單失敗', {
|
|
|
280
280
|
此技能採用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權。
|
|
281
281
|
|
|
282
282
|
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
## Next Steps Guidance | 下一步引導
|
|
286
|
+
|
|
287
|
+
After `/logging` completes, the AI assistant should suggest:
|
|
288
|
+
|
|
289
|
+
> **日誌標準已掌握。建議下一步 / Logging standards understood. Suggested next steps:**
|
|
290
|
+
> - 根據日誌指南在程式碼中實作結構化日誌 ⭐ **Recommended / 推薦** — 立即將日誌標準應用到專案 / Apply logging standards to the project immediately
|
|
291
|
+
> - 執行 `/errors` 設計錯誤碼以配合日誌系統 — 讓錯誤追蹤更有效率 / Make error tracking more efficient
|
|
292
|
+
> - 執行 `/sdd` 將可觀測性需求納入規格 — 確保日誌需求在規格中有定義 / Ensure logging requirements are defined in specs
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Related Standards
|
|
297
|
+
|
|
298
|
+
- [Logging Standards](../../core/logging-standards.md)
|
|
299
|
+
- [Error Code Standards](../../core/error-code-standards.md)
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Version History
|
|
304
|
+
|
|
305
|
+
| Version | Date | Changes |
|
|
306
|
+
|---------|------|---------|
|
|
307
|
+
| 1.0.0 | 2025-12-30 | Initial release |
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## License
|
|
312
|
+
|
|
313
|
+
This skill is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
|
314
|
+
|
|
315
|
+
**Source**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -150,3 +150,22 @@ project/
|
|
|
150
150
|
- [核心:文件結構](../../core/documentation-structure.md)
|
|
151
151
|
- [指南:檔案歸檔決策指南](../../core/guides/file-placement-guide.md)
|
|
152
152
|
- [AI:專案結構選項](../../../../options/project-structure/)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
## Next Steps Guidance | 下一步引導
|
|
156
|
+
|
|
157
|
+
After `/project-structure` completes, the AI assistant should suggest:
|
|
158
|
+
|
|
159
|
+
> **專案結構已建立或審查完成。建議下一步 / Project structure created or reviewed. Suggested next steps:**
|
|
160
|
+
> - 執行 `/sdd` 開始規格驅動開發,將專案結構納入正式規格 ⭐ **Recommended / 推薦** — 確保結構決策有規格追蹤 / Ensures structure decisions are tracked in specs
|
|
161
|
+
> - 執行 `/docs` 產生專案文件(README、ARCHITECTURE.md 等) — 讓結構決策有文件記錄 / Document structure decisions
|
|
162
|
+
> - 執行 `/ai-friendly-architecture` 設定 AI 上下文配置 — 讓 AI 助手更好地理解專案結構 / Help AI assistants understand the project structure
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Related Standards
|
|
167
|
+
|
|
168
|
+
- [Core: Project Structure](../../core/project-structure.md)
|
|
169
|
+
- [Core: Documentation Structure](../../core/documentation-structure.md)
|
|
170
|
+
- [Guide: File Placement Decision Guide](../../core/guides/file-placement-guide.md)
|
|
171
|
+
- [AI: Project Structure Options](../../ai/options/project-structure/)
|
|
@@ -28,3 +28,41 @@ description: "[UDS] 引導結構化的團隊回顧,支援 Sprint 和 Release
|
|
|
28
28
|
|
|
29
29
|
- 核心規範:[retrospective-standards.md](../../../../core/retrospective-standards.md)
|
|
30
30
|
- 詳細指南:[guide.md](./guide.md)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Next Steps Guidance | 下一步引導
|
|
34
|
+
|
|
35
|
+
After `/retrospective` completes:
|
|
36
|
+
|
|
37
|
+
> **Retrospective complete. Suggested next steps:**
|
|
38
|
+
> - Commit the retrospective report: `/commit`
|
|
39
|
+
> - Create ADRs for architectural decisions identified: `/adr`
|
|
40
|
+
> - Track action items in your issue tracker
|
|
41
|
+
> - Schedule next retrospective
|
|
42
|
+
|
|
43
|
+
> **回顧完成。建議下一步:**
|
|
44
|
+
> - 提交回顧報告:`/commit`
|
|
45
|
+
> - 為識別的架構決策建立 ADR:`/adr`
|
|
46
|
+
> - 在 issue tracker 中追蹤行動項目
|
|
47
|
+
> - 排定下次回顧
|
|
48
|
+
|
|
49
|
+
## AI Agent Behavior | AI 代理行為
|
|
50
|
+
|
|
51
|
+
When `/retrospective` is invoked:
|
|
52
|
+
|
|
53
|
+
1. **Check type** — Sprint (default) or Release
|
|
54
|
+
2. **Gather data** — Scan git log, check `docs/retrospectives/` for previous actions
|
|
55
|
+
3. **Guide technique** — Use Start-Stop-Continue by default, or specified technique
|
|
56
|
+
4. **Generate report** — Write to `docs/retrospectives/RETRO-YYYY-MM-DD-[type].md`
|
|
57
|
+
5. **Review past actions** — Check previous retro for open action items
|
|
58
|
+
6. **Offer next steps** — Show guidance above
|
|
59
|
+
|
|
60
|
+
When `/retrospective actions` is invoked:
|
|
61
|
+
1. Scan `docs/retrospectives/` for all retro files
|
|
62
|
+
2. Parse action items from each
|
|
63
|
+
3. Display open/in-progress items as table
|
|
64
|
+
|
|
65
|
+
## Reference | 參考
|
|
66
|
+
|
|
67
|
+
- Core Standard: [retrospective-standards.md](../../core/retrospective-standards.md)
|
|
68
|
+
- Detailed Guide: [guide.md](./guide.md)
|
|
@@ -228,3 +228,39 @@ test('method_scenario_expected', () => {
|
|
|
228
228
|
本 Skill 以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
|
|
229
229
|
|
|
230
230
|
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
## Next Steps Guidance | 下一步引導
|
|
234
|
+
|
|
235
|
+
After `/testing` completes, the AI assistant should suggest:
|
|
236
|
+
|
|
237
|
+
> **測試標準與最佳實踐已掌握。建議下一步 / Testing standards and best practices understood. Suggested next steps:**
|
|
238
|
+
> - 執行 `/tdd` 開始測試驅動開發(紅-綠-重構循環) ⭐ **Recommended / 推薦** — 將測試知識立即轉化為實踐 / Turn testing knowledge into practice immediately
|
|
239
|
+
> - 執行 `/coverage` 分析目前程式碼覆蓋率 — 找出測試缺口 / Identify testing gaps
|
|
240
|
+
> - 執行 `/bdd` 撰寫行為驅動的 Given-When-Then 場景 — 從使用者角度定義測試 / Define tests from user perspective
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Related Standards
|
|
245
|
+
|
|
246
|
+
- [Testing Standards](../../core/testing-standards.md) - Actionable rules
|
|
247
|
+
- [Testing Theory](./testing-theory.md) - Educational knowledge base
|
|
248
|
+
- [Code Review Checklist](../../core/code-review-checklist.md)
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Version History
|
|
253
|
+
|
|
254
|
+
| Version | Date | Changes |
|
|
255
|
+
|---------|------|---------|
|
|
256
|
+
| 1.2.0 | 2026-01-29 | Added links to new testing-theory.md knowledge base |
|
|
257
|
+
| 1.1.0 | 2025-12-29 | Added Testing Theory Essentials YAML section |
|
|
258
|
+
| 1.0.0 | 2025-12-24 | Initial: Standard sections (Purpose, Related Standards, Version History, License) |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## License
|
|
263
|
+
|
|
264
|
+
This skill is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
|
265
|
+
|
|
266
|
+
**Source**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
package/bundled/skills/README.md
CHANGED
|
@@ -4,6 +4,9 @@ This directory contains the reference implementations of Universal Development S
|
|
|
4
4
|
|
|
5
5
|
> Derived from [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards) core standards.
|
|
6
6
|
|
|
7
|
+
> **For the full indexed skill list** (by Tier, Category, and use case), see **[docs/user/SKILLS-INDEX.md](../docs/user/SKILLS-INDEX.md)** (auto-generated).
|
|
8
|
+
> For slash command reference, see **[docs/user/COMMANDS-INDEX.md](../docs/user/COMMANDS-INDEX.md)**.
|
|
9
|
+
|
|
7
10
|
## Directory Structure
|
|
8
11
|
|
|
9
12
|
```
|
|
@@ -39,7 +42,7 @@ These skills provide standard guidance and workflows. They can be accessed via s
|
|
|
39
42
|
| `documentation-guide` | `/docs` | [UDS] Documentation management |
|
|
40
43
|
| `requirement-assistant` | `/requirement` | [UDS] Requirement writing |
|
|
41
44
|
| `reverse-engineer` | `/reverse` | [UDS] Reverse engineer code |
|
|
42
|
-
| `spec-derivation` | `/
|
|
45
|
+
| `spec-derivation` | `/derive` | [UDS] Derive BDD/TDD/ATDD artifacts from spec |
|
|
43
46
|
| `spec-driven-dev` | `/sdd` | [UDS] Spec-Driven Development |
|
|
44
47
|
| `test-coverage-assistant` | `/coverage` | [UDS] Test coverage analysis |
|
|
45
48
|
| `dev-methodology` | `/methodology` | [UDS] Development methodology |
|
|
@@ -55,6 +55,7 @@ New request? | 新需求?
|
|
|
55
55
|
├─ New feature/capability? → Create proposal | 建立提案
|
|
56
56
|
├─ Breaking change? → Create proposal | 建立提案
|
|
57
57
|
├─ Architecture change? → Create proposal | 建立提案
|
|
58
|
+
├─ Agent/role definition (spans multiple features)? → Use spec-type: agent | 使用 Agent SPEC template
|
|
58
59
|
└─ Unclear? → Create proposal (safer) | 建立提案(較安全)
|
|
59
60
|
```
|
|
60
61
|
|
|
@@ -126,6 +127,46 @@ The system SHALL [behavior description].
|
|
|
126
127
|
- [ ] Integration tests for [flow]
|
|
127
128
|
```
|
|
128
129
|
|
|
130
|
+
### Agent SPEC Structure | Agent 規格結構(`spec-type: agent`)
|
|
131
|
+
|
|
132
|
+
```markdown
|
|
133
|
+
# [SPEC-ID] Agent: [Role Name]
|
|
134
|
+
<!-- spec-type: agent -->
|
|
135
|
+
<!-- agent-id auto-referenced by feature SPECs -->
|
|
136
|
+
|
|
137
|
+
## Role Definition
|
|
138
|
+
- **Role**: [Agent Name]
|
|
139
|
+
- **Responsibility**: [One sentence]
|
|
140
|
+
- **Autonomy Level**: L[1-5] (per DEC-065)
|
|
141
|
+
|
|
142
|
+
## Capability Scope
|
|
143
|
+
**Owns:**
|
|
144
|
+
- [Capability 1]
|
|
145
|
+
- [Capability 2]
|
|
146
|
+
|
|
147
|
+
**Does NOT own:**
|
|
148
|
+
- [Explicit exclusion]
|
|
149
|
+
|
|
150
|
+
## Interface Contract
|
|
151
|
+
### Input
|
|
152
|
+
| Message Type | Required Fields | Optional Fields |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| [Type] | [fields] | [fields] |
|
|
155
|
+
|
|
156
|
+
### Output
|
|
157
|
+
| Artifact Type | Success Condition | Failure Condition |
|
|
158
|
+
|---|---|---|
|
|
159
|
+
| [Type] | [condition] | [condition] |
|
|
160
|
+
|
|
161
|
+
## Agent Interactions
|
|
162
|
+
- **Upstream**: [Who calls this agent]
|
|
163
|
+
- **Downstream**: [Who this agent calls]
|
|
164
|
+
- **Parallel**: [Agents working alongside]
|
|
165
|
+
|
|
166
|
+
## Related Feature SPECs
|
|
167
|
+
- [SPEC-NNN] — [This agent's role in that spec]
|
|
168
|
+
```
|
|
169
|
+
|
|
129
170
|
### Scenario Formatting Rules | 場景格式規則
|
|
130
171
|
|
|
131
172
|
- Use `#### Scenario:` (h4 header) for each scenario
|
package/package.json
CHANGED
package/src/commands/update.js
CHANGED
|
@@ -614,6 +614,41 @@ export async function updateCommand(options) {
|
|
|
614
614
|
}
|
|
615
615
|
|
|
616
616
|
intSpinner.succeed(msg.syncedIntegrations.replace('{count}', results.integrations.length));
|
|
617
|
+
|
|
618
|
+
// XSPEC-208 BUG-208-02: prune orphaned integrationBlockHashes whose
|
|
619
|
+
// integration file is no longer claimed by manifest.aiTools (e.g. aiTools
|
|
620
|
+
// shrank from ["claude-code","gemini-cli"] to ["claude-code"], leaving a
|
|
621
|
+
// stale GEMINI.md hash). Without this, `uds check` -> checkIntegrationBlocksIntegrity
|
|
622
|
+
// falsely reports those files as missing.
|
|
623
|
+
//
|
|
624
|
+
// The expected set is built from manifest.aiTools (the declared
|
|
625
|
+
// configuration), NOT results.integrations (what was actually written).
|
|
626
|
+
// Using results.integrations would over-prune when writes fail (e.g.
|
|
627
|
+
// sandbox EPERM) and incorrectly drop valid hashes.
|
|
628
|
+
if (manifest.integrationBlockHashes) {
|
|
629
|
+
const expectedFiles = new Set();
|
|
630
|
+
for (const tool of (manifest.aiTools || [])) {
|
|
631
|
+
const targetFile = getToolFilePath(tool);
|
|
632
|
+
if (targetFile) expectedFiles.add(targetFile);
|
|
633
|
+
}
|
|
634
|
+
// Universal AGENTS.md is tracked when generateAgentsMd is enabled.
|
|
635
|
+
if (manifest.generateAgentsMd) {
|
|
636
|
+
expectedFiles.add('AGENTS.md');
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
const orphaned = Object.keys(manifest.integrationBlockHashes)
|
|
640
|
+
.filter(f => !expectedFiles.has(f));
|
|
641
|
+
for (const f of orphaned) {
|
|
642
|
+
delete manifest.integrationBlockHashes[f];
|
|
643
|
+
}
|
|
644
|
+
if (orphaned.length > 0) {
|
|
645
|
+
console.log(chalk.gray(
|
|
646
|
+
` ${(msg.prunedOrphanedBlockHashes || 'Pruned {count} orphaned integration hash(es): {files}')
|
|
647
|
+
.replace('{count}', orphaned.length)
|
|
648
|
+
.replace('{files}', orphaned.join(', '))}`
|
|
649
|
+
));
|
|
650
|
+
}
|
|
651
|
+
}
|
|
617
652
|
}
|
|
618
653
|
|
|
619
654
|
// Update layered CLAUDE.md if content_layout is layered
|
|
@@ -540,6 +540,14 @@ export const AVAILABLE_COMMANDS = [
|
|
|
540
540
|
{ name: 'migrate', description: 'Code migration, framework upgrades, and tech modernization' },
|
|
541
541
|
{ name: 'audit', description: 'Audit standards compliance and generate reports' },
|
|
542
542
|
|
|
543
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
544
|
+
// Observability / SRE (Commands-only)
|
|
545
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
546
|
+
{ name: 'e2e', description: 'Generate E2E test scaffolding from BDD scenarios' },
|
|
547
|
+
{ name: 'observability', description: 'Guide observability instrumentation (logs, metrics, traces)' },
|
|
548
|
+
{ name: 'runbook', description: 'Author operational runbooks for incidents and routine procedures' },
|
|
549
|
+
{ name: 'slo', description: 'Define SLOs, SLIs, and error budgets' },
|
|
550
|
+
|
|
543
551
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
544
552
|
// CLI Management (Commands-only, UDS CLI specific)
|
|
545
553
|
// ═══════════════════════════════════════════════════════════════════════════
|
package/src/i18n/messages.js
CHANGED
|
@@ -1052,6 +1052,7 @@ export const messages = {
|
|
|
1052
1052
|
updatedStandards: 'Updated {count} standard files',
|
|
1053
1053
|
syncingIntegrations: 'Syncing integration files...',
|
|
1054
1054
|
syncedIntegrations: 'Synced {count} integration files',
|
|
1055
|
+
prunedOrphanedBlockHashes: 'Pruned {count} orphaned integration hash(es): {files}',
|
|
1055
1056
|
// Success
|
|
1056
1057
|
updateSuccess: '✓ Standards updated successfully!',
|
|
1057
1058
|
versionUpdated: 'Version: {current} → {latest}',
|
|
@@ -2312,6 +2313,7 @@ export const messages = {
|
|
|
2312
2313
|
updatedStandards: '已更新 {count} 個標準檔案',
|
|
2313
2314
|
syncingIntegrations: '同步整合檔案中...',
|
|
2314
2315
|
syncedIntegrations: '已同步 {count} 個整合檔案',
|
|
2316
|
+
prunedOrphanedBlockHashes: '已清除 {count} 個孤兒整合雜湊:{files}',
|
|
2315
2317
|
// Success
|
|
2316
2318
|
updateSuccess: '✓ 標準更新成功!',
|
|
2317
2319
|
versionUpdated: '版本:{current} → {latest}',
|
|
@@ -3501,6 +3503,7 @@ export const messages = {
|
|
|
3501
3503
|
updatedStandards: '已更新 {count} 个标准文件',
|
|
3502
3504
|
syncingIntegrations: '正在同步集成文件...',
|
|
3503
3505
|
syncedIntegrations: '已同步 {count} 个集成文件',
|
|
3506
|
+
prunedOrphanedBlockHashes: '已清除 {count} 个孤儿集成哈希:{files}',
|
|
3504
3507
|
// Success
|
|
3505
3508
|
updateSuccess: '✓ 标准更新成功!',
|
|
3506
3509
|
versionUpdated: '版本:{current} → {latest}',
|
|
@@ -45,15 +45,31 @@ export function resolveContentModeForTool(tool, userContentMode) {
|
|
|
45
45
|
* Helper functions for tool configuration
|
|
46
46
|
*/
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Set of all known integration file names (e.g. "CLAUDE.md", ".cursorrules"),
|
|
50
|
+
* derived from SUPPORTED_AI_TOOLS so reverse lookup stays in sync.
|
|
51
|
+
*/
|
|
52
|
+
const KNOWN_TOOL_FILES = new Set(
|
|
53
|
+
Object.values(SUPPORTED_AI_TOOLS).map(c => c.file)
|
|
54
|
+
);
|
|
55
|
+
|
|
48
56
|
/**
|
|
49
57
|
* Get tool file name with legacy mapping support
|
|
50
|
-
* @param {string} tool - Tool name
|
|
58
|
+
* @param {string} tool - Tool name (e.g. "claude-code") or filename (e.g. "CLAUDE.md")
|
|
51
59
|
* @returns {string} File name
|
|
52
60
|
*/
|
|
53
61
|
function getToolFileName(tool) {
|
|
54
62
|
const normalizedName = LEGACY_TOOL_MAPPINGS[tool] || tool;
|
|
55
63
|
const config = SUPPORTED_AI_TOOLS[normalizedName];
|
|
56
|
-
|
|
64
|
+
if (config) return config.file;
|
|
65
|
+
|
|
66
|
+
// XSPEC-208 BUG-208-01: schema 3.x manifests store filenames (not tool keys)
|
|
67
|
+
// in manifest.integrations. Without this guard, getToolFileName("CLAUDE.md")
|
|
68
|
+
// returns "CLAUDE.md.md" and triggers spurious missing-file restore failures.
|
|
69
|
+
if (KNOWN_TOOL_FILES.has(tool) || /\.(md|yaml|yml|json)$/i.test(tool)) {
|
|
70
|
+
return tool;
|
|
71
|
+
}
|
|
72
|
+
return `${tool}.md`;
|
|
57
73
|
}
|
|
58
74
|
|
|
59
75
|
/**
|
package/standards-registry.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.12.1",
|
|
4
4
|
"lastUpdated": "2026-05-13",
|
|
5
5
|
"description": "Standards registry for universal-dev-standards with integrated skills and AI-optimized formats",
|
|
6
6
|
"formats": {
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
"standards": {
|
|
59
59
|
"name": "universal-dev-standards",
|
|
60
60
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
61
|
-
"version": "5.
|
|
61
|
+
"version": "5.12.1"
|
|
62
62
|
},
|
|
63
63
|
"skills": {
|
|
64
64
|
"name": "universal-dev-standards",
|
|
65
65
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
66
66
|
"localPath": "skills",
|
|
67
67
|
"rawUrl": "https://raw.githubusercontent.com/AsiaOstrich/universal-dev-standards/main/skills",
|
|
68
|
-
"version": "5.
|
|
68
|
+
"version": "5.12.1",
|
|
69
69
|
"note": "Skills are now included in the main repository under skills/"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
@@ -2326,12 +2326,13 @@
|
|
|
2326
2326
|
"id": "license-compliance",
|
|
2327
2327
|
"name": "License Compliance Standards",
|
|
2328
2328
|
"nameZh": "授權合規標準",
|
|
2329
|
+
"version": "5.12.1",
|
|
2329
2330
|
"source": {
|
|
2330
2331
|
"human": "core/license-compliance.md",
|
|
2331
2332
|
"ai": "ai/standards/license-compliance.ai.yaml"
|
|
2332
2333
|
},
|
|
2333
2334
|
"category": "core",
|
|
2334
|
-
"description": "License tier classification, automated scanning in CI, SBOM generation, attribution notices, and
|
|
2335
|
+
"description": "License tier classification, automated scanning in CI, SBOM generation, attribution notices, violation remediation, ClearlyDefined API, AST PII analysis, and EmbeddingProvider copyright similarity"
|
|
2335
2336
|
},
|
|
2336
2337
|
{
|
|
2337
2338
|
"id": "pii-classification",
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
source: ../../../docs/archive/MIGRATION-V5.md
|
|
3
|
-
source_version: 5.0.0
|
|
4
|
-
translation_version: 5.0.0
|
|
5
|
-
last_synced: 2026-04-22
|
|
6
|
-
status: current
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# 遷移指南:Universal Dev Standards V5
|
|
10
|
-
|
|
11
|
-
> **語言**: English | [繁體中文](MIGRATION-V5.md)
|
|
12
|
-
|
|
13
|
-
**版本**: 5.0.0
|
|
14
|
-
**狀態**: 重大變更(Token 使用量最佳化)
|
|
15
|
-
|
|
16
|
-
## 概覽
|
|
17
|
-
|
|
18
|
-
Universal Development Standards V5 引入了重大的架構變更,旨在**減少 AI Token 消耗量高達 75%**。我們將「可執行的規則」與「教育性內容」進行了分離。
|
|
19
|
-
|
|
20
|
-
## 主要變更
|
|
21
|
-
|
|
22
|
-
### 1. 規則 (Rules) 與指南 (Guides) 分離
|
|
23
|
-
|
|
24
|
-
在 V4 中,許多標準檔案體積龐大(例如 `testing-standards.md` 高達 141KB)。在 V5 中,這些檔案已被拆分:
|
|
25
|
-
|
|
26
|
-
| 組件 | 位置 | 目的 | AI 行為 |
|
|
27
|
-
|------|------|------|---------|
|
|
28
|
-
| **規則 (Rules)** | `core/*.md` | 可執行的規則、檢查清單、閾值 | **務必讀取** |
|
|
29
|
-
| **指南 (Guides)** | `core/guides/*.md` | 詳細解釋、教學、範例 | **僅在需要時讀取** |
|
|
30
|
-
| **方法論** | `methodologies/guides/*.md` | 完整的方法論指南 (TDD, BDD 等) | **僅在需要時讀取** |
|
|
31
|
-
|
|
32
|
-
### 2. 檔案位置移動
|
|
33
|
-
|
|
34
|
-
以下方法論檔案已從 `core/` 移至 `methodologies/guides/`:
|
|
35
|
-
- `test-driven-development.md`
|
|
36
|
-
- `acceptance-test-driven-development.md`
|
|
37
|
-
- `spec-driven-development.md`
|
|
38
|
-
- `behavior-driven-development.md`
|
|
39
|
-
- `requirement-engineering.md`
|
|
40
|
-
|
|
41
|
-
### 3. AI 代理指令
|
|
42
|
-
|
|
43
|
-
新的 AI 工具設定(`.cursorrules`、`CLAUDE.md` 等)現在包含 **核心標準使用規則 (Core Standards Usage Rule)**,指示 AI 代理優先讀取 `core/` 中的輕量化規則以節省 Token。
|
|
44
|
-
|
|
45
|
-
## 如何升級
|
|
46
|
-
|
|
47
|
-
### 現有專案
|
|
48
|
-
|
|
49
|
-
如果您已在專案中初始化了 UDS,請按照以下步驟操作以獲取 Token 最佳化效益:
|
|
50
|
-
|
|
51
|
-
1. **更新 CLI**:
|
|
52
|
-
```bash
|
|
53
|
-
npm install -g universal-dev-standards@alpha
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
2. **同步參考 (Sync References)**:
|
|
57
|
-
執行更新指令以獲取新的輕量化規則檔案與指南:
|
|
58
|
-
```bash
|
|
59
|
-
uds update --sync-refs
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
3. **更新 AI 規則**:
|
|
63
|
-
重新生成或更新您的 AI 工具設定檔(例如 `.cursorrules`),以包含新的使用指令:
|
|
64
|
-
```bash
|
|
65
|
-
uds configure
|
|
66
|
-
# 選擇您的 AI 工具並選擇 "Update"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 向後相容性
|
|
70
|
-
|
|
71
|
-
我們在原始的 `core/` 位置留下了 **Stub 檔案 (轉址檔案)**。這些是小型檔案(約 1KB),提供摘要以及指向新完整指南的連結。這確保了您文件中任何現有的硬編碼連結或參考不會失效。
|
|
72
|
-
|
|
73
|
-
## 常見問題 (FAQ)
|
|
74
|
-
|
|
75
|
-
### 為什麼要這樣做?
|
|
76
|
-
現代 AI 模型具有上下文視窗 (Context Window) 限制以及 Token 成本。大型文件會降低 AI 效能並增加延遲。V5 使「常駐」上下文變得更小,同時保持完整知識庫可用。
|
|
77
|
-
|
|
78
|
-
### 我需要修改程式碼嗎?
|
|
79
|
-
不需要。此變更僅影響文件結構和 AI 代理的行為。
|