universal-dev-standards 6.1.1 → 6.2.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/bundled/locales/zh-CN/CHANGELOG.md +33 -3
- package/bundled/locales/zh-CN/README.md +75 -33
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +2 -2
- package/bundled/locales/zh-CN/core/data-migration-testing.md +2 -2
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +4 -4
- package/bundled/locales/zh-CN/docs/CLI-INIT-OPTIONS.md +9 -3
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +10 -11
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +40 -21
- package/bundled/locales/zh-CN/integrations/gemini-cli/README.md +12 -0
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +11 -5
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +2 -2
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/deploy-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/knowledge-graph/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/knowledge-graph/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +188 -2
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/orchestrate/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/plan/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/push/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/retrospective-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +40 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/CHANGELOG.md +34 -3
- package/bundled/locales/zh-TW/README.md +75 -33
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/core/audit-trail.md +2 -2
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +2 -2
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +18 -7
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +4 -4
- package/bundled/locales/zh-TW/docs/CLI-INIT-OPTIONS.md +9 -3
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +10 -11
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +40 -21
- package/bundled/locales/zh-TW/integrations/gemini-cli/README.md +12 -0
- package/bundled/skills/commands/journey-test.md +80 -6
- package/bundled/skills/commands/skill-builder.md +75 -6
- package/package.json +3 -3
- package/src/commands/check.js +54 -7
- package/src/commands/config.js +9 -0
- package/src/commands/init.js +15 -1
- package/src/commands/release.js +1 -1
- package/src/commands/update.js +82 -31
- package/src/config/ai-agent-paths.js +47 -7
- package/src/core/constants.js +61 -1
- package/src/core/manifest.js +56 -0
- package/src/flow/flow-parser.js +1 -1
- package/src/flow/gate-loader.js +1 -1
- package/src/i18n/messages.js +6 -0
- package/src/installers/standards-installer.js +10 -20
- package/src/reconciler/actual-state-scanner.js +118 -43
- package/src/reconciler/desired-state-calculator.js +157 -43
- package/src/reconciler/diff-engine.js +7 -2
- package/src/reconciler/manifest-migrator.js +5 -2
- package/src/reconciler/plan-executor.js +53 -14
- package/src/uninstallers/integration-uninstaller.js +7 -1
- package/src/utils/config-loader.js +1 -1
- package/src/utils/config-manager.js +1 -1
- package/src/utils/github.js +5 -1
- package/src/utils/hasher.js +7 -4
- package/src/utils/integration-generator.js +121 -78
- package/src/utils/registry.js +39 -0
- package/src/utils/skills-installer.js +49 -34
- package/src/utils/skills-source.js +51 -0
- package/src/utils/standard-fixer.js +1 -1
- package/src/utils/standard-validator.js +1 -1
- package/standards-registry.json +21 -11
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../../core/browser-compatibility-standards.md
|
|
3
|
-
source_version: 1.0.
|
|
4
|
-
translation_version: 1.0.
|
|
5
|
-
last_synced: 2026-
|
|
6
|
-
source_hash:
|
|
7
|
-
status:
|
|
3
|
+
source_version: 1.0.2
|
|
4
|
+
translation_version: 1.0.2
|
|
5
|
+
last_synced: 2026-07-16
|
|
6
|
+
source_hash: d4a9c4e89256
|
|
7
|
+
status: current
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# 瀏覽器相容性標準
|
|
11
11
|
|
|
12
12
|
> **語言**:[English](../../../core/browser-compatibility-standards.md) | 繁體中文
|
|
13
13
|
|
|
14
|
-
**版本**:1.0.
|
|
15
|
-
**最後更新**:2026-
|
|
14
|
+
**版本**:1.0.2
|
|
15
|
+
**最後更新**:2026-06-18
|
|
16
16
|
**適用範圍**:前端專案(網頁應用程式、漸進式網頁應用程式 PWA、Web Components)
|
|
17
17
|
**範疇**:universal
|
|
18
|
+
**Owning Spec**:XSPEC-293(與 XSPEC-209 路由覆蓋率為正交關係)
|
|
18
19
|
**業界標準**:Browserslist、W3C WebDriver、WebDriver BiDi
|
|
19
20
|
**參考資料**:[caniuse.com](https://caniuse.com/)、[Playwright 瀏覽器支援矩陣](https://playwright.dev/docs/browsers)
|
|
20
21
|
|
|
@@ -36,6 +37,14 @@ status: stale
|
|
|
36
37
|
| **Tier-2**(部分支援) | 盡力支援;主要流程必須可運作 | ≥ 95% 通過 —— 低於則 WARN,< 90% 則 FAIL |
|
|
37
38
|
| **Tier-3**(盡力而為) | 非正式支援;缺陷會記錄但不阻擋發布 | 僅作為建議參考 |
|
|
38
39
|
|
|
40
|
+
> **Tier-2「≥95%」/「<90%」門檻 — 依據與可調整性**:這些是 UDS 預設值,可依專案調整。
|
|
41
|
+
> Tier-2 定義為「盡力支援,主要流程必須可運作」,因此閘門容許少量非關鍵失敗的尾端:
|
|
42
|
+
> `≥95%` = 健康(低於此值則 WARN,以提示分流處理);`<90%` = 實質回歸(FAIL)。
|
|
43
|
+
> 可依你目標市場的瀏覽器覆蓋率調整這些值 —— 例如依 Browserslist 市佔設定
|
|
44
|
+
> (`> 0.5%` 等)推導 Tier-2 瀏覽器清單與通過門檻。**例外**:當失敗的 Tier-2
|
|
45
|
+
> 案例皆為非關鍵流程(以 Tier-3 風格記錄為缺陷)時,發布負責人可在附上記錄
|
|
46
|
+
> 理由的前提下覆寫 WARN/FAIL 判定。
|
|
47
|
+
|
|
39
48
|
---
|
|
40
49
|
|
|
41
50
|
## 預設瀏覽器矩陣
|
|
@@ -218,6 +227,8 @@ last 2 ChromeAndroid versions
|
|
|
218
227
|
|
|
219
228
|
| 版本 | 日期 | 變更內容 |
|
|
220
229
|
|---------|------|---------|
|
|
230
|
+
| 1.0.2 | 2026-06-18 | 新增:Tier-2 95%/90% 門檻的依據、可調整性與例外說明(XSPEC-292 T8 / XSPEC-293 AC-293-2) |
|
|
231
|
+
| 1.0.1 | 2026-06-18 | 新增:Owning Spec 指標 → XSPEC-293(XSPEC-291 §11) |
|
|
221
232
|
| 1.0.0 | 2026-05-05 | 首次發布:Tier-1/2/3 矩陣、Playwright 設定、雲端測試、發布閘門條件 |
|
|
222
233
|
|
|
223
234
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UDS 速查表
|
|
2
2
|
|
|
3
|
-
> Quick reference for all UDS features | Last updated: 2026-07-
|
|
3
|
+
> Quick reference for all UDS features | Last updated: 2026-07-22
|
|
4
4
|
|
|
5
5
|
**Language**: [English](../../../docs/user/CHEATSHEET.md) | 繁體中文 | [简体中文](../../zh-CN/docs/CHEATSHEET.md)
|
|
6
6
|
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
| `uds update` | Update standards to latest version |
|
|
18
18
|
| `uds skills` | List installed Claude Code skills |
|
|
19
19
|
| `uds agent` | Manage UDS agents (list, install, info) |
|
|
20
|
+
| `uds workflow` | Manage UDS workflows (list, install, info, execute, status) |
|
|
20
21
|
| `uds ai-context` | Manage AI context configuration (init, validate, graph) |
|
|
21
22
|
|
|
22
23
|
## 💬 斜線命令
|
|
@@ -358,7 +359,7 @@
|
|
|
358
359
|
| `convert-md-to-yaml.mjs` | Markdown to AI-YAML Conversion Script |
|
|
359
360
|
| `fix-manifest-paths.ps1` | Fix Manifest Paths |
|
|
360
361
|
| `fix-manifest-paths.sh` | Manifest Path Fixer |
|
|
361
|
-
| `generate-docs.mjs` |
|
|
362
|
+
| `generate-docs.mjs` | Sync the "AI Tool Support" table's Skills/Slash Co |
|
|
362
363
|
| `generate-locale-coverage.mjs` | Locale Coverage Generator |
|
|
363
364
|
| `generate-version-manifest.mjs` | Generate Version Manifest (SPEC-SELFDIAG-001 REQ-9 |
|
|
364
365
|
| `install-hooks.mjs` | Install Hooks |
|
|
@@ -368,9 +369,8 @@
|
|
|
368
369
|
| `pre-release-check.sh` | Pre-release Check Script |
|
|
369
370
|
| `pre-release.ps1` | Pre-Release Preparation Script for Universal Devel |
|
|
370
371
|
| `pre-release.sh` | Pre-Release Preparation Script |
|
|
371
|
-
| `setup-hooks.sh` | setup-hooks.sh — Install git hooks for UDS repo |
|
|
372
372
|
| `setup-husky.mjs` | Cross-platform Husky Setup Script |
|
|
373
|
-
| `sync-manifest.mjs` |
|
|
373
|
+
| `sync-manifest.mjs` | Extract top-level Commander command names register |
|
|
374
374
|
|
|
375
375
|
---
|
|
376
376
|
|
|
@@ -311,10 +311,16 @@ your-project/
|
|
|
311
311
|
|
|
312
312
|
| 格式 | 檔案類型 | Token 使用量 | 適用情境 |
|
|
313
313
|
|------|----------|--------------|----------|
|
|
314
|
-
| **Compact** (推薦) | `.ai.yaml` |
|
|
314
|
+
| **Compact** (推薦) | `.ai.yaml` | 約小 31%<sup>†</sup> | AI 助手使用、自動化 |
|
|
315
315
|
| **Detailed** | `.md` | 標準 | 人工閱讀、團隊訓練 |
|
|
316
316
|
| **Both** | 兩種都有 | 較高 | 需要兩種用途 |
|
|
317
317
|
|
|
318
|
+
<sup>†</sup> 2026-07-23 實測,涵蓋同時具備兩種形式的 135 份標準:
|
|
319
|
+
`.ai.yaml` 872,380 bytes,`.md` 1,271,471 bytes。重現指令見
|
|
320
|
+
[Content Architecture §7](../../../docs/reference/CONTENT-ARCHITECTURE.md#7-how-to-re-measure)。
|
|
321
|
+
此數字原本寫「約減少 80%」,**沒有任何量測支持**——
|
|
322
|
+
選這個選項的理由應是「結構化、機器好解析」,不是「省很多 token」。
|
|
323
|
+
|
|
318
324
|
### 詳細說明
|
|
319
325
|
|
|
320
326
|
#### Compact (推薦)
|
|
@@ -332,9 +338,9 @@ rules:
|
|
|
332
338
|
```
|
|
333
339
|
|
|
334
340
|
**特點**:
|
|
335
|
-
-
|
|
336
|
-
- 結構化 YAML 格式
|
|
341
|
+
- 結構化 YAML 格式——解析結果確定
|
|
337
342
|
- 適合 AI 解析
|
|
343
|
+
- 體積約為 Markdown 版的 69%(約小 31%,實測;見上方註)
|
|
338
344
|
|
|
339
345
|
#### Detailed
|
|
340
346
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# UDS 功能參考手冊
|
|
2
2
|
|
|
3
3
|
> Universal Development Standards - 完整功能文件
|
|
4
|
-
> Auto-generated | Last updated: 2026-07-
|
|
4
|
+
> Auto-generated | Last updated: 2026-07-22
|
|
5
5
|
|
|
6
6
|
**Language**: [English](../../../docs/reference/FEATURE-REFERENCE.md) | 繁體中文 | [简体中文](../../zh-CN/docs/FEATURE-REFERENCE.md)
|
|
7
7
|
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
4. [代理](#agents) (5)
|
|
16
16
|
5. [工作流程](#workflows) (5)
|
|
17
17
|
6. [核心規範](#core-standards) (149)
|
|
18
|
-
7. [腳本](#scripts) (
|
|
18
|
+
7. [腳本](#scripts) (57)
|
|
19
19
|
|
|
20
|
-
**Total Features:
|
|
20
|
+
**Total Features: 331**
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
| `changelog-standards` | 1.0.2 | This standard defines how to write and maintain a CHANGELOG.md file to communica |
|
|
315
315
|
| `chaos-engineering-standards` | 1.0.0 | |
|
|
316
316
|
| `chaos-injection-tests` | - | |
|
|
317
|
-
| `checkin-standards` | 1.
|
|
317
|
+
| `checkin-standards` | 1.8.0 | This standard defines quality gates that MUST be passed before committing code t |
|
|
318
318
|
| `circuit-breaker` | - | |
|
|
319
319
|
| `code-review-checklist` | 1.4.0 | This standard provides a comprehensive checklist for reviewing code changes, ens |
|
|
320
320
|
| `commit-message-guide` | 1.3.0 | Standardized commit messages improve code review efficiency, facilitate automate |
|
|
@@ -349,7 +349,7 @@
|
|
|
349
349
|
| `flaky-test-management` | - | |
|
|
350
350
|
| `flow-based-testing` | 1.3.1 | This document defines a systematic methodology for testing multi-step processes. |
|
|
351
351
|
| `forward-derivation-standards` | 1.3.0 | This standard defines the principles and workflows for Forward Derivation—automa |
|
|
352
|
-
| `frontend-design-standards` | 1.
|
|
352
|
+
| `frontend-design-standards` | 1.1.0 | This standard defines a machine-readable frontend design specification format (D |
|
|
353
353
|
| `full-coverage-testing` | - | |
|
|
354
354
|
| `git-workflow` | 1.4.0 | This standard defines Git branching strategies and workflows to ensure consisten |
|
|
355
355
|
| `git-worktree` | 1.1.0 | Define a lifecycle for using Git worktrees to isolate development work, ensuring |
|
|
@@ -384,13 +384,13 @@
|
|
|
384
384
|
| `project-structure` | 1.2.0 | This standard defines conventions for project directory structure beyond documen |
|
|
385
385
|
| `prompt-regression` | - | |
|
|
386
386
|
| `property-based-testing` | - | |
|
|
387
|
-
| `push-standards` | 1.
|
|
387
|
+
| `push-standards` | 1.1.0 | **Status**: Active | **Updated**: 2026-07-09 | |
|
|
388
388
|
| `recovery-recipe-registry` | - | |
|
|
389
389
|
| `refactoring-standards` | 2.2.0 | This standard defines comprehensive guidelines for code refactoring, covering ev |
|
|
390
390
|
| `release-quality-manifest` | - | |
|
|
391
391
|
| `release-readiness-gate` | 1.0.0 | This standard defines a **single, aggregated Release Readiness Gate** that unifi |
|
|
392
392
|
| `replay-test` | - | |
|
|
393
|
-
| `requirement-engineering` | 1.
|
|
393
|
+
| `requirement-engineering` | 1.1.0 | |
|
|
394
394
|
| `resource-cost-boundary` | 1.0.0 | **Status**: Active | **Updated**: 2026-06-17 | |
|
|
395
395
|
| `retrospective-standards` | 1.0.0 | Retrospectives are structured team reflections that identify what worked well, w |
|
|
396
396
|
| `retry-standards` | - | |
|
|
@@ -429,7 +429,7 @@
|
|
|
429
429
|
| `translation-lifecycle-standards` | 1.0.0 | Translation lifecycle standards: MISSING vs OUTDATED distinction, semver-aware s |
|
|
430
430
|
| `user-journey-testing` | - | |
|
|
431
431
|
| `user-story-mapping` | 1.0.0 | **Status**: Active | **Updated**: 2026-06-17 | |
|
|
432
|
-
| `verification-evidence` | 1.
|
|
432
|
+
| `verification-evidence` | 1.2.0 | Establish an "Iron Law" that no task can be claimed as complete without verifica |
|
|
433
433
|
| `verification-oracle` | 1.0.0 | **Status**: Active | **Updated**: 2026-06-17 | |
|
|
434
434
|
| `versioning` | 1.5.0 | This standard defines how to version software releases using Semantic Versioning |
|
|
435
435
|
| `virtual-organization-standards` | 1.0.0 | This standard treats the AI ecosystem as a "Virtual Organization." It defines ho |
|
|
@@ -487,7 +487,7 @@
|
|
|
487
487
|
| `convert-md-to-yaml.mjs` | Markdown to AI-YAML Conversion Script |
|
|
488
488
|
| `fix-manifest-paths.ps1` | Fix Manifest Paths |
|
|
489
489
|
| `fix-manifest-paths.sh` | Manifest Path Fixer |
|
|
490
|
-
| `generate-docs.mjs` |
|
|
490
|
+
| `generate-docs.mjs` | Sync the "AI Tool Support" table's Skills/Slash Commands numeric columns |
|
|
491
491
|
| `generate-locale-coverage.mjs` | Locale Coverage Generator |
|
|
492
492
|
| `generate-version-manifest.mjs` | Generate Version Manifest (SPEC-SELFDIAG-001 REQ-9, AC-14) |
|
|
493
493
|
| `install-hooks.mjs` | Install Hooks |
|
|
@@ -497,9 +497,8 @@
|
|
|
497
497
|
| `pre-release-check.sh` | Pre-release Check Script |
|
|
498
498
|
| `pre-release.ps1` | Pre-Release Preparation Script for Universal Development Standards |
|
|
499
499
|
| `pre-release.sh` | Pre-Release Preparation Script |
|
|
500
|
-
| `setup-hooks.sh` | setup-hooks.sh — Install git hooks for UDS repo |
|
|
501
500
|
| `setup-husky.mjs` | Cross-platform Husky Setup Script |
|
|
502
|
-
| `sync-manifest.mjs` |
|
|
501
|
+
| `sync-manifest.mjs` | Extract top-level Commander command names registered directly on the |
|
|
503
502
|
|
|
504
503
|
---
|
|
505
504
|
|
|
@@ -83,29 +83,39 @@ Universal Development Standards 是一套為 AI 時代設計的**語言無關、
|
|
|
83
83
|
|
|
84
84
|
## 架構
|
|
85
85
|
|
|
86
|
-
UDS
|
|
86
|
+
UDS 的內容沿**兩條彼此獨立的軸**組織。兩者回答的是不同問題,把它們混為一談是誤讀本架構最常見的原因。
|
|
87
|
+
|
|
88
|
+
### 軸一 — 深度:哪些內容必須常駐載入
|
|
89
|
+
|
|
90
|
+
這是一份行為契約,告訴 AI 代理什麼要一開始就讀、什麼留到被問時再讀。**影響 context 成本的是這條軸。**
|
|
87
91
|
|
|
88
92
|
```
|
|
89
93
|
AI Agent / 開發者
|
|
90
94
|
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
v
|
|
96
|
+
Rules (core/*.md) <- 必讀 ALWAYS READ
|
|
97
|
+
可執行規則、檢查清單、門檻值
|
|
98
|
+
|
|
|
99
|
+
+--- 需要說明? -----------> Guides (core/guides/*.md) 按需讀取
|
|
100
|
+
|
|
|
101
|
+
+--- 需要完整方法論? -----> Methodologies 按需讀取
|
|
102
|
+
(methodologies/guides/*.md)
|
|
99
103
|
```
|
|
100
104
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
|
106
|
-
|
|
105
|
+
### 軸二 — 格式:同一份標準的兩種編碼
|
|
106
|
+
|
|
107
|
+
這條軸**不帶任何深度含意**。同一份標準的 `.ai.yaml` 與 `.md` 是同一份材料的兩種編碼,依讀者是誰而選用。
|
|
108
|
+
|
|
109
|
+
| 面向 | `ai/standards/*.ai.yaml` | `core/*.md` |
|
|
110
|
+
|------|--------------------------|-------------|
|
|
111
|
+
| 編碼 | 結構化 YAML | 散文式 Markdown |
|
|
112
|
+
| 適用於 | 機器確定性查詢 | 人類閱讀與審查 |
|
|
113
|
+
| 相對體積 | 約為 Markdown 版的 69%——是**換一種格式,不是壓縮層** | 基準 |
|
|
114
|
+
|
|
115
|
+
實務上,AI 工具會自動載入 Rules 層。只有當你想了解某條規則的「為什麼」時,才需要去讀 Guides。
|
|
107
116
|
|
|
108
|
-
|
|
117
|
+
> 📐 深度契約的完整定義、它在各整合工具中的落實情形,以及契約與現況之間已量測到的落差,
|
|
118
|
+
> 記於 [Content Architecture](../../../docs/reference/CONTENT-ARCHITECTURE.md)。
|
|
109
119
|
|
|
110
120
|
---
|
|
111
121
|
|
|
@@ -579,12 +589,21 @@ Refs: SPEC-001
|
|
|
579
589
|
|
|
580
590
|
| AI 工具 | 狀態 | Skills | Slash Commands | 設定檔 |
|
|
581
591
|
|---------|------|--------|----------------|--------|
|
|
582
|
-
| **Claude Code** | 完整支援 |
|
|
583
|
-
| **OpenCode** | 完整支援 |
|
|
584
|
-
| **Gemini CLI** | Preview | 18+ | 20+ | `GEMINI.md` |
|
|
592
|
+
| **Claude Code** | 完整支援 | 55 | 51 | `CLAUDE.md` |
|
|
593
|
+
| **OpenCode** | 完整支援 | 55 | 51 | `AGENTS.md` |
|
|
585
594
|
| **Cursor** | 完整支援 | Core | Simulated | `.cursorrules` |
|
|
586
|
-
| **
|
|
587
|
-
| **
|
|
595
|
+
| **Roo Code** | 完整支援 | Core | Workflow | `.roo/rules/` |
|
|
596
|
+
| **Cline** | 部分支援 | Core | Workflow | `.clinerules` |
|
|
597
|
+
| **Windsurf** | 部分支援 | Core | Rulebook | `.windsurfrules` |
|
|
598
|
+
| **Google Antigravity** | 最低限度 | 🔬 未驗證 | — | `.antigravity/rules.md` |
|
|
599
|
+
| **Gemini CLI** | ⛔ 已停止服務 | — | — | `GEMINI.md`(已凍結)|
|
|
600
|
+
|
|
601
|
+
> Gemini CLI 已於 2026-06-18 由 Google 終止服務,由 Antigravity CLI 接手。
|
|
602
|
+
>
|
|
603
|
+
> **以上整合目前沒有任何一個通過行為驗證**——「狀態」欄說的是**我們寫的那份整合**有多完整,
|
|
604
|
+
> 不是該工具是否曾被實測。完整清單、兩套圖例與驗證排程見
|
|
605
|
+
> [README](../../README.md#-ai-工具支援);驗證程序見
|
|
606
|
+
> [Integration Verification](../../../docs/reference/INTEGRATION-VERIFICATION.md)。
|
|
588
607
|
|
|
589
608
|
> **一套標準,多工具通用** — 換 AI 工具不需要重學標準。
|
|
590
609
|
|
|
@@ -8,6 +8,18 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# Gemini CLI 整合
|
|
10
10
|
|
|
11
|
+
> ## ⛔ 已停止服務 —— 本整合已凍結
|
|
12
|
+
>
|
|
13
|
+
> Google 已於 **2026-06-18** 終止 Gemini CLI(2026-05-19 I/O 宣布,30 天遷移窗),
|
|
14
|
+
> 由 **Antigravity CLI** 接手。
|
|
15
|
+
>
|
|
16
|
+
> 本目錄**僅保留供參考**:已排除於同步檢查之外、`skills/` 變更時不會更新、請勿編輯。
|
|
17
|
+
> repo 根目錄的 `.gemini/` 樹亦同——完整理由與「為何一個月無人察覺」記於
|
|
18
|
+
> [`.gemini/DEPRECATED.md`](../../../../.gemini/DEPRECATED.md)。
|
|
19
|
+
>
|
|
20
|
+
> **要遷移?** 見[根 README](../../../../README.md#-ai-工具支援) 的 Antigravity 條目。
|
|
21
|
+
> 注意 UDS 尚未驗證 Antigravity 的 skill 安裝路徑,因此 `uds init` 不會為它安裝 skills。
|
|
22
|
+
|
|
11
23
|
本目錄提供將通用文件規範與 [Gemini CLI](https://geminicli.com/) 整合的資源。
|
|
12
24
|
|
|
13
25
|
## 概述
|
|
@@ -36,10 +36,84 @@ It is backed by the `journey-test-assistant` skill
|
|
|
36
36
|
- `/journey-test` plans a **connected, cross-feature journey** (a sequence of
|
|
37
37
|
steps with ordering and dependencies) and then generates the skeletons.
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## AI Agent Behavior | AI 代理行為
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
> Follows [AI Command Behavior Standards](../../core/ai-command-behavior.md)
|
|
42
|
+
|
|
43
|
+
### Entry Router | 進入路由
|
|
44
|
+
|
|
45
|
+
| Input | AI Action |
|
|
46
|
+
|-------|-----------|
|
|
47
|
+
| `/journey-test` | 檢查 `test-plans/` 是否已有 TESTPLAN:有 → 詢問「更新既有」或「新建」;無 → 詢問專案描述後進入生成模式 |
|
|
48
|
+
| `/journey-test <project description>` | 直接進入生成模式,以該描述執行 Phase 1 |
|
|
49
|
+
| `/journey-test --analyze` | 進入分析模式,掃描旅程覆蓋缺口,不產生檔案 |
|
|
50
|
+
| `/journey-test --archetype A1\|A2\|A3` | 進入 Archetype 模式,以指定原型為骨架生成;未帶專案描述時先詢問 |
|
|
51
|
+
|
|
52
|
+
### Interaction Script | 互動腳本
|
|
53
|
+
|
|
54
|
+
先讀取 `skills/journey-test-assistant/SKILL.md`,取得 TESTPLAN 格式(T-NNN)、
|
|
55
|
+
Personas、Environment 與 archetype 規則,並遵守該 skill 的 `allowed-tools`。
|
|
56
|
+
|
|
57
|
+
#### Phase 1: 定義 Persona
|
|
58
|
+
|
|
59
|
+
1. 分析專案描述,識別所有使用者角色
|
|
60
|
+
2. 定義每個角色的 Actor / Role / Key Permissions
|
|
61
|
+
|
|
62
|
+
**Decision: 角色無法從描述判定**
|
|
63
|
+
- IF 描述中找不到任何角色 → 詢問使用者列舉角色,不得自行臆造
|
|
64
|
+
- IF 只識別出單一角色 → 明確告知並詢問是否確實為單角色系統
|
|
65
|
+
|
|
66
|
+
🛑 **STOP**: 展示 Persona 清單後等待使用者確認
|
|
67
|
+
|
|
68
|
+
#### Phase 2: 設計旅程地圖
|
|
69
|
+
|
|
70
|
+
1. 列出主要業務目標
|
|
71
|
+
2. 拆解為 T-NNN 步驟群組(T-000 環境重置為 optional)
|
|
72
|
+
3. 宣告步驟間的依賴鏈
|
|
73
|
+
|
|
74
|
+
🛑 **STOP**: 展示依賴圖後等待使用者確認順序
|
|
75
|
+
|
|
76
|
+
#### Phase 3: 生成 TESTPLAN
|
|
77
|
+
|
|
78
|
+
1. 依格式輸出 `test-plans/TESTPLAN-NNN.md`(含 Personas、步驟群組、執行順序依賴圖)
|
|
79
|
+
|
|
80
|
+
**Decision: 檔案已存在**
|
|
81
|
+
- IF `TESTPLAN-NNN.md` 已存在 → 詢問覆蓋或遞增編號,**不得逕行覆蓋**
|
|
82
|
+
|
|
83
|
+
#### Phase 4: 生成 E2E 骨架
|
|
84
|
+
|
|
85
|
+
1. 從 TESTPLAN 的 T-NNN 生成 `*.journey.spec.ts`(含 `describe.skipIf` 與共享 state)
|
|
86
|
+
2. 骨架僅含 `[TODO]` 標記,不生成臆測的斷言
|
|
87
|
+
|
|
88
|
+
🛑 **STOP**: 產物清單展示後等待使用者決定下一步
|
|
89
|
+
|
|
90
|
+
#### 分析模式(`--analyze`)
|
|
91
|
+
|
|
92
|
+
1. 讀取 `test-plans/TESTPLAN-NNN.md`(若存在)
|
|
93
|
+
2. 掃描 `src/e2e/` 下所有 `*.journey.spec.ts` 與 `*.journey.e2e.test.ts`
|
|
94
|
+
3. 比對 TESTPLAN 的 T-NNN 與測試中的 T-NNN 引用
|
|
95
|
+
4. 輸出 Coverage gap 報告,列出缺乏自動化對應的 T-NNN
|
|
96
|
+
|
|
97
|
+
### Stop Points | 停止點
|
|
98
|
+
|
|
99
|
+
| Stop Point | 等待內容 |
|
|
100
|
+
|-----------|---------|
|
|
101
|
+
| Persona 清單展示後 | 使用者確認角色定義正確 |
|
|
102
|
+
| 依賴圖展示後 | 使用者確認步驟順序 |
|
|
103
|
+
| TESTPLAN 檔案已存在時 | 使用者決定覆蓋或遞增編號 |
|
|
104
|
+
| 產物清單展示後 | 使用者決定是否補實測試內容 |
|
|
105
|
+
|
|
106
|
+
### Error Handling | 錯誤處理
|
|
107
|
+
|
|
108
|
+
| Error Condition | AI Action |
|
|
109
|
+
|-----------------|-----------|
|
|
110
|
+
| 未提供專案描述且無既有 TESTPLAN | 詢問專案描述,不得自行假設領域 |
|
|
111
|
+
| 專案描述中無法識別任何角色 | 請使用者列舉角色,**不得臆造 persona** |
|
|
112
|
+
| `--archetype` 值不在 A1/A2/A3 | 列出三個原型的適用場景供選擇 |
|
|
113
|
+
| `--analyze` 但 `test-plans/` 不存在 | 告知無 TESTPLAN 可比對,建議先執行生成模式 |
|
|
114
|
+
| `--analyze` 但找不到任何 journey 測試 | 回報覆蓋率為 0 並列出全部 T-NNN,不視為錯誤 |
|
|
115
|
+
|
|
116
|
+
## References | 參考
|
|
117
|
+
|
|
118
|
+
- [Journey Test Assistant Skill](../journey-test-assistant/SKILL.md)
|
|
119
|
+
- Related: [/e2e](./e2e.md) (single-scenario E2E skeletons)
|
|
@@ -33,10 +33,79 @@ It is backed by the `skill-builder` skill (`skills/skill-builder/SKILL.md`).
|
|
|
33
33
|
| Complex | any of the above is exceeded | Create an XSPEC first (`/sdd`), then build |
|
|
34
34
|
| Delta | modifying an existing Skill | Append `## MODIFIED` / `## ADDED`, bump version |
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## AI Agent Behavior | AI 代理行為
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
> Follows [AI Command Behavior Standards](../../core/ai-command-behavior.md)
|
|
39
|
+
|
|
40
|
+
### Entry Router | 進入路由
|
|
41
|
+
|
|
42
|
+
| Input | AI Action |
|
|
43
|
+
|-------|-----------|
|
|
44
|
+
| `/skill-builder` | 讀取 `SKILL-CANDIDATES.md`:有已達 3 次的候選 → 列出供選擇;無 → 詢問重複流程的描述 |
|
|
45
|
+
| `/skill-builder <process description>` | 以該描述進入 Step 1,直接開始擷取流程 |
|
|
46
|
+
|
|
47
|
+
### Interaction Script | 互動腳本
|
|
48
|
+
|
|
49
|
+
先讀取 `skills/skill-builder/SKILL.md`,取得完整決策樹、放置規則、工作流程與輸出檢查表。
|
|
50
|
+
|
|
51
|
+
#### Step 1–2: 擷取流程並登記候選
|
|
52
|
+
|
|
53
|
+
1. 擷取重複序列:步驟與順序、目前手動執行過幾次、觸及哪些工具或檔案
|
|
54
|
+
2. 開啟專案的 `SKILL-CANDIDATES.md`(首次則從 `templates/SKILL-CANDIDATES.md` 複製)
|
|
55
|
+
|
|
56
|
+
**Decision: 觸發次數**
|
|
57
|
+
- IF 尚未登記 → 新增列,填入目前次數
|
|
58
|
+
- IF 已登記 → 次數 +1
|
|
59
|
+
- IF 次數 < 3 → **告知尚未達觸發門檻,登記後停止,不建立 SKILL.md**
|
|
60
|
+
- IF 次數 ≥ 3 → 標記觸發 ✅,繼續 Step 3
|
|
61
|
+
|
|
62
|
+
🛑 **STOP**: 次數未達 3 時停止於此,等待使用者明確要求才破例
|
|
63
|
+
|
|
64
|
+
#### Step 3: 路徑選擇
|
|
65
|
+
|
|
66
|
+
回答 4 個判斷問題,判定路徑:
|
|
67
|
+
|
|
68
|
+
- IF ≤7 步、無分支、<3 個標準、無原始碼產出 → **Simple**(Step 4a)
|
|
69
|
+
- IF 上述任一超出 → **Complex**(Step 4b)
|
|
70
|
+
- IF 修改既有 Skill → **Delta**(Step 4c)
|
|
71
|
+
|
|
72
|
+
🛑 **STOP**: 展示判定結果與理由後等待使用者確認路徑
|
|
73
|
+
|
|
74
|
+
#### Step 4: 依路徑分流
|
|
75
|
+
|
|
76
|
+
- **4a Simple** — 以 `templates/SKILL-BRIEF-TEMPLATE.md` 填寫 Brief:觸發情境、3–7 個核心步驟、2–3 條 AC、明確的 out of scope
|
|
77
|
+
- **4b Complex** — 執行 `/sdd` 建立 XSPEC;**XSPEC 未 Approved 前不進入 Step 5**
|
|
78
|
+
- **4c Delta** — 標定既有 SKILL.md 受影響章節,於檔末加 `## MODIFIED Requirements` 或 `## ADDED Requirements`
|
|
79
|
+
|
|
80
|
+
#### Step 5–7: 產出與登記
|
|
81
|
+
|
|
82
|
+
1. **放置決策**:步驟引用專案特有路徑(如 `TECH-RADAR.md`、`DEC-*.md`)→ `{project}/.claude/skills/`;步驟為通用 → UDS `skills/{name}/` **並建立 zh-TW locale**
|
|
83
|
+
2. 由 Brief 或 XSPEC 生成 SKILL.md,核對 frontmatter:`name`、`scope`、`description`、`allowed-tools`
|
|
84
|
+
3. 回填 `SKILL-CANDIDATES.md`:觸發 ✅、Skill 欄填入
|
|
85
|
+
4. 依 skill 的 commit 格式提交
|
|
86
|
+
|
|
87
|
+
🛑 **STOP**: commit 前展示輸出檢查表結果,等待使用者確認
|
|
88
|
+
|
|
89
|
+
### Stop Points | 停止點
|
|
90
|
+
|
|
91
|
+
| Stop Point | 等待內容 |
|
|
92
|
+
|-----------|---------|
|
|
93
|
+
| 觸發次數 < 3 | 使用者是否明確要求破例建立 |
|
|
94
|
+
| 路徑判定後 | 使用者確認 Simple / Complex / Delta |
|
|
95
|
+
| Complex 路徑 | XSPEC 經 `/sdd` 建立並 Approved |
|
|
96
|
+
| commit 前 | 使用者確認輸出檢查表 |
|
|
97
|
+
|
|
98
|
+
### Error Handling | 錯誤處理
|
|
99
|
+
|
|
100
|
+
| Error Condition | AI Action |
|
|
101
|
+
|-----------------|-----------|
|
|
102
|
+
| 未提供流程描述且無候選 | 詢問重複流程內容,**不得臆造流程** |
|
|
103
|
+
| `SKILL-CANDIDATES.md` 不存在 | 從 `templates/SKILL-CANDIDATES.md` 複製後繼續 |
|
|
104
|
+
| 觸發次數不足 3 次 | 登記候選後停止,說明門檻理由 |
|
|
105
|
+
| 同名 Skill 已存在 | 改走 Delta 路徑,不覆蓋既有 SKILL.md |
|
|
106
|
+
| 放置位置無法判定 | 列出「專案特有 vs 通用」判準請使用者裁定 |
|
|
107
|
+
|
|
108
|
+
## References | 參考
|
|
109
|
+
|
|
110
|
+
- [Skill Builder Skill](../skill-builder/SKILL.md)
|
|
111
|
+
- Related: [/sdd](./sdd.md) (Complex path creates an XSPEC first)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "universal-dev-standards",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0",
|
|
4
4
|
"description": "CLI tool for adopting Universal Development Standards",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"documentation",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"@inquirer/prompts": "^8.4.2",
|
|
63
63
|
"chalk": "^5.3.0",
|
|
64
64
|
"commander": "^15.0.0",
|
|
65
|
-
"js-yaml": "^
|
|
65
|
+
"js-yaml": "^5.2.1",
|
|
66
66
|
"ora": "^9.4.0"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@vitest/coverage-v8": "^4.1.5",
|
|
71
71
|
"ajv": "^8.20.0",
|
|
72
72
|
"ajv-formats": "^3.0.1",
|
|
73
|
-
"eslint": "10.
|
|
73
|
+
"eslint": "10.7.0",
|
|
74
74
|
"glob": "^13.0.1",
|
|
75
75
|
"globals": "17.7.0",
|
|
76
76
|
"husky": "^9.1.7",
|