universal-dev-standards 5.4.0 → 5.6.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.
Files changed (138) hide show
  1. package/bundled/ai/options/testing/integration-testing.ai.yaml +2 -2
  2. package/bundled/ai/options/testing/unit-testing.ai.yaml +2 -2
  3. package/bundled/ai/standards/adversarial-test.ai.yaml +277 -0
  4. package/bundled/ai/standards/audit-trail.ai.yaml +113 -0
  5. package/bundled/ai/standards/browser-compatibility-standards.ai.yaml +63 -0
  6. package/bundled/ai/standards/chaos-injection-tests.ai.yaml +91 -0
  7. package/bundled/ai/standards/container-image-standards.ai.yaml +88 -0
  8. package/bundled/ai/standards/container-security.ai.yaml +331 -0
  9. package/bundled/ai/standards/contract-testing-standards.ai.yaml +62 -0
  10. package/bundled/ai/standards/cost-budget-test.ai.yaml +96 -0
  11. package/bundled/ai/standards/cross-flow-regression.ai.yaml +61 -0
  12. package/bundled/ai/standards/data-contract.ai.yaml +110 -0
  13. package/bundled/ai/standards/data-migration-testing.ai.yaml +96 -0
  14. package/bundled/ai/standards/data-pipeline.ai.yaml +113 -0
  15. package/bundled/ai/standards/disaster-recovery-drill.ai.yaml +89 -0
  16. package/bundled/ai/standards/flaky-test-management.ai.yaml +89 -0
  17. package/bundled/ai/standards/flow-based-testing.ai.yaml +240 -0
  18. package/bundled/ai/standards/full-coverage-testing.ai.yaml +192 -0
  19. package/bundled/ai/standards/iac-design-principles.ai.yaml +83 -0
  20. package/bundled/ai/standards/incident-response.ai.yaml +107 -0
  21. package/bundled/ai/standards/license-compliance.ai.yaml +106 -0
  22. package/bundled/ai/standards/llm-output-validation.ai.yaml +269 -0
  23. package/bundled/ai/standards/mock-boundary.ai.yaml +250 -0
  24. package/bundled/ai/standards/mutation-testing.ai.yaml +192 -0
  25. package/bundled/ai/standards/pii-classification.ai.yaml +109 -0
  26. package/bundled/ai/standards/policy-as-code-testing.ai.yaml +227 -0
  27. package/bundled/ai/standards/prd-standards.ai.yaml +88 -0
  28. package/bundled/ai/standards/product-metrics-standards.ai.yaml +111 -0
  29. package/bundled/ai/standards/prompt-regression.ai.yaml +94 -0
  30. package/bundled/ai/standards/property-based-testing.ai.yaml +105 -0
  31. package/bundled/ai/standards/release-quality-manifest.ai.yaml +135 -0
  32. package/bundled/ai/standards/release-readiness-gate.ai.yaml +77 -0
  33. package/bundled/ai/standards/replay-test.ai.yaml +111 -0
  34. package/bundled/ai/standards/runbook.ai.yaml +104 -0
  35. package/bundled/ai/standards/sast-advanced.ai.yaml +135 -0
  36. package/bundled/ai/standards/schema-evolution.ai.yaml +111 -0
  37. package/bundled/ai/standards/secret-management-standards.ai.yaml +105 -0
  38. package/bundled/ai/standards/secure-op.ai.yaml +365 -0
  39. package/bundled/ai/standards/security-testing.ai.yaml +171 -0
  40. package/bundled/ai/standards/server-ops-security.ai.yaml +274 -0
  41. package/bundled/ai/standards/slo-sli.ai.yaml +97 -0
  42. package/bundled/ai/standards/smoke-test.ai.yaml +87 -0
  43. package/bundled/ai/standards/supply-chain-attestation.ai.yaml +109 -0
  44. package/bundled/ai/standards/test-completeness-dimensions.ai.yaml +52 -5
  45. package/bundled/ai/standards/testing.ai.yaml +20 -13
  46. package/bundled/ai/standards/user-story-mapping.ai.yaml +108 -0
  47. package/bundled/core/accessibility-standards.md +58 -0
  48. package/bundled/core/adversarial-test.md +212 -0
  49. package/bundled/core/branch-completion.md +4 -0
  50. package/bundled/core/browser-compatibility-standards.md +220 -0
  51. package/bundled/core/chaos-injection-tests.md +116 -0
  52. package/bundled/core/checkin-standards.md +1 -0
  53. package/bundled/core/container-security.md +521 -0
  54. package/bundled/core/contract-testing-standards.md +182 -0
  55. package/bundled/core/cost-budget-test.md +69 -0
  56. package/bundled/core/cross-flow-regression.md +190 -0
  57. package/bundled/core/data-migration-testing.md +110 -0
  58. package/bundled/core/disaster-recovery-drill.md +73 -0
  59. package/bundled/core/flaky-test-management.md +73 -0
  60. package/bundled/core/flow-based-testing.md +275 -0
  61. package/bundled/core/full-coverage-testing.md +183 -0
  62. package/bundled/core/llm-output-validation.md +178 -0
  63. package/bundled/core/mock-boundary.md +100 -0
  64. package/bundled/core/mutation-testing.md +97 -0
  65. package/bundled/core/performance-standards.md +65 -0
  66. package/bundled/core/policy-as-code-testing.md +188 -0
  67. package/bundled/core/prompt-regression.md +72 -0
  68. package/bundled/core/property-based-testing.md +73 -0
  69. package/bundled/core/release-quality-manifest.md +193 -0
  70. package/bundled/core/release-readiness-gate.md +184 -0
  71. package/bundled/core/replay-test.md +86 -0
  72. package/bundled/core/sast-advanced.md +300 -0
  73. package/bundled/core/secure-op.md +314 -0
  74. package/bundled/core/security-testing.md +87 -0
  75. package/bundled/core/server-ops-security.md +493 -0
  76. package/bundled/core/smoke-test.md +65 -0
  77. package/bundled/core/supply-chain-attestation.md +117 -0
  78. package/bundled/locales/zh-CN/CHANGELOG.md +3 -3
  79. package/bundled/locales/zh-CN/README.md +1 -1
  80. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +5 -5
  81. package/bundled/locales/zh-TW/CHANGELOG.md +3 -3
  82. package/bundled/locales/zh-TW/README.md +1 -1
  83. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +11 -0
  84. package/bundled/locales/zh-TW/core/contract-testing-standards.md +11 -0
  85. package/bundled/locales/zh-TW/core/cross-flow-regression.md +11 -0
  86. package/bundled/locales/zh-TW/core/release-readiness-gate.md +11 -0
  87. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +183 -79
  88. package/bundled/skills/README.md +4 -3
  89. package/bundled/skills/SKILL_NAMING.md +94 -0
  90. package/bundled/skills/ai-instruction-standards/SKILL.md +181 -88
  91. package/bundled/skills/atdd-assistant/SKILL.md +8 -0
  92. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  93. package/bundled/skills/checkin-assistant/SKILL.md +8 -0
  94. package/bundled/skills/code-review-assistant/SKILL.md +7 -0
  95. package/bundled/skills/journey-test-assistant/SKILL.md +203 -0
  96. package/bundled/skills/orchestrate/SKILL.md +167 -0
  97. package/bundled/skills/plan/SKILL.md +234 -0
  98. package/bundled/skills/pr-automation-assistant/SKILL.md +8 -0
  99. package/bundled/skills/push/SKILL.md +49 -2
  100. package/bundled/skills/{process-automation → skill-builder}/SKILL.md +1 -1
  101. package/bundled/skills/{forward-derivation → spec-derivation}/SKILL.md +1 -1
  102. package/bundled/skills/spec-driven-dev/SKILL.md +7 -0
  103. package/bundled/skills/sweep/SKILL.md +145 -0
  104. package/bundled/skills/tdd-assistant/SKILL.md +7 -0
  105. package/package.json +6 -6
  106. package/src/commands/check.js +43 -0
  107. package/src/commands/flow.js +8 -0
  108. package/src/commands/init.js +2 -1
  109. package/src/commands/start.js +14 -0
  110. package/src/commands/sweep.js +8 -0
  111. package/src/commands/update.js +10 -0
  112. package/src/commands/workflow.js +8 -0
  113. package/standards-registry.json +483 -5
  114. package/bundled/locales/zh-CN/skills/ac-coverage-assistant/SKILL.md +0 -190
  115. package/bundled/locales/zh-CN/skills/forward-derivation/SKILL.md +0 -71
  116. package/bundled/locales/zh-CN/skills/forward-derivation/guide.md +0 -130
  117. package/bundled/locales/zh-CN/skills/methodology-system/SKILL.md +0 -88
  118. package/bundled/locales/zh-CN/skills/methodology-system/create-methodology.md +0 -350
  119. package/bundled/locales/zh-CN/skills/methodology-system/guide.md +0 -131
  120. package/bundled/locales/zh-CN/skills/methodology-system/runtime.md +0 -279
  121. package/bundled/locales/zh-CN/skills/process-automation/SKILL.md +0 -143
  122. package/bundled/locales/zh-TW/skills/ac-coverage-assistant/SKILL.md +0 -195
  123. package/bundled/locales/zh-TW/skills/deploy-assistant/SKILL.md +0 -178
  124. package/bundled/locales/zh-TW/skills/forward-derivation/SKILL.md +0 -69
  125. package/bundled/locales/zh-TW/skills/forward-derivation/guide.md +0 -415
  126. package/bundled/locales/zh-TW/skills/methodology-system/SKILL.md +0 -86
  127. package/bundled/locales/zh-TW/skills/methodology-system/create-methodology.md +0 -350
  128. package/bundled/locales/zh-TW/skills/methodology-system/guide.md +0 -131
  129. package/bundled/locales/zh-TW/skills/methodology-system/runtime.md +0 -279
  130. package/bundled/locales/zh-TW/skills/process-automation/SKILL.md +0 -144
  131. /package/bundled/skills/{ac-coverage-assistant → ac-coverage}/SKILL.md +0 -0
  132. /package/bundled/skills/{methodology-system → dev-methodology}/SKILL.md +0 -0
  133. /package/bundled/skills/{methodology-system → dev-methodology}/create-methodology.md +0 -0
  134. /package/bundled/skills/{methodology-system → dev-methodology}/guide.md +0 -0
  135. /package/bundled/skills/{methodology-system → dev-methodology}/integrated-flow.md +0 -0
  136. /package/bundled/skills/{methodology-system → dev-methodology}/prerequisite-check.md +0 -0
  137. /package/bundled/skills/{methodology-system → dev-methodology}/runtime.md +0 -0
  138. /package/bundled/skills/{forward-derivation → spec-derivation}/guide.md +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "universal-dev-standards",
3
- "version": "5.4.0",
3
+ "version": "5.6.0",
4
4
  "description": "CLI tool for adopting Universal Development Standards",
5
5
  "keywords": [
6
6
  "documentation",
@@ -59,23 +59,23 @@
59
59
  "prepack": "node scripts/prepack.mjs"
60
60
  },
61
61
  "dependencies": {
62
- "@inquirer/prompts": "8.4.1",
62
+ "@inquirer/prompts": "^8.4.2",
63
63
  "chalk": "^5.3.0",
64
64
  "commander": "^14.0.0",
65
65
  "js-yaml": "^4.1.0",
66
- "ora": "^9.3.0"
66
+ "ora": "^9.4.0"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@eslint/js": "^10.0.1",
70
- "@vitest/coverage-v8": "^4.1.2",
71
- "ajv": "^8.17.1",
70
+ "@vitest/coverage-v8": "^4.1.5",
71
+ "ajv": "^8.20.0",
72
72
  "ajv-formats": "^3.0.1",
73
73
  "eslint": "10.2.1",
74
74
  "glob": "^13.0.1",
75
75
  "globals": "17.5.0",
76
76
  "husky": "^9.1.7",
77
77
  "lint-staged": "^16.4.0",
78
- "vitest": "^4.1.2"
78
+ "vitest": "^4.1.5"
79
79
  },
80
80
  "lint-staged": {
81
81
  "src/**/*.js": [
@@ -3,6 +3,7 @@ import { select } from '@inquirer/prompts';
3
3
  import ora from 'ora';
4
4
  import { existsSync, readFileSync } from 'fs';
5
5
  import { join, basename } from 'path';
6
+ import { execSync } from 'child_process';
6
7
  import { readManifest, writeManifest, isInitialized, copyStandard, copyIntegration } from '../utils/copier.js';
7
8
  import {
8
9
  getAllStandards,
@@ -360,6 +361,9 @@ export async function checkCommand(options = {}) {
360
361
  // Coverage report
361
362
  displayCoverageReport(manifest, msg, common, projectPath);
362
363
 
364
+ // XSPEC-178: Full coverage compliance check
365
+ checkFullCoverageCompliance(manifest, projectPath);
366
+
363
367
  // Workflow status
364
368
  displayWorkflowStatus(projectPath);
365
369
 
@@ -923,6 +927,45 @@ function displaySkillsStatus(manifest, projectPath, msg) {
923
927
  return { missingSkills, missingCommands };
924
928
  }
925
929
 
930
+ /**
931
+ * XSPEC-178: Check full-coverage-testing standard presence and STUB markers
932
+ */
933
+ function checkFullCoverageCompliance(manifest, projectPath) {
934
+ // Check 1: full-coverage-testing.ai.yaml presence
935
+ const fullCoveragePath = join(projectPath, '.standards', 'full-coverage-testing.ai.yaml');
936
+ const hasFullCoverage = existsSync(fullCoveragePath);
937
+
938
+ if (!hasFullCoverage) {
939
+ try {
940
+ const semver = manifest?.upstream?.version || '0.0.0';
941
+ const parts = semver.split('.').map(Number);
942
+ const isV5_5plus = parts[0] > 5 || (parts[0] === 5 && (parts[1] || 0) >= 5);
943
+ if (isV5_5plus) {
944
+ console.log(chalk.yellow(' ⚠ [XSPEC-178] full-coverage-testing.ai.yaml not found.'));
945
+ console.log(chalk.gray(' Run `uds update` to install the full-coverage testing standard.'));
946
+ console.log();
947
+ }
948
+ } catch { /* ignore semver parse errors */ }
949
+ }
950
+
951
+ // Check 2: STUB marker count (advisory)
952
+ const srcDir = join(projectPath, 'src');
953
+ if (existsSync(srcDir)) {
954
+ try {
955
+ const result = execSync(
956
+ `grep -rn "WARNING: STUB" "${srcDir}" --include="*.ts" --include="*.js" 2>/dev/null | wc -l`,
957
+ { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'ignore'] }
958
+ ).trim();
959
+ const stubCount = parseInt(result, 10) || 0;
960
+ if (stubCount > 0) {
961
+ console.log(chalk.yellow(` ⚠ [STUB] ${stubCount} STUB marker(s) found in src/.`));
962
+ console.log(chalk.gray(' Must be removed before UAT/production deployment (XSPEC-178).'));
963
+ console.log();
964
+ }
965
+ } catch { /* grep not available or src not scannable */ }
966
+ }
967
+ }
968
+
926
969
  /**
927
970
  * Display coverage report
928
971
  */
@@ -2,6 +2,14 @@
2
2
  * UDS Flow Command — SPEC-FLOW-001
3
3
  *
4
4
  * CLI 命令:管理自訂 SDLC 流程(create/list/validate/diff/export/import)。
5
+ *
6
+ * @deprecated XSPEC-095 (2026-04-28): This command is superseded by `devap flow`.
7
+ * The list/validate/diff operations have been extracted to DevAP:
8
+ * - CLI command: dev-autopilot/packages/cli/src/commands/flow-mgmt.ts
9
+ *
10
+ * 棄用理由:UDS 專注於活動定義,DevAP 承擔流程編排(XSPEC-086 / DEC-049)。
11
+ * UDS 5.x 仍維持本命令可用(向後相容),UDS 6.0.0 將移除。
12
+ * 建議遷移:`uds flow list/validate/diff` → `devap flow list/validate/diff`
5
13
  */
6
14
 
7
15
  import { existsSync, readdirSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
@@ -399,7 +399,8 @@ function buildNonInteractiveConfig(options, detected, projectPath) {
399
399
  workflow: options.workflow || 'github-flow',
400
400
  merge_strategy: options.mergeStrategy || 'squash',
401
401
  output_language: options.outputLang || 'english',
402
- test_levels: options.testLevels ? options.testLevels.split(',') : ['unit-testing', 'integration-testing', 'system-testing', 'e2e-testing']
402
+ test_levels: options.testLevels ? options.testLevels.split(',') : ['unit-testing', 'integration-testing', 'system-testing', 'e2e-testing'],
403
+ coverage_model: options.coverageModel || 'full-coverage'
403
404
  },
404
405
  skillsConfig,
405
406
  aiTools: aiToolsNormalized,
@@ -1,3 +1,17 @@
1
+ /**
2
+ * UDS Start Command — Mission 任務啟動
3
+ *
4
+ * 啟動一個具名任務(Mission)並設定任務意圖。
5
+ *
6
+ * @deprecated XSPEC-095 (2026-04-28): This command is superseded by `devap mission`.
7
+ * The orchestration logic has been extracted to DevAP:
8
+ * - Core module: dev-autopilot/packages/core/src/mission/
9
+ * - CLI command: dev-autopilot/packages/cli/src/commands/mission.ts
10
+ *
11
+ * 棄用理由:UDS 專注於活動定義,DevAP 承擔流程編排(XSPEC-086 / DEC-049)。
12
+ * UDS 5.x 仍維持本命令可用(向後相容),UDS 6.0.0 將移除。
13
+ * 建議遷移:`uds start ...` → `devap mission start <type> "<intent>"`
14
+ */
1
15
  import chalk from 'chalk';
2
16
  import { select, input, confirm as inquirerConfirm } from '@inquirer/prompts';
3
17
  import { MissionManager, MissionType, MissionState } from '../missions/MissionManager.js';
@@ -6,6 +6,14 @@
6
6
  *
7
7
  * @module commands/sweep
8
8
  * @see docs/specs/system/vibe-coding-integration.md (AC-2)
9
+ * @deprecated XSPEC-095 (2026-04-28): This command is superseded by `devap sweep`.
10
+ * The orchestration logic has been extracted to DevAP:
11
+ * - Core module: dev-autopilot/packages/core/src/sweep/
12
+ * - CLI command: dev-autopilot/packages/cli/src/commands/sweep.ts
13
+ *
14
+ * 棄用理由:UDS 專注於活動定義,DevAP 承擔流程編排(XSPEC-086 / DEC-049)。
15
+ * UDS 5.x 仍維持本命令可用(向後相容),UDS 6.0.0 將移除。
16
+ * 建議遷移:`uds sweep ...` → `devap sweep [--fix] [--report]`
9
17
  */
10
18
 
11
19
  import chalk from 'chalk';
@@ -686,6 +686,16 @@ export async function updateCommand(options) {
686
686
  }
687
687
  }
688
688
 
689
+ // Migrate testing paradigm: pyramid thresholds → full-coverage (v5.5.0, XSPEC-178)
690
+ const isPreV5_5 = compareVersions(installedVersion, '5.5.0') < 0;
691
+ if (isPreV5_5) {
692
+ manifest.options = manifest.options || {};
693
+ manifest.options.coverage_model = manifest.options.coverage_model || 'full-coverage';
694
+ console.log();
695
+ console.log(chalk.yellow(msg.testParadigmMigrated || '⚠ Testing paradigm migrated: pyramid thresholds (UT≥80%/IT≥70%) → behavior-completeness full coverage (XSPEC-178)'));
696
+ console.log(chalk.cyan(msg.testParadigmNote || ' full-coverage-testing.ai.yaml installed. Review scripts/check-stubs.sh and scripts/check-anti-fake-tests.sh in your project.'));
697
+ }
698
+
689
699
  // Update manifest
690
700
  manifest.version = '3.3.0';
691
701
  manifest.upstream.version = latestVersion;
@@ -4,6 +4,14 @@
4
4
  * CLI commands for listing and installing UDS workflows.
5
5
  *
6
6
  * @version 1.0.0
7
+ * @deprecated XSPEC-095 (2026-04-28): This command is superseded by `devap workflow`.
8
+ * The orchestration logic has been extracted to DevAP:
9
+ * - Core module: dev-autopilot/packages/core/src/workflow-state/ + core/src/flow/
10
+ * - CLI command: dev-autopilot/packages/cli/src/commands/workflow.ts
11
+ *
12
+ * 棄用理由:UDS 專注於活動定義,DevAP 承擔流程編排(XSPEC-086 / DEC-049)。
13
+ * UDS 5.x 仍維持本命令可用(向後相容),UDS 6.0.0 將移除。
14
+ * 建議遷移:`uds workflow ...` → `devap workflow list/execute/status`
7
15
  */
8
16
 
9
17
  import chalk from 'chalk';