universal-dev-standards 4.2.0 → 5.0.0-beta.10
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/README.md +3 -3
- package/bin/uds.js +165 -5
- package/bundled/core/acceptance-test-driven-development.md +19 -721
- package/bundled/core/accessibility-standards.md +862 -0
- package/bundled/core/ai-agreement-standards.md +95 -0
- package/bundled/core/ai-friendly-architecture.md +2 -0
- package/bundled/core/ai-instruction-standards.md +2 -0
- package/bundled/core/anti-hallucination.md +90 -637
- package/bundled/core/behavior-driven-development.md +20 -735
- package/bundled/core/changelog-standards.md +4 -0
- package/bundled/core/checkin-standards.md +21 -4
- package/bundled/core/code-review-checklist.md +3 -0
- package/bundled/core/commit-message-guide.md +14 -3
- package/bundled/core/deployment-standards.md +296 -0
- package/bundled/core/developer-memory.md +568 -0
- package/bundled/core/documentation-structure.md +114 -18
- package/bundled/core/documentation-writing-standards.md +272 -2
- package/bundled/core/error-code-standards.md +3 -0
- package/bundled/core/forward-derivation-standards.md +134 -8
- package/bundled/core/git-workflow.md +72 -686
- package/bundled/core/guides/anti-hallucination-guide.md +517 -0
- package/bundled/core/guides/git-workflow-guide.md +954 -0
- package/bundled/core/guides/performance-guide.md +508 -0
- package/bundled/core/guides/refactoring-guide.md +608 -0
- package/bundled/core/guides/security-guide.md +485 -0
- package/bundled/core/logging-standards.md +337 -2
- package/bundled/core/performance-standards.md +231 -0
- package/bundled/core/project-context-memory.md +180 -0
- package/bundled/core/project-structure.md +315 -2
- package/bundled/core/refactoring-standards.md +81 -761
- package/bundled/core/requirement-engineering.md +39 -0
- package/bundled/core/reverse-engineering-standards.md +6 -4
- package/bundled/core/security-standards.md +244 -0
- package/bundled/core/spec-driven-development.md +20 -319
- package/bundled/core/test-completeness-dimensions.md +213 -11
- package/bundled/core/test-driven-development.md +22 -978
- package/bundled/core/testing-standards.md +222 -2903
- package/bundled/core/versioning.md +16 -55
- package/bundled/core/virtual-organization-standards.md +85 -0
- package/bundled/locales/README.md +4 -4
- package/bundled/locales/zh-CN/CHANGELOG.md +18 -18
- package/bundled/locales/zh-CN/CLAUDE.md +3 -3
- package/bundled/locales/zh-CN/MAINTENANCE.md +7 -7
- package/bundled/locales/zh-CN/README.md +2 -2
- package/bundled/locales/zh-CN/STANDARDS-MAPPING.md +1 -1
- package/bundled/locales/zh-CN/adoption/ADOPTION-GUIDE.md +3 -3
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +66 -7
- package/bundled/locales/zh-CN/adoption/STATIC-DYNAMIC-GUIDE.md +22 -22
- package/bundled/locales/zh-CN/adoption/checklists/enterprise.md +5 -5
- package/bundled/locales/zh-CN/adoption/checklists/minimal.md +4 -4
- package/bundled/locales/zh-CN/adoption/checklists/recommended.md +5 -5
- package/bundled/locales/zh-CN/ai/MAINTENANCE.md +13 -13
- package/bundled/locales/zh-CN/core/ai-instruction-standards.md +1 -1
- package/bundled/locales/zh-CN/core/anti-hallucination.md +39 -3
- package/bundled/locales/zh-CN/core/checkin-standards.md +18 -5
- package/bundled/locales/zh-CN/core/commit-message-guide.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +576 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +43 -5
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +146 -5
- package/bundled/locales/zh-CN/core/git-workflow.md +179 -4
- package/bundled/locales/zh-CN/core/logging-standards.md +177 -4
- package/bundled/locales/zh-CN/core/project-structure.md +117 -5
- package/bundled/locales/zh-CN/core/refactoring-standards.md +3 -3
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +6 -6
- package/bundled/locales/zh-CN/core/spec-driven-development.md +516 -14
- package/bundled/locales/zh-CN/core/test-completeness-dimensions.md +155 -24
- package/bundled/locales/zh-CN/core/test-driven-development.md +71 -20
- package/bundled/locales/zh-CN/core/testing-standards.md +4 -4
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/AI-AGENT-ROADMAP.md +90 -51
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +184 -0
- package/bundled/locales/zh-CN/docs/CLI-FLOW.md +239 -0
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +320 -0
- package/bundled/locales/zh-CN/docs/OPERATION-WORKFLOW.md +43 -43
- package/bundled/locales/zh-CN/docs/STANDARDS-REFERENCE.md +440 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +1 -1
- package/bundled/locales/zh-CN/docs/WINDOWS-GUIDE.md +1 -1
- package/bundled/locales/zh-CN/integrations/codex/README.md +3 -3
- package/bundled/locales/zh-CN/integrations/gemini-cli/README.md +3 -3
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +5 -5
- package/bundled/locales/zh-CN/integrations/github-copilot/copilot-instructions.md +9 -9
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +18 -6
- package/bundled/locales/zh-CN/integrations/google-antigravity/README.md +2 -2
- package/bundled/locales/zh-CN/integrations/opencode/README.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +22 -10
- package/bundled/locales/zh-CN/integrations/openspec/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/spec-kit/AGENTS.md +3 -3
- package/bundled/locales/zh-CN/integrations/spec-kit/README.md +1 -1
- package/bundled/locales/zh-CN/options/commit-message/bilingual.md +1 -1
- package/bundled/locales/zh-CN/options/commit-message/english.md +1 -1
- package/bundled/locales/zh-CN/options/commit-message/traditional-chinese.md +1 -1
- package/bundled/locales/zh-CN/options/git-workflow/gitflow.md +1 -1
- package/bundled/locales/zh-CN/options/git-workflow/github-flow.md +1 -1
- package/bundled/locales/zh-CN/options/git-workflow/merge-commit.md +1 -1
- package/bundled/locales/zh-CN/options/git-workflow/rebase-ff.md +1 -1
- package/bundled/locales/zh-CN/options/git-workflow/squash-merge.md +1 -1
- package/bundled/locales/zh-CN/options/git-workflow/trunk-based.md +1 -1
- package/bundled/locales/zh-CN/options/project-structure/dotnet.md +1 -1
- package/bundled/locales/zh-CN/options/project-structure/go.md +1 -1
- package/bundled/locales/zh-CN/options/project-structure/java.md +1 -1
- package/bundled/locales/zh-CN/options/project-structure/nodejs.md +1 -1
- package/bundled/locales/zh-CN/options/project-structure/python.md +1 -1
- package/bundled/locales/zh-CN/options/testing/e2e-testing.md +1 -1
- package/bundled/locales/zh-CN/options/testing/integration-testing.md +1 -1
- package/bundled/locales/zh-CN/options/testing/system-testing.md +1 -1
- package/bundled/locales/zh-CN/options/testing/unit-testing.md +1 -1
- package/bundled/locales/zh-CN/skills/{claude-code/CONTRIBUTING.template.md → CONTRIBUTING.template.md} +2 -2
- package/bundled/locales/zh-CN/skills/README.md +131 -81
- package/bundled/locales/zh-CN/skills/agents/README.md +281 -0
- package/bundled/locales/zh-CN/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/SKILL.md +10 -10
- package/bundled/locales/zh-CN/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/anti-hallucination.md +8 -8
- package/bundled/locales/zh-CN/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/certainty-labels.md +8 -8
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +221 -0
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +214 -0
- package/bundled/locales/zh-CN/skills/atdd-assistant/SKILL.md +71 -0
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +428 -0
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +484 -0
- package/bundled/locales/zh-CN/skills/atdd-assistant/guide.md +368 -0
- package/bundled/locales/zh-CN/skills/bdd-assistant/SKILL.md +68 -0
- package/bundled/locales/zh-CN/skills/bdd-assistant/bdd-workflow.md +406 -0
- package/bundled/locales/zh-CN/skills/bdd-assistant/gherkin-guide.md +454 -0
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +324 -0
- package/bundled/locales/zh-CN/skills/changelog-guide/SKILL.md +64 -0
- package/bundled/locales/zh-CN/skills/{claude-code/changelog-guide/SKILL.md → changelog-guide/guide.md} +6 -7
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +56 -0
- package/bundled/locales/zh-CN/skills/{claude-code/checkin-assistant/SKILL.md → checkin-assistant/guide.md} +6 -7
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +56 -0
- package/bundled/locales/zh-CN/skills/{claude-code/code-review-assistant → code-review-assistant}/checkin-checklist.md +4 -4
- package/bundled/locales/zh-CN/skills/{claude-code/code-review-assistant/SKILL.md → code-review-assistant/guide.md} +5 -6
- package/bundled/locales/zh-CN/skills/{claude-code/code-review-assistant → code-review-assistant}/review-checklist.md +4 -4
- package/bundled/locales/zh-CN/skills/{claude-code/commands → commands}/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/{claude-code/commands → commands}/methodology.md +3 -3
- package/bundled/locales/zh-CN/skills/{claude-code/commands → commands}/refactor.md +3 -3
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +61 -0
- package/bundled/locales/zh-CN/skills/{claude-code/commit-standards → commit-standards}/conventional-commits.md +4 -4
- package/bundled/locales/zh-CN/skills/{claude-code/commit-standards/SKILL.md → commit-standards/guide.md} +5 -6
- package/bundled/locales/zh-CN/skills/{claude-code/commit-standards → commit-standards}/language-options.md +3 -3
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +59 -0
- package/bundled/locales/zh-CN/skills/docs-generator/guide.md +262 -0
- package/bundled/locales/zh-CN/skills/{claude-code/documentation-guide → documentation-guide}/SKILL.md +7 -8
- package/bundled/locales/zh-CN/skills/{claude-code/documentation-guide → documentation-guide}/documentation-structure.md +4 -4
- package/bundled/locales/zh-CN/skills/{claude-code/documentation-guide → documentation-guide}/readme-template.md +3 -3
- package/bundled/locales/zh-CN/skills/{claude-code/error-code-guide → error-code-guide}/SKILL.md +6 -6
- package/bundled/locales/zh-CN/skills/forward-derivation/SKILL.md +62 -0
- package/bundled/locales/zh-CN/skills/forward-derivation/guide.md +130 -0
- package/bundled/locales/zh-CN/skills/{claude-code/git-workflow-guide → git-workflow-guide}/SKILL.md +6 -6
- package/bundled/locales/zh-CN/skills/{claude-code/git-workflow-guide → git-workflow-guide}/branch-naming.md +3 -3
- package/bundled/locales/zh-CN/skills/{claude-code/git-workflow-guide → git-workflow-guide}/git-workflow.md +4 -4
- package/bundled/locales/zh-CN/skills/{claude-code/logging-guide → logging-guide}/SKILL.md +6 -6
- package/bundled/locales/zh-CN/skills/methodology-system/SKILL.md +78 -0
- package/bundled/locales/zh-CN/skills/{claude-code/methodology-system → methodology-system}/create-methodology.md +2 -2
- package/bundled/locales/zh-CN/skills/{claude-code/methodology-system/SKILL.md → methodology-system/guide.md} +2 -2
- package/bundled/locales/zh-CN/skills/{claude-code/methodology-system → methodology-system}/runtime.md +3 -3
- package/bundled/locales/zh-CN/skills/project-discovery/SKILL.md +66 -0
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +371 -0
- package/bundled/locales/zh-CN/skills/{claude-code/project-structure-guide → project-structure-guide}/SKILL.md +4 -4
- package/bundled/locales/zh-CN/skills/{claude-code/project-structure-guide → project-structure-guide}/language-patterns.md +1 -1
- package/bundled/locales/zh-CN/skills/refactoring-assistant/SKILL.md +67 -0
- package/bundled/locales/zh-CN/skills/{claude-code/refactoring-assistant/SKILL.md → refactoring-assistant/guide.md} +7 -8
- package/bundled/locales/zh-CN/skills/release-standards/SKILL.md +64 -0
- package/bundled/locales/zh-CN/skills/{claude-code/release-standards → release-standards}/changelog-format.md +3 -3
- package/bundled/locales/zh-CN/skills/{claude-code/release-standards/SKILL.md → release-standards/guide.md} +5 -6
- package/bundled/locales/zh-CN/skills/{claude-code/release-standards → release-standards}/release-workflow.md +7 -7
- package/bundled/locales/zh-CN/skills/{claude-code/release-standards → release-standards}/semantic-versioning.md +3 -3
- package/bundled/locales/zh-CN/skills/requirement-assistant/SKILL.md +67 -0
- package/bundled/locales/zh-CN/skills/{claude-code/requirement-assistant/SKILL.md → requirement-assistant/guide.md} +4 -5
- package/bundled/locales/zh-CN/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-checklist.md +3 -3
- package/bundled/locales/zh-CN/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-writing.md +3 -3
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +67 -0
- package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer → reverse-engineer}/bdd-extraction.md +2 -2
- package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer/SKILL.md → reverse-engineer/guide.md} +17 -18
- package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer → reverse-engineer}/tdd-analysis.md +2 -2
- package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer → reverse-engineer}/workflow.md +3 -3
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +75 -0
- package/bundled/locales/zh-CN/skills/{claude-code/spec-driven-dev/SKILL.md → spec-driven-dev/guide.md} +10 -11
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +66 -0
- package/bundled/locales/zh-CN/skills/{claude-code/tdd-assistant/SKILL.md → tdd-assistant/guide.md} +12 -16
- package/bundled/locales/zh-CN/skills/{claude-code/tdd-assistant → tdd-assistant}/language-examples.md +3 -3
- package/bundled/locales/zh-CN/skills/{claude-code/tdd-assistant → tdd-assistant}/tdd-workflow.md +3 -3
- package/bundled/locales/zh-CN/skills/test-coverage-assistant/SKILL.md +65 -0
- package/bundled/locales/zh-CN/skills/test-coverage-assistant/guide.md +284 -0
- package/bundled/locales/zh-CN/skills/{claude-code/testing-guide → testing-guide}/SKILL.md +8 -8
- package/bundled/locales/zh-CN/skills/{claude-code/testing-guide → testing-guide}/testing-pyramid.md +4 -4
- package/bundled/locales/zh-CN/skills/{cline → tools/cline}/README.md +1 -1
- package/bundled/locales/zh-CN/skills/{copilot → tools/copilot}/README.md +1 -1
- package/bundled/locales/zh-CN/skills/{copilot → tools/copilot}/copilot-instructions.md +1 -1
- package/bundled/locales/zh-CN/skills/{cursor → tools/cursor}/README.md +1 -1
- package/bundled/locales/zh-CN/skills/{windsurf → tools/windsurf}/README.md +1 -1
- package/bundled/locales/zh-TW/CHANGELOG.md +16 -16
- package/bundled/locales/zh-TW/CLAUDE.md +3 -3
- package/bundled/locales/zh-TW/MAINTENANCE.md +7 -7
- package/bundled/locales/zh-TW/README.md +13 -7
- package/bundled/locales/zh-TW/STANDARDS-MAPPING.md +1 -1
- package/bundled/locales/zh-TW/adoption/ADOPTION-GUIDE.md +4 -4
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +66 -7
- package/bundled/locales/zh-TW/adoption/STATIC-DYNAMIC-GUIDE.md +22 -22
- package/bundled/locales/zh-TW/adoption/checklists/enterprise.md +5 -5
- package/bundled/locales/zh-TW/adoption/checklists/minimal.md +4 -4
- package/bundled/locales/zh-TW/adoption/checklists/recommended.md +5 -5
- package/bundled/locales/zh-TW/ai/MAINTENANCE.md +13 -13
- package/bundled/locales/zh-TW/ai/standards/anti-hallucination.ai.yaml +3 -2
- package/bundled/locales/zh-TW/ai/standards/git-workflow.ai.yaml +4 -3
- package/bundled/locales/zh-TW/ai/standards/spec-driven-development.ai.yaml +3 -3
- package/bundled/locales/zh-TW/ai/standards/testing.ai.yaml +1 -0
- package/bundled/locales/zh-TW/core/ai-instruction-standards.md +1 -1
- package/bundled/locales/zh-TW/core/anti-hallucination.md +38 -701
- package/bundled/locales/zh-TW/core/changelog-standards.md +1 -1
- package/bundled/locales/zh-TW/core/checkin-standards.md +18 -5
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/commit-message-guide.md +1 -1
- package/bundled/locales/zh-TW/core/developer-memory.md +576 -0
- package/bundled/locales/zh-TW/core/documentation-structure.md +115 -22
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +126 -5
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +2 -2
- package/bundled/locales/zh-TW/core/git-workflow.md +38 -812
- package/bundled/locales/zh-TW/core/guides/anti-hallucination-guide.md +779 -0
- package/bundled/locales/zh-TW/core/guides/git-workflow-guide.md +1016 -0
- package/bundled/locales/zh-TW/core/guides/refactoring-guide.md +864 -0
- package/bundled/locales/zh-TW/core/guides/testing-guide.md +2280 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +159 -4
- package/bundled/locales/zh-TW/core/project-structure.md +102 -9
- package/bundled/locales/zh-TW/core/refactoring-standards.md +37 -823
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +6 -6
- package/bundled/locales/zh-TW/core/spec-driven-development.md +17 -268
- package/bundled/locales/zh-TW/core/test-completeness-dimensions.md +128 -14
- package/bundled/locales/zh-TW/core/test-driven-development.md +20 -983
- package/bundled/locales/zh-TW/core/testing-standards.md +120 -2105
- package/bundled/locales/zh-TW/core/versioning.md +13 -55
- package/bundled/locales/zh-TW/docs/AI-AGENT-ROADMAP.md +90 -51
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +184 -0
- package/bundled/locales/zh-TW/docs/CLI-FLOW.md +239 -0
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +320 -0
- package/bundled/locales/zh-TW/docs/MIGRATION-V5.md +71 -0
- package/bundled/locales/zh-TW/docs/OPERATION-WORKFLOW.md +42 -42
- package/bundled/locales/zh-TW/docs/STANDARDS-REFERENCE.md +440 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +1 -1
- package/bundled/locales/zh-TW/docs/WINDOWS-GUIDE.md +1 -1
- package/bundled/locales/zh-TW/integrations/claude-code/README.md +44 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/copilot-instructions.md +3 -3
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +18 -6
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +22 -10
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +338 -0
- package/bundled/locales/zh-TW/methodologies/guides/tdd-guide.md +1055 -0
- package/bundled/locales/zh-TW/options/commit-message/bilingual.md +1 -1
- package/bundled/locales/zh-TW/options/commit-message/english.md +1 -1
- package/bundled/locales/zh-TW/options/commit-message/traditional-chinese.md +1 -1
- package/bundled/locales/zh-TW/options/git-workflow/gitflow.md +1 -1
- package/bundled/locales/zh-TW/options/git-workflow/github-flow.md +1 -1
- package/bundled/locales/zh-TW/options/git-workflow/merge-commit.md +1 -1
- package/bundled/locales/zh-TW/options/git-workflow/rebase-ff.md +1 -1
- package/bundled/locales/zh-TW/options/git-workflow/squash-merge.md +1 -1
- package/bundled/locales/zh-TW/options/git-workflow/trunk-based.md +1 -1
- package/bundled/locales/zh-TW/options/project-structure/dotnet.md +1 -1
- package/bundled/locales/zh-TW/options/project-structure/go.md +1 -1
- package/bundled/locales/zh-TW/options/project-structure/java.md +1 -1
- package/bundled/locales/zh-TW/options/project-structure/nodejs.md +1 -1
- package/bundled/locales/zh-TW/options/project-structure/python.md +1 -1
- package/bundled/locales/zh-TW/options/testing/e2e-testing.md +1 -1
- package/bundled/locales/zh-TW/options/testing/integration-testing.md +1 -1
- package/bundled/locales/zh-TW/options/testing/system-testing.md +1 -1
- package/bundled/locales/zh-TW/options/testing/unit-testing.md +1 -1
- package/bundled/locales/zh-TW/skills/{claude-code/CONTRIBUTING.template.md → CONTRIBUTING.template.md} +2 -2
- package/bundled/locales/zh-TW/skills/README.md +131 -79
- package/bundled/locales/zh-TW/skills/agents/README.md +281 -0
- package/bundled/locales/zh-TW/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/SKILL.md +7 -7
- package/bundled/locales/zh-TW/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/anti-hallucination.md +8 -8
- package/bundled/locales/zh-TW/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/certainty-labels.md +8 -8
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +221 -0
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +214 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +71 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +428 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +484 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/guide.md +368 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +68 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/bdd-workflow.md +406 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/gherkin-guide.md +454 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +324 -0
- package/bundled/locales/zh-TW/skills/changelog-guide/SKILL.md +64 -0
- package/bundled/locales/zh-TW/skills/{claude-code/changelog-guide/SKILL.md → changelog-guide/guide.md} +6 -7
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +56 -0
- package/bundled/locales/zh-TW/skills/{claude-code/checkin-assistant/SKILL.md → checkin-assistant/guide.md} +6 -7
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +56 -0
- package/bundled/locales/zh-TW/skills/{claude-code/code-review-assistant → code-review-assistant}/checkin-checklist.md +4 -4
- package/bundled/locales/zh-TW/skills/{claude-code/code-review-assistant/SKILL.md → code-review-assistant/guide.md} +2 -3
- package/bundled/locales/zh-TW/skills/{claude-code/code-review-assistant → code-review-assistant}/review-checklist.md +4 -4
- package/bundled/locales/zh-TW/skills/{claude-code/commands → commands}/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/{claude-code/commands → commands}/methodology.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/commands → commands}/refactor.md +3 -3
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +61 -0
- package/bundled/locales/zh-TW/skills/{claude-code/commit-standards → commit-standards}/conventional-commits.md +4 -4
- package/bundled/locales/zh-TW/skills/{claude-code/commit-standards/SKILL.md → commit-standards/guide.md} +5 -6
- package/bundled/locales/zh-TW/skills/{claude-code/commit-standards → commit-standards}/language-options.md +3 -3
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +59 -0
- package/bundled/locales/zh-TW/skills/docs-generator/guide.md +262 -0
- package/bundled/locales/zh-TW/skills/{claude-code/documentation-guide → documentation-guide}/SKILL.md +7 -8
- package/bundled/locales/zh-TW/skills/{claude-code/documentation-guide → documentation-guide}/documentation-structure.md +4 -4
- package/bundled/locales/zh-TW/skills/{claude-code/documentation-guide → documentation-guide}/readme-template.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/error-code-guide → error-code-guide}/SKILL.md +6 -6
- package/bundled/locales/zh-TW/skills/forward-derivation/SKILL.md +62 -0
- package/bundled/locales/zh-TW/skills/{claude-code/forward-derivation/SKILL.md → forward-derivation/guide.md} +24 -19
- package/bundled/locales/zh-TW/skills/{claude-code/git-workflow-guide → git-workflow-guide}/SKILL.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/git-workflow-guide → git-workflow-guide}/branch-naming.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/git-workflow-guide → git-workflow-guide}/git-workflow.md +4 -4
- package/bundled/locales/zh-TW/skills/{claude-code/logging-guide → logging-guide}/SKILL.md +6 -6
- package/bundled/locales/zh-TW/skills/methodology-system/SKILL.md +78 -0
- package/bundled/locales/zh-TW/skills/{claude-code/methodology-system → methodology-system}/create-methodology.md +2 -2
- package/bundled/locales/zh-TW/skills/{claude-code/methodology-system/SKILL.md → methodology-system/guide.md} +2 -2
- package/bundled/locales/zh-TW/skills/{claude-code/methodology-system → methodology-system}/runtime.md +3 -3
- package/bundled/locales/zh-TW/skills/project-discovery/SKILL.md +66 -0
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +371 -0
- package/bundled/locales/zh-TW/skills/project-discovery/workflow.md +574 -0
- package/bundled/locales/zh-TW/skills/{claude-code/project-structure-guide → project-structure-guide}/SKILL.md +4 -4
- package/bundled/locales/zh-TW/skills/{claude-code/project-structure-guide → project-structure-guide}/language-patterns.md +1 -1
- package/bundled/locales/zh-TW/skills/refactoring-assistant/SKILL.md +67 -0
- package/bundled/locales/zh-TW/skills/{claude-code/refactoring-assistant/SKILL.md → refactoring-assistant/guide.md} +7 -8
- package/bundled/locales/zh-TW/skills/release-standards/SKILL.md +64 -0
- package/bundled/locales/zh-TW/skills/{claude-code/release-standards → release-standards}/changelog-format.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/release-standards/SKILL.md → release-standards/guide.md} +2 -3
- package/bundled/locales/zh-TW/skills/{claude-code/release-standards → release-standards}/release-workflow.md +60 -28
- package/bundled/locales/zh-TW/skills/{claude-code/release-standards → release-standards}/semantic-versioning.md +3 -3
- package/bundled/locales/zh-TW/skills/requirement-assistant/SKILL.md +67 -0
- package/bundled/locales/zh-TW/skills/{claude-code/requirement-assistant/SKILL.md → requirement-assistant/guide.md} +2 -3
- package/bundled/locales/zh-TW/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-checklist.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-writing.md +3 -3
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +67 -0
- package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer → reverse-engineer}/bdd-extraction.md +2 -2
- package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer/SKILL.md → reverse-engineer/guide.md} +17 -18
- package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer → reverse-engineer}/tdd-analysis.md +2 -2
- package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer → reverse-engineer}/workflow.md +3 -3
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +75 -0
- package/bundled/locales/zh-TW/skills/{claude-code/spec-driven-dev/SKILL.md → spec-driven-dev/guide.md} +9 -10
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +66 -0
- package/bundled/locales/zh-TW/skills/{claude-code/tdd-assistant/SKILL.md → tdd-assistant/guide.md} +9 -10
- package/bundled/locales/zh-TW/skills/{claude-code/tdd-assistant → tdd-assistant}/language-examples.md +3 -3
- package/bundled/locales/zh-TW/skills/{claude-code/tdd-assistant → tdd-assistant}/tdd-workflow.md +3 -3
- package/bundled/locales/zh-TW/skills/test-coverage-assistant/SKILL.md +65 -0
- package/bundled/locales/zh-TW/skills/{claude-code/test-coverage-assistant/SKILL.md → test-coverage-assistant/guide.md} +27 -24
- package/bundled/locales/zh-TW/skills/{claude-code/testing-guide → testing-guide}/SKILL.md +6 -6
- package/bundled/locales/zh-TW/skills/{claude-code/testing-guide → testing-guide}/testing-pyramid.md +4 -4
- package/bundled/locales/zh-TW/skills/{cline → tools/cline}/README.md +1 -1
- package/bundled/locales/zh-TW/skills/{copilot → tools/copilot}/README.md +1 -1
- package/bundled/locales/zh-TW/skills/{copilot → tools/copilot}/copilot-instructions.md +1 -1
- package/bundled/locales/zh-TW/skills/{cursor → tools/cursor}/README.md +1 -1
- package/bundled/locales/zh-TW/skills/{windsurf → tools/windsurf}/README.md +1 -1
- package/bundled/skills/INTEGRATION-GUIDE.md +210 -0
- package/bundled/skills/README.md +95 -0
- package/bundled/skills/_shared/README.md +60 -0
- package/bundled/skills/{claude-code/agents → agents}/README.md +2 -2
- package/bundled/skills/{claude-code/agents → agents}/code-architect.md +1 -1
- package/bundled/skills/{claude-code/agents → agents}/doc-writer.md +1 -1
- package/bundled/skills/{claude-code/agents → agents}/reviewer.md +1 -1
- package/bundled/skills/{claude-code/agents → agents}/spec-analyst.md +1 -1
- package/bundled/skills/{claude-code/agents → agents}/test-specialist.md +1 -1
- package/bundled/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/SKILL.md +28 -5
- package/bundled/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/anti-hallucination.md +24 -5
- package/bundled/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/certainty-labels.md +31 -6
- package/bundled/skills/ai-friendly-architecture/SKILL.md +216 -0
- package/bundled/skills/ai-instruction-standards/SKILL.md +209 -0
- package/bundled/skills/atdd-assistant/SKILL.md +74 -0
- package/bundled/skills/{claude-code/atdd-assistant → atdd-assistant}/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/{claude-code/atdd-assistant → atdd-assistant}/atdd-workflow.md +1 -1
- package/bundled/skills/{claude-code/atdd-assistant/SKILL.md → atdd-assistant/guide.md} +11 -11
- package/bundled/skills/bdd-assistant/SKILL.md +70 -0
- package/bundled/skills/{claude-code/bdd-assistant → bdd-assistant}/bdd-workflow.md +1 -1
- package/bundled/skills/{claude-code/bdd-assistant → bdd-assistant}/gherkin-guide.md +1 -1
- package/bundled/skills/{claude-code/bdd-assistant/SKILL.md → bdd-assistant/guide.md} +11 -11
- package/bundled/skills/changelog-guide/SKILL.md +66 -0
- package/bundled/skills/{claude-code/changelog-guide/SKILL.md → changelog-guide/guide.md} +8 -6
- package/bundled/skills/checkin-assistant/SKILL.md +52 -0
- package/bundled/skills/{claude-code/checkin-assistant/SKILL.md → checkin-assistant/guide.md} +6 -6
- package/bundled/skills/code-review-assistant/SKILL.md +53 -0
- package/bundled/skills/{claude-code/code-review-assistant → code-review-assistant}/checkin-checklist.md +3 -3
- package/bundled/skills/{claude-code/code-review-assistant/SKILL.md → code-review-assistant/guide.md} +7 -5
- package/bundled/skills/{claude-code/code-review-assistant → code-review-assistant}/review-checklist.md +3 -3
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +290 -0
- package/bundled/skills/{claude-code/commands → commands}/README.md +13 -3
- package/bundled/skills/{claude-code/commands → commands}/atdd.md +3 -3
- package/bundled/skills/{claude-code/commands → commands}/bdd.md +2 -2
- package/bundled/skills/commands/changelog.md +58 -0
- package/bundled/skills/{claude-code/commands → commands}/check.md +1 -1
- package/bundled/skills/commands/checkin.md +53 -0
- package/bundled/skills/{claude-code/commands → commands}/commit.md +3 -3
- package/bundled/skills/{claude-code/commands → commands}/config.md +1 -1
- package/bundled/skills/{claude-code/commands → commands}/coverage.md +5 -4
- package/bundled/skills/commands/derive-all.md +53 -0
- package/bundled/skills/commands/derive-atdd.md +49 -0
- package/bundled/skills/commands/derive-bdd.md +47 -0
- package/bundled/skills/commands/derive-tdd.md +48 -0
- package/bundled/skills/commands/derive.md +72 -0
- package/bundled/skills/commands/discover.md +80 -0
- package/bundled/skills/commands/docgen.md +61 -0
- package/bundled/skills/commands/docs.md +59 -0
- package/bundled/skills/commands/guide.md +44 -0
- package/bundled/skills/{claude-code/commands → commands}/init.md +2 -2
- package/bundled/skills/{claude-code/commands → commands}/methodology.md +32 -16
- package/bundled/skills/{claude-code/commands → commands}/refactor.md +2 -2
- package/bundled/skills/commands/release.md +56 -0
- package/bundled/skills/{claude-code/commands → commands}/requirement.md +3 -3
- package/bundled/skills/commands/reverse-bdd.md +47 -0
- package/bundled/skills/commands/reverse-sdd.md +51 -0
- package/bundled/skills/commands/reverse-tdd.md +51 -0
- package/bundled/skills/commands/reverse.md +63 -0
- package/bundled/skills/{claude-code/commands → commands}/review.md +3 -3
- package/bundled/skills/commands/sdd.md +135 -0
- package/bundled/skills/{claude-code/commands → commands}/tdd.md +3 -3
- package/bundled/skills/{claude-code/commands → commands}/update.md +2 -2
- package/bundled/skills/commit-standards/SKILL.md +60 -0
- package/bundled/skills/{claude-code/commit-standards → commit-standards}/conventional-commits.md +3 -3
- package/bundled/skills/{claude-code/commit-standards/SKILL.md → commit-standards/guide.md} +17 -5
- package/bundled/skills/{claude-code/commit-standards → commit-standards}/language-options.md +2 -2
- package/bundled/skills/docs-generator/SKILL.md +69 -0
- package/bundled/skills/docs-generator/guide.md +258 -0
- package/bundled/skills/{claude-code/documentation-guide → documentation-guide}/SKILL.md +7 -7
- package/bundled/skills/{claude-code/documentation-guide → documentation-guide}/documentation-structure.md +3 -3
- package/bundled/skills/{claude-code/documentation-guide → documentation-guide}/readme-template.md +2 -2
- package/bundled/skills/{claude-code/error-code-guide → error-code-guide}/SKILL.md +7 -5
- package/bundled/skills/forward-derivation/SKILL.md +61 -0
- package/bundled/skills/{claude-code/forward-derivation/SKILL.md → forward-derivation/guide.md} +44 -29
- package/bundled/skills/{claude-code/git-workflow-guide → git-workflow-guide}/SKILL.md +7 -5
- package/bundled/skills/{claude-code/git-workflow-guide → git-workflow-guide}/branch-naming.md +2 -2
- package/bundled/skills/{claude-code/git-workflow-guide → git-workflow-guide}/git-workflow.md +3 -3
- package/bundled/skills/{claude-code/logging-guide → logging-guide}/SKILL.md +7 -5
- package/bundled/skills/methodology-system/SKILL.md +75 -0
- package/bundled/skills/{claude-code/methodology-system → methodology-system}/create-methodology.md +1 -1
- package/bundled/skills/{claude-code/methodology-system/SKILL.md → methodology-system/guide.md} +51 -16
- package/bundled/skills/methodology-system/integrated-flow.md +454 -0
- package/bundled/skills/{claude-code/methodology-system → methodology-system}/runtime.md +2 -2
- package/bundled/skills/project-discovery/SKILL.md +63 -0
- package/bundled/skills/project-discovery/guide.md +367 -0
- package/bundled/skills/project-discovery/workflow.md +566 -0
- package/bundled/skills/{claude-code/project-structure-guide → project-structure-guide}/SKILL.md +14 -4
- package/bundled/skills/refactoring-assistant/SKILL.md +78 -0
- package/bundled/skills/{claude-code/refactoring-assistant/SKILL.md → refactoring-assistant/guide.md} +7 -7
- package/bundled/skills/release-standards/SKILL.md +61 -0
- package/bundled/skills/{claude-code/release-standards → release-standards}/changelog-format.md +2 -2
- package/bundled/skills/{claude-code/release-standards/SKILL.md → release-standards/guide.md} +7 -5
- package/bundled/skills/{claude-code/release-standards → release-standards}/release-workflow.md +59 -24
- package/bundled/skills/{claude-code/release-standards → release-standards}/semantic-versioning.md +2 -2
- package/bundled/skills/requirement-assistant/SKILL.md +66 -0
- package/bundled/skills/{claude-code/requirement-assistant/SKILL.md → requirement-assistant/guide.md} +14 -6
- package/bundled/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-checklist.md +2 -2
- package/bundled/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-writing.md +2 -2
- package/bundled/skills/reverse-engineer/SKILL.md +64 -0
- package/bundled/skills/{claude-code/reverse-engineer → reverse-engineer}/bdd-extraction.md +1 -1
- package/bundled/skills/{claude-code/reverse-engineer/SKILL.md → reverse-engineer/guide.md} +21 -18
- package/bundled/skills/{claude-code/reverse-engineer → reverse-engineer}/tdd-analysis.md +1 -1
- package/bundled/skills/{claude-code/reverse-engineer → reverse-engineer}/workflow.md +2 -2
- package/bundled/skills/spec-driven-dev/SKILL.md +80 -0
- package/bundled/skills/{claude-code/spec-driven-dev/SKILL.md → spec-driven-dev/guide.md} +50 -8
- package/bundled/skills/tdd-assistant/SKILL.md +65 -0
- package/bundled/skills/{claude-code/tdd-assistant/SKILL.md → tdd-assistant/guide.md} +10 -10
- package/bundled/skills/{claude-code/tdd-assistant → tdd-assistant}/language-examples.md +3 -3
- package/bundled/skills/{claude-code/tdd-assistant → tdd-assistant}/tdd-workflow.md +2 -2
- package/bundled/skills/test-coverage-assistant/SKILL.md +63 -0
- package/bundled/skills/{claude-code/test-coverage-assistant/SKILL.md → test-coverage-assistant/guide.md} +39 -24
- package/bundled/skills/{claude-code/testing-guide → testing-guide}/SKILL.md +12 -7
- package/bundled/skills/{claude-code/testing-guide → testing-guide}/testing-pyramid.md +3 -3
- package/bundled/skills/testing-guide/testing-theory.md +2291 -0
- package/bundled/skills/tools/cline/.clinerules +79 -0
- package/bundled/skills/tools/cline/README.md +50 -0
- package/bundled/skills/tools/copilot/README.md +99 -0
- package/bundled/skills/tools/copilot/copilot-instructions.md +71 -0
- package/bundled/skills/tools/cursor/.cursorrules +101 -0
- package/bundled/skills/tools/cursor/README.md +50 -0
- package/bundled/skills/tools/windsurf/.windsurfrules +76 -0
- package/bundled/skills/tools/windsurf/README.md +51 -0
- package/bundled/skills/{claude-code/workflows → workflows}/README.md +1 -1
- package/bundled/skills/workflows/release.workflow.yaml +893 -0
- package/package.json +4 -1
- package/src/commands/check.js +195 -130
- package/src/commands/config.js +1262 -0
- package/src/commands/configure.js +3 -950
- package/src/commands/fix.js +53 -0
- package/src/commands/hitl.js +19 -0
- package/src/commands/init.js +320 -1030
- package/src/commands/list.js +1 -1
- package/src/commands/simulate.js +61 -0
- package/src/commands/spec.js +288 -0
- package/src/commands/start.js +373 -0
- package/src/commands/sweep.js +142 -0
- package/src/commands/update.js +136 -19
- package/src/commands/workflow.js +265 -1
- package/src/config/ai-agent-paths.js +89 -29
- package/src/core/constants.js +7 -1
- package/src/core/manifest.js +1 -0
- package/src/flows/init-flow.js +243 -0
- package/src/hitl/checkpoint.js +80 -0
- package/src/hitl/classifier.js +54 -0
- package/src/hitl/manager.js +88 -0
- package/src/i18n/messages.js +907 -99
- package/src/index.js +1 -0
- package/src/installers/integration-installer.js +237 -0
- package/src/installers/manifest-installer.js +131 -0
- package/src/installers/skills-installer.js +286 -0
- package/src/installers/standards-installer.js +193 -0
- package/src/missions/MissionManager.js +501 -0
- package/src/prompts/init.js +228 -130
- package/src/prompts/integrations.js +13 -1
- package/src/schemas/standard.schema.json +117 -0
- package/src/utils/agents-installer.js +2 -2
- package/src/utils/config-loader.js +47 -0
- package/src/utils/config-manager.js +108 -0
- package/src/utils/config-merger.js +47 -0
- package/src/utils/github.js +22 -18
- package/src/utils/inquirer-patch.js +98 -0
- package/src/utils/integration-generator.js +392 -58
- package/src/utils/reference-sync.js +69 -19
- package/src/utils/skills-installer.js +6 -3
- package/src/utils/standard-fixer.js +141 -0
- package/src/utils/standard-validator.js +329 -0
- package/src/utils/workflow-executor.js +886 -0
- package/src/utils/workflow-state.js +404 -0
- package/src/utils/workflows-installer.js +2 -2
- package/src/vibe/auto-sweep.js +349 -0
- package/src/vibe/micro-spec.js +428 -0
- package/standards-registry.json +278 -102
- package/bundled/locales/zh-CN/skills/claude-code/README.md +0 -174
- package/bundled/locales/zh-CN/skills/claude-code/test-coverage-assistant/SKILL.md +0 -282
- package/bundled/locales/zh-TW/skills/claude-code/README.md +0 -174
- package/bundled/skills/claude-code/README.md +0 -215
- package/bundled/skills/claude-code/commands/changelog.md +0 -57
- package/bundled/skills/claude-code/commands/derive-all.md +0 -214
- package/bundled/skills/claude-code/commands/derive-atdd.md +0 -177
- package/bundled/skills/claude-code/commands/derive-bdd.md +0 -158
- package/bundled/skills/claude-code/commands/derive-tdd.md +0 -259
- package/bundled/skills/claude-code/commands/docs.md +0 -75
- package/bundled/skills/claude-code/commands/release.md +0 -50
- package/bundled/skills/claude-code/commands/reverse-bdd.md +0 -264
- package/bundled/skills/claude-code/commands/reverse-spec.md +0 -185
- package/bundled/skills/claude-code/commands/reverse-tdd.md +0 -351
- package/bundled/skills/claude-code/commands/spec.md +0 -69
- package/bundled/skills/claude-code/methodology-system/integrated-flow.md +0 -322
- /package/bundled/skills/{claude-code/CONTRIBUTING.template.md → CONTRIBUTING.template.md} +0 -0
- /package/bundled/skills/{claude-code/ai → ai}/standards/checkin.ai.yaml +0 -0
- /package/bundled/skills/{claude-code/ai → ai}/standards/commit.ai.yaml +0 -0
- /package/bundled/skills/{claude-code/ai → ai}/standards/refactoring.ai.yaml +0 -0
- /package/bundled/skills/{claude-code/ai → ai}/standards/testing.ai.yaml +0 -0
- /package/bundled/skills/{claude-code/project-structure-guide → project-structure-guide}/language-patterns.md +0 -0
- /package/bundled/skills/{claude-code/workflows → workflows}/code-review.workflow.yaml +0 -0
- /package/bundled/skills/{claude-code/workflows → workflows}/feature-dev.workflow.yaml +0 -0
- /package/bundled/skills/{claude-code/workflows → workflows}/integrated-flow.workflow.yaml +0 -0
- /package/bundled/skills/{claude-code/workflows → workflows}/large-codebase-analysis.workflow.yaml +0 -0
|
@@ -32,10 +32,9 @@ export const AI_AGENT_PATHS = {
|
|
|
32
32
|
project: '.claude/skills/',
|
|
33
33
|
user: join(homedir(), '.claude', 'skills')
|
|
34
34
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
},
|
|
35
|
+
// v2.1.3+: Commands and Skills merged, unified to Skills
|
|
36
|
+
// See: "Merged slash commands and skills, simplifying the mental model with no change in behavior."
|
|
37
|
+
commands: null,
|
|
39
38
|
agents: {
|
|
40
39
|
project: '.claude/agents/',
|
|
41
40
|
user: join(homedir(), '.claude', 'agents')
|
|
@@ -80,7 +79,10 @@ export const AI_AGENT_PATHS = {
|
|
|
80
79
|
project: '.cursor/skills/',
|
|
81
80
|
user: join(homedir(), '.cursor', 'skills')
|
|
82
81
|
},
|
|
83
|
-
commands:
|
|
82
|
+
commands: {
|
|
83
|
+
project: '.cursor/commands/',
|
|
84
|
+
user: join(homedir(), '.cursor', 'commands')
|
|
85
|
+
},
|
|
84
86
|
agents: {
|
|
85
87
|
project: '.cursor/agents/',
|
|
86
88
|
user: join(homedir(), '.cursor', 'agents')
|
|
@@ -88,25 +90,25 @@ export const AI_AGENT_PATHS = {
|
|
|
88
90
|
workflows: null, // Not supported
|
|
89
91
|
supportsMarketplace: false,
|
|
90
92
|
fallbackSkillsPath: '.claude/skills/',
|
|
91
|
-
supportsSkills:
|
|
93
|
+
supportsSkills: true, // SKILL.md support since v2.4 (Jan 22, 2026)
|
|
92
94
|
supportsTask: false, // No Task tool support
|
|
93
95
|
supportsAgents: true // Can load agents as inline context
|
|
94
96
|
},
|
|
95
97
|
'cline': {
|
|
96
98
|
name: 'Cline',
|
|
97
99
|
skills: {
|
|
98
|
-
project: '.
|
|
99
|
-
user: join(homedir(), '.
|
|
100
|
+
project: '.cline/skills/',
|
|
101
|
+
user: join(homedir(), '.cline', 'skills')
|
|
100
102
|
},
|
|
101
103
|
commands: null, // Uses workflow files
|
|
102
104
|
agents: {
|
|
103
|
-
project: '.
|
|
104
|
-
user: join(homedir(), '.
|
|
105
|
+
project: '.cline/agents/',
|
|
106
|
+
user: join(homedir(), '.cline', 'agents')
|
|
105
107
|
},
|
|
106
108
|
workflows: {
|
|
107
109
|
// Official path per docs.cline.bot/features/slash-commands/workflows
|
|
108
|
-
project: '.
|
|
109
|
-
user: join(homedir(), '.
|
|
110
|
+
project: '.cline/workflows/',
|
|
111
|
+
user: join(homedir(), '.cline', 'workflows')
|
|
110
112
|
},
|
|
111
113
|
supportsMarketplace: false,
|
|
112
114
|
fallbackSkillsPath: '.claude/skills/',
|
|
@@ -224,22 +226,22 @@ export const AI_AGENT_PATHS = {
|
|
|
224
226
|
commandFormat: 'toml',
|
|
225
227
|
supportsMarketplace: false,
|
|
226
228
|
fallbackSkillsPath: '.claude/skills/',
|
|
227
|
-
supportsSkills: true, //
|
|
229
|
+
supportsSkills: true, // Stable since v0.27.0 (Feb 2026)
|
|
228
230
|
supportsTask: false,
|
|
229
231
|
supportsAgents: true
|
|
230
232
|
},
|
|
231
233
|
'antigravity': {
|
|
232
234
|
name: 'Google Antigravity',
|
|
233
235
|
skills: {
|
|
234
|
-
project: '.
|
|
235
|
-
user: join(homedir(), '.antigravity', 'skills')
|
|
236
|
+
project: '.agent/skills/',
|
|
237
|
+
user: join(homedir(), '.gemini', 'antigravity', 'skills')
|
|
236
238
|
},
|
|
237
239
|
commands: null,
|
|
238
240
|
agents: null,
|
|
239
241
|
workflows: null,
|
|
240
242
|
supportsMarketplace: false,
|
|
241
243
|
fallbackSkillsPath: null,
|
|
242
|
-
supportsSkills:
|
|
244
|
+
supportsSkills: true, // Skills since Nov 2025
|
|
243
245
|
supportsTask: false,
|
|
244
246
|
supportsAgents: false
|
|
245
247
|
}
|
|
@@ -431,28 +433,86 @@ export function supportsAgents(agent) {
|
|
|
431
433
|
}
|
|
432
434
|
|
|
433
435
|
/**
|
|
434
|
-
* List of all available slash commands (from skills/
|
|
436
|
+
* List of all available slash commands (from skills/)
|
|
437
|
+
* Note: Since Claude Code v2.1.3+, Skills and Commands are merged.
|
|
438
|
+
* The `name` field in SKILL.md directly becomes the slash command.
|
|
439
|
+
*
|
|
440
|
+
* This list includes:
|
|
441
|
+
* - 16 commands from Action Skills (SKILL.md files with `name` field)
|
|
442
|
+
* - 12 commands from Commands-only files (no corresponding Skill)
|
|
443
|
+
* Total: 28 available commands
|
|
444
|
+
*
|
|
445
|
+
* Reference-only Skills (no `name` field, not slash commands):
|
|
446
|
+
* testing-guide, project-structure-guide, git-workflow-guide,
|
|
447
|
+
* error-code-guide, logging-guide, ai-collaboration-standards,
|
|
448
|
+
* ai-friendly-architecture, ai-instruction-standards, documentation-guide
|
|
435
449
|
*/
|
|
436
450
|
export const AVAILABLE_COMMANDS = [
|
|
451
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
452
|
+
// Core Development Workflow (Action Skills)
|
|
453
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
437
454
|
{ name: 'commit', description: 'Generate commit messages following Conventional Commits' },
|
|
438
455
|
{ name: 'review', description: 'Perform code review with checklist' },
|
|
439
|
-
{ name: '
|
|
440
|
-
{ name: 'bdd', description: 'Guide BDD workflow' },
|
|
441
|
-
{ name: 'coverage', description: 'Analyze test coverage' },
|
|
442
|
-
{ name: 'requirement', description: 'Write requirements following INVEST' },
|
|
443
|
-
{ name: 'check', description: 'Check-in verification' },
|
|
456
|
+
{ name: 'checkin', description: 'Pre-commit quality gates verification' },
|
|
444
457
|
{ name: 'release', description: 'Guide release process' },
|
|
445
458
|
{ name: 'changelog', description: 'Generate changelog entries' },
|
|
446
|
-
|
|
447
|
-
|
|
459
|
+
|
|
460
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
461
|
+
// Testing Methodologies (Action Skills)
|
|
462
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
463
|
+
{ name: 'tdd', description: 'Guide TDD workflow (Red-Green-Refactor)' },
|
|
464
|
+
{ name: 'bdd', description: 'Guide BDD workflow (Gherkin, Given-When-Then)' },
|
|
465
|
+
{ name: 'atdd', description: 'Guide ATDD workflow (acceptance criteria)' },
|
|
466
|
+
{ name: 'coverage', description: 'Analyze test coverage (8 dimensions)' },
|
|
467
|
+
|
|
468
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
469
|
+
// Specification and Requirements (Action Skills)
|
|
470
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
471
|
+
{ name: 'sdd', description: 'Spec-driven development guide' },
|
|
472
|
+
{ name: 'requirement', description: 'Write requirements following INVEST' },
|
|
473
|
+
{ name: 'derive', description: 'Forward derivation (spec to BDD/TDD)' },
|
|
474
|
+
{ name: 'reverse', description: 'Reverse engineer code to SDD specs' },
|
|
475
|
+
{ name: 'discover', description: 'Assess project health and risks before adding features' },
|
|
476
|
+
|
|
477
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
478
|
+
// Derivation Commands (Commands-only, specific transformations)
|
|
479
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
480
|
+
{ name: 'derive-bdd', description: 'Derive BDD Gherkin scenarios from SDD specification' },
|
|
481
|
+
{ name: 'derive-tdd', description: 'Derive TDD test skeletons from SDD specification' },
|
|
482
|
+
{ name: 'derive-atdd', description: 'Derive ATDD acceptance tests from SDD specification' },
|
|
483
|
+
{ name: 'derive-all', description: 'Derive all test structures (BDD, TDD, ATDD) from spec' },
|
|
484
|
+
|
|
485
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
486
|
+
// Reverse Engineering Commands (Commands-only, specific transformations)
|
|
487
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
488
|
+
{ name: 'reverse-sdd', description: 'Reverse engineer code into SDD specification document' },
|
|
489
|
+
{ name: 'reverse-bdd', description: 'Transform SDD acceptance criteria to BDD scenarios' },
|
|
490
|
+
{ name: 'reverse-tdd', description: 'Analyze BDD-TDD coverage gaps' },
|
|
491
|
+
|
|
492
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
493
|
+
// Documentation and Code Quality (Action Skills + Commands-only)
|
|
494
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
495
|
+
{ name: 'docs', description: 'Manage, guide, and generate documentation' },
|
|
496
|
+
{ name: 'docgen', description: 'Generate usage documentation' },
|
|
497
|
+
{ name: 'guide', description: 'Access UDS guides and references' },
|
|
498
|
+
{ name: 'refactor', description: 'Refactoring and legacy modernization guide' },
|
|
499
|
+
|
|
500
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
501
|
+
// Development Methodology (Action Skills)
|
|
502
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
448
503
|
{ name: 'methodology', description: 'Development methodology selection' },
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
504
|
+
|
|
505
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
506
|
+
// CLI Management (Commands-only, UDS CLI specific)
|
|
507
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
508
|
+
{ name: 'init', description: 'Initialize UDS standards in project' },
|
|
509
|
+
{ name: 'update', description: 'Update standards to latest version' },
|
|
510
|
+
{ name: 'check', description: 'Verify standards adoption status' },
|
|
511
|
+
{ name: 'config', description: 'Configure project standards settings' }
|
|
452
512
|
];
|
|
453
513
|
|
|
454
514
|
/**
|
|
455
|
-
* List of all available agents (from skills/
|
|
515
|
+
* List of all available agents (from skills/agents/)
|
|
456
516
|
*/
|
|
457
517
|
export const AVAILABLE_AGENTS = [
|
|
458
518
|
{ name: 'code-architect', description: 'Software architecture and system design specialist' },
|
|
@@ -463,7 +523,7 @@ export const AVAILABLE_AGENTS = [
|
|
|
463
523
|
];
|
|
464
524
|
|
|
465
525
|
/**
|
|
466
|
-
* List of all available workflows (from skills/
|
|
526
|
+
* List of all available workflows (from skills/workflows/)
|
|
467
527
|
*/
|
|
468
528
|
export const AVAILABLE_WORKFLOWS = [
|
|
469
529
|
{ name: 'integrated-flow', description: 'Complete ATDD → SDD → BDD → TDD workflow' },
|
package/src/core/constants.js
CHANGED
|
@@ -107,6 +107,13 @@ export const SUPPORTED_AI_TOOLS = {
|
|
|
107
107
|
format: 'markdown',
|
|
108
108
|
category: 'secondary',
|
|
109
109
|
supports: ['skills', 'workflows']
|
|
110
|
+
},
|
|
111
|
+
'gemini-cli': {
|
|
112
|
+
name: 'Gemini CLI',
|
|
113
|
+
file: 'GEMINI.md',
|
|
114
|
+
format: 'markdown',
|
|
115
|
+
category: 'primary',
|
|
116
|
+
supports: ['skills', 'commands']
|
|
110
117
|
}
|
|
111
118
|
};
|
|
112
119
|
|
|
@@ -115,7 +122,6 @@ export const SUPPORTED_AI_TOOLS = {
|
|
|
115
122
|
*/
|
|
116
123
|
export const LEGACY_TOOL_MAPPINGS = {
|
|
117
124
|
'codex': 'opencode',
|
|
118
|
-
'gemini-cli': 'opencode',
|
|
119
125
|
'copilot': 'github-copilot'
|
|
120
126
|
};
|
|
121
127
|
|
package/src/core/manifest.js
CHANGED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { t } from '../i18n/messages.js';
|
|
3
|
+
import {
|
|
4
|
+
promptDisplayLanguage,
|
|
5
|
+
promptAITools,
|
|
6
|
+
promptSkillsInstallLocation,
|
|
7
|
+
promptStandardsScope,
|
|
8
|
+
promptLevel,
|
|
9
|
+
promptLanguage,
|
|
10
|
+
promptFramework,
|
|
11
|
+
promptFormat,
|
|
12
|
+
promptStandardOptions,
|
|
13
|
+
promptContentMode,
|
|
14
|
+
promptMethodology,
|
|
15
|
+
promptCommandsInstallation,
|
|
16
|
+
handleAgentsMdSharing
|
|
17
|
+
} from '../prompts/init.js';
|
|
18
|
+
import {
|
|
19
|
+
promptIntegrationConfig
|
|
20
|
+
} from '../prompts/integrations.js';
|
|
21
|
+
import {
|
|
22
|
+
getAgentConfig,
|
|
23
|
+
getAgentDisplayName
|
|
24
|
+
} from '../utils/github.js';
|
|
25
|
+
import { getInstalledSkillsInfoForAgent } from '../utils/skills-installer.js';
|
|
26
|
+
import { integrationFileExists } from '../utils/integration-generator.js';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Execute the interactive initialization flow
|
|
30
|
+
* @param {Object} options - CLI options
|
|
31
|
+
* @param {Object} detected - Detected project environment
|
|
32
|
+
* @param {string} projectPath - Current project path
|
|
33
|
+
* @returns {Promise<Object|null>} Configuration object or null if cancelled
|
|
34
|
+
*/
|
|
35
|
+
export async function runInitFlow(options, detected, projectPath) {
|
|
36
|
+
let msg = t().commands.init;
|
|
37
|
+
|
|
38
|
+
// Initialize configuration variables
|
|
39
|
+
let level = options.level ? parseInt(options.level, 10) : null;
|
|
40
|
+
let languages = options.lang ? [options.lang] : null;
|
|
41
|
+
let frameworks = options.framework ? [options.framework] : null;
|
|
42
|
+
let displayLanguage = options.locale || null;
|
|
43
|
+
let format = options.format || null;
|
|
44
|
+
let standardOptions = {};
|
|
45
|
+
|
|
46
|
+
// Skills configuration
|
|
47
|
+
let skillsConfig = {
|
|
48
|
+
installed: false,
|
|
49
|
+
location: null,
|
|
50
|
+
needsInstall: false,
|
|
51
|
+
updateTargets: [],
|
|
52
|
+
skillsInstallations: [],
|
|
53
|
+
commandsInstallations: []
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
let aiTools = [];
|
|
57
|
+
let integrations = [];
|
|
58
|
+
|
|
59
|
+
// === STEP 1: Display Language ===
|
|
60
|
+
displayLanguage = await promptDisplayLanguage();
|
|
61
|
+
msg = t().commands.init; // Re-fetch after language change
|
|
62
|
+
const msgAfterLang = msg;
|
|
63
|
+
|
|
64
|
+
// === STEP 2: AI Tools Selection ===
|
|
65
|
+
aiTools = await promptAITools({
|
|
66
|
+
claudeCode: detected.aiTools.claudeCode || false,
|
|
67
|
+
cursor: detected.aiTools.cursor || false,
|
|
68
|
+
windsurf: detected.aiTools.windsurf || false,
|
|
69
|
+
cline: detected.aiTools.cline || false,
|
|
70
|
+
copilot: detected.aiTools.copilot || false,
|
|
71
|
+
antigravity: detected.aiTools.antigravity || false,
|
|
72
|
+
codex: detected.aiTools.codex || false,
|
|
73
|
+
opencode: detected.aiTools.opencode || false,
|
|
74
|
+
geminiCli: detected.aiTools.geminiCli || false
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
if (aiTools.length === 0) {
|
|
78
|
+
console.log();
|
|
79
|
+
console.log(chalk.yellow(msgAfterLang.noAiToolsSelected || 'No AI tools selected.'));
|
|
80
|
+
console.log(chalk.gray(msgAfterLang.noAiToolsExplanation || ' UDS provides development standards for AI coding assistants.'));
|
|
81
|
+
console.log(chalk.gray(msgAfterLang.noAiToolsExplanation2 || ' Without an AI tool, there is nothing to install.'));
|
|
82
|
+
console.log();
|
|
83
|
+
process.exit(0);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// === STEP 3: Handle AGENTS.md sharing ===
|
|
87
|
+
aiTools = handleAgentsMdSharing(aiTools);
|
|
88
|
+
|
|
89
|
+
const skillsSupportedTools = aiTools.filter(tool => {
|
|
90
|
+
const config = getAgentConfig(tool);
|
|
91
|
+
return config?.supportsSkills && config?.skills;
|
|
92
|
+
});
|
|
93
|
+
const hasSkillsTools = skillsSupportedTools.length > 0;
|
|
94
|
+
|
|
95
|
+
// === STEP 4: Skills Installation ===
|
|
96
|
+
if (hasSkillsTools) {
|
|
97
|
+
const { getMarketplaceSkillsInfo } = await import('../utils/github.js');
|
|
98
|
+
const marketplaceInfo = getMarketplaceSkillsInfo();
|
|
99
|
+
|
|
100
|
+
console.log();
|
|
101
|
+
console.log(chalk.cyan(msgAfterLang.skillsStatus));
|
|
102
|
+
|
|
103
|
+
let hasAnyExisting = false;
|
|
104
|
+
|
|
105
|
+
if (marketplaceInfo && marketplaceInfo.version) {
|
|
106
|
+
hasAnyExisting = true;
|
|
107
|
+
console.log(chalk.gray(` ${msgAfterLang.skillsMarketplaceInstalled || 'Marketplace'}: v${marketplaceInfo.version}`));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
for (const tool of skillsSupportedTools) {
|
|
111
|
+
const displayName = getAgentDisplayName(tool);
|
|
112
|
+
const projectInfo = getInstalledSkillsInfoForAgent(tool, 'project', projectPath);
|
|
113
|
+
const userInfo = getInstalledSkillsInfoForAgent(tool, 'user');
|
|
114
|
+
|
|
115
|
+
if (projectInfo || userInfo) {
|
|
116
|
+
hasAnyExisting = true;
|
|
117
|
+
if (projectInfo) {
|
|
118
|
+
console.log(chalk.gray(` ${displayName} ${msgAfterLang.projectLevel}: v${projectInfo.version || 'unknown'}`));
|
|
119
|
+
}
|
|
120
|
+
if (userInfo) {
|
|
121
|
+
console.log(chalk.gray(` ${displayName} ${msgAfterLang.userLevel}: v${userInfo.version || 'unknown'}`));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!hasAnyExisting) {
|
|
127
|
+
console.log(chalk.gray(` ${msgAfterLang.noSkillsDetected}`));
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const installations = await promptSkillsInstallLocation(aiTools);
|
|
131
|
+
|
|
132
|
+
if (installations.length > 0) {
|
|
133
|
+
const isMarketplace = installations.some(i => i.level === 'marketplace');
|
|
134
|
+
|
|
135
|
+
if (isMarketplace) {
|
|
136
|
+
skillsConfig = {
|
|
137
|
+
...skillsConfig,
|
|
138
|
+
installed: true,
|
|
139
|
+
location: 'marketplace',
|
|
140
|
+
needsInstall: false,
|
|
141
|
+
updateTargets: [],
|
|
142
|
+
skillsInstallations: installations
|
|
143
|
+
};
|
|
144
|
+
} else {
|
|
145
|
+
skillsConfig = {
|
|
146
|
+
...skillsConfig,
|
|
147
|
+
installed: true,
|
|
148
|
+
location: installations.length === 1 ? installations[0].level : 'multiple',
|
|
149
|
+
needsInstall: true,
|
|
150
|
+
updateTargets: installations.map(i => i.level),
|
|
151
|
+
skillsInstallations: installations
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// === STEP 5: Slash Commands ===
|
|
157
|
+
const commandsAgents = await promptCommandsInstallation(aiTools);
|
|
158
|
+
if (commandsAgents.length > 0) {
|
|
159
|
+
skillsConfig.commandsInstallations = commandsAgents;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// === STEP 6: Standards Scope ===
|
|
164
|
+
const standardsScope = await promptStandardsScope(skillsConfig.installed);
|
|
165
|
+
|
|
166
|
+
// === STEP 7: Adoption Level ===
|
|
167
|
+
if (!level) {
|
|
168
|
+
level = await promptLevel();
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// === STEP 8: Standards Format ===
|
|
172
|
+
if (!format) {
|
|
173
|
+
format = await promptFormat();
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// === STEP 9: Standard Options ===
|
|
177
|
+
standardOptions = await promptStandardOptions(level, displayLanguage);
|
|
178
|
+
|
|
179
|
+
// === STEP 10: Language Extensions ===
|
|
180
|
+
if (!languages) {
|
|
181
|
+
languages = await promptLanguage(detected.languages) || [];
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// === STEP 11: Framework Extensions ===
|
|
185
|
+
if (!frameworks) {
|
|
186
|
+
frameworks = await promptFramework(detected.frameworks) || [];
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// === STEP 12: Integrations ===
|
|
190
|
+
integrations = [...aiTools];
|
|
191
|
+
const integrationConfigs = {};
|
|
192
|
+
|
|
193
|
+
if (integrations.length > 0) {
|
|
194
|
+
const existingFiles = {};
|
|
195
|
+
for (const tool of integrations) {
|
|
196
|
+
existingFiles[tool] = integrationFileExists(tool, projectPath);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const hasAnyExisting = Object.values(existingFiles).some(v => v);
|
|
200
|
+
const toolNames = integrations.length === 1
|
|
201
|
+
? integrations[0]
|
|
202
|
+
: `${integrations.slice(0, -1).join(', ')} & ${integrations[integrations.length - 1]}`;
|
|
203
|
+
|
|
204
|
+
const sharedConfig = await promptIntegrationConfig(toolNames, detected, hasAnyExisting);
|
|
205
|
+
|
|
206
|
+
if (sharedConfig.mergeStrategy !== 'keep') {
|
|
207
|
+
for (const tool of integrations) {
|
|
208
|
+
integrationConfigs[tool] = { ...sharedConfig, tool };
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
skillsConfig.integrationConfigs = integrationConfigs;
|
|
214
|
+
skillsConfig.standardsScope = standardsScope;
|
|
215
|
+
|
|
216
|
+
// === STEP 13: Content Mode ===
|
|
217
|
+
let contentMode = 'minimal';
|
|
218
|
+
if (aiTools.length > 0) {
|
|
219
|
+
contentMode = await promptContentMode();
|
|
220
|
+
}
|
|
221
|
+
skillsConfig.contentMode = contentMode;
|
|
222
|
+
|
|
223
|
+
// === STEP 14: Methodology ===
|
|
224
|
+
let methodology = null;
|
|
225
|
+
if (options.experimental) {
|
|
226
|
+
methodology = await promptMethodology();
|
|
227
|
+
}
|
|
228
|
+
skillsConfig.methodology = methodology;
|
|
229
|
+
|
|
230
|
+
return {
|
|
231
|
+
level,
|
|
232
|
+
languages,
|
|
233
|
+
frameworks,
|
|
234
|
+
displayLanguage,
|
|
235
|
+
format,
|
|
236
|
+
standardOptions,
|
|
237
|
+
skillsConfig,
|
|
238
|
+
aiTools,
|
|
239
|
+
integrations,
|
|
240
|
+
contentMode,
|
|
241
|
+
standardsScope
|
|
242
|
+
};
|
|
243
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HITL Checkpoint
|
|
3
|
+
* Evaluates risk level against configuration to determine action.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export class Checkpoint {
|
|
7
|
+
/**
|
|
8
|
+
* Evaluate an operation risk.
|
|
9
|
+
* @param {number} riskLevel - 0-4
|
|
10
|
+
* @param {Object} config - HITL configuration object
|
|
11
|
+
* @param {string} operation - Operation string (for pattern matching overrides)
|
|
12
|
+
* @returns {'approve' | 'prompt' | 'deny'} Action
|
|
13
|
+
*/
|
|
14
|
+
evaluate(riskLevel, config, operation) {
|
|
15
|
+
const {
|
|
16
|
+
threshold = 2,
|
|
17
|
+
overrides = [],
|
|
18
|
+
'always-prompt': alwaysPrompt = [],
|
|
19
|
+
'never-prompt': neverPrompt = []
|
|
20
|
+
} = config;
|
|
21
|
+
|
|
22
|
+
// 1. Check explicit string matches (highest priority)
|
|
23
|
+
// Note: In real implementation, these would be regex patterns from config
|
|
24
|
+
// Simplified for now: assume config patterns are simple strings or regex strings
|
|
25
|
+
|
|
26
|
+
// Check always-prompt
|
|
27
|
+
if (this._matchesAny(operation, alwaysPrompt)) {
|
|
28
|
+
return 'prompt';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Check never-prompt
|
|
32
|
+
if (this._matchesAny(operation, neverPrompt)) {
|
|
33
|
+
return 'approve';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// 2. Check overrides (Pattern-based threshold adjustment)
|
|
37
|
+
let effectiveThreshold = threshold;
|
|
38
|
+
for (const override of overrides) {
|
|
39
|
+
if (this._matches(operation, override.pattern)) {
|
|
40
|
+
effectiveThreshold = override.threshold;
|
|
41
|
+
// Keep checking to find the most specific/last match?
|
|
42
|
+
// For now, first match wins or last match wins? Usually last match wins in cascading.
|
|
43
|
+
// Let's assume the overrides list is ordered by priority.
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 3. Level 4 Restricted Safety Net
|
|
48
|
+
if (riskLevel >= 4) {
|
|
49
|
+
// Level 4 always requires explicit prompt or deny, never auto-approve based on standard threshold
|
|
50
|
+
// Unless explicitly overridden by a specific pattern with threshold 4+
|
|
51
|
+
return 'prompt';
|
|
52
|
+
// TODO: Should we return 'deny' by default for Level 4?
|
|
53
|
+
// Spec says: "Block unless override". "Block" usually means Deny.
|
|
54
|
+
// But for usability, maybe 'prompt' with a scary warning is better?
|
|
55
|
+
// Let's stick to 'prompt' for now, but the Manager should handle it carefully.
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// 4. Standard Threshold Check
|
|
59
|
+
if (riskLevel < effectiveThreshold) {
|
|
60
|
+
return 'approve';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return 'prompt';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
_matchesAny(text, patterns) {
|
|
67
|
+
if (!patterns || !Array.isArray(patterns)) return false;
|
|
68
|
+
return patterns.some(p => this._matches(text, p));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
_matches(text, pattern) {
|
|
72
|
+
if (!text || !pattern) return false;
|
|
73
|
+
try {
|
|
74
|
+
// Simple includes check or Regex
|
|
75
|
+
return text.includes(pattern) || new RegExp(pattern).test(text);
|
|
76
|
+
} catch (e) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HITL Risk Classifier
|
|
3
|
+
* Classifies operations into risk levels (0-4) based on patterns.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export class RiskClassifier {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.rules = [
|
|
9
|
+
// Level 4: Restricted (Destructive & Hard to Recover)
|
|
10
|
+
{ pattern: /^rm\s+-(r|R|rf|fR)/, level: 4 },
|
|
11
|
+
{ pattern: /drop\s+table/i, level: 4 },
|
|
12
|
+
{ pattern: /git\s+push\s+.*--force/, level: 4 },
|
|
13
|
+
|
|
14
|
+
// Level 3: Critical (Destructive or Security Sensitive)
|
|
15
|
+
{ pattern: /^(delete|remove|unlink)/i, level: 3 },
|
|
16
|
+
{ pattern: /^(deploy|publish|release)/i, level: 3 },
|
|
17
|
+
{ pattern: /(auth|secret|password|token|key)/i, level: 3 },
|
|
18
|
+
{ pattern: /^rm\s+/, level: 3 }, // Simple rm
|
|
19
|
+
|
|
20
|
+
// Level 2: Elevated (Changes Config or Env)
|
|
21
|
+
{ pattern: /^(npm|pip|yarn|pnpm)\s+install/, level: 2 },
|
|
22
|
+
{ pattern: /^config\s+set/, level: 2 },
|
|
23
|
+
{ pattern: /^chmod/, level: 2 },
|
|
24
|
+
|
|
25
|
+
// Level 1: Standard (Modifies Files)
|
|
26
|
+
{ pattern: /^(write|edit|modify|touch|mkdir)/i, level: 1 },
|
|
27
|
+
{ pattern: /^git\s+commit/, level: 1 },
|
|
28
|
+
|
|
29
|
+
// Level 0: Routine (Read-only)
|
|
30
|
+
{ pattern: /^(read|cat|ls|grep|find|search)/i, level: 0 }
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Classify an operation string into a risk level.
|
|
36
|
+
* @param {string} operation - The operation description or command
|
|
37
|
+
* @returns {number} Risk level (0-4)
|
|
38
|
+
*/
|
|
39
|
+
classify(operation) {
|
|
40
|
+
if (!operation || typeof operation !== 'string') {
|
|
41
|
+
return 1; // Default to Standard if unknown
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const op = operation.trim();
|
|
45
|
+
|
|
46
|
+
for (const rule of this.rules) {
|
|
47
|
+
if (rule.pattern.test(op)) {
|
|
48
|
+
return rule.level;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return 1; // Default to Standard
|
|
53
|
+
}
|
|
54
|
+
}
|