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
package/src/prompts/init.js
CHANGED
|
@@ -1,12 +1,75 @@
|
|
|
1
1
|
import inquirer from 'inquirer';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import os from 'os';
|
|
4
|
-
import { t } from '../i18n/messages.js';
|
|
4
|
+
import { t, setLanguage, detectLanguage } from '../i18n/messages.js';
|
|
5
5
|
import {
|
|
6
6
|
getAgentConfig,
|
|
7
7
|
getAgentDisplayName
|
|
8
8
|
} from '../config/ai-agent-paths.js';
|
|
9
|
-
import {
|
|
9
|
+
import { patchCheckboxInstructions } from '../utils/inquirer-patch.js';
|
|
10
|
+
|
|
11
|
+
// Apply inquirer checkbox patch to properly support instructions: false
|
|
12
|
+
// This allows us to show translated checkbox hints instead of the default English text
|
|
13
|
+
patchCheckboxInstructions();
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Prompt for display language (first prompt in init flow)
|
|
17
|
+
* This sets the language for CLI messages and AI Agent instructions.
|
|
18
|
+
*
|
|
19
|
+
* The prompt uses bilingual format since we don't know user's preferred
|
|
20
|
+
* language at this point. After selection, the CLI language switches
|
|
21
|
+
* immediately for all subsequent prompts.
|
|
22
|
+
*
|
|
23
|
+
* @returns {Promise<string>} Selected language code ('en', 'zh-tw', or 'zh-cn')
|
|
24
|
+
*/
|
|
25
|
+
export async function promptDisplayLanguage() {
|
|
26
|
+
// Detect system language for smart default
|
|
27
|
+
const systemLang = detectLanguage(null);
|
|
28
|
+
|
|
29
|
+
// Use the message from current (initial) language - which is bilingual by design
|
|
30
|
+
const msg = t().displayLanguage;
|
|
31
|
+
|
|
32
|
+
console.log();
|
|
33
|
+
console.log(chalk.cyan(msg.title));
|
|
34
|
+
console.log(chalk.gray(` ${msg.description}`));
|
|
35
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
36
|
+
console.log();
|
|
37
|
+
|
|
38
|
+
const { language } = await inquirer.prompt([
|
|
39
|
+
{
|
|
40
|
+
type: 'list',
|
|
41
|
+
name: 'language',
|
|
42
|
+
message: msg.question,
|
|
43
|
+
suffix: ' ',
|
|
44
|
+
choices: [
|
|
45
|
+
{
|
|
46
|
+
name: `English ${chalk.gray('(Default for international teams)')}`,
|
|
47
|
+
value: 'en'
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: `繁體中文 ${chalk.gray('(Traditional Chinese)')}`,
|
|
51
|
+
value: 'zh-tw'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: `简体中文 ${chalk.gray('(Simplified Chinese)')}`,
|
|
55
|
+
value: 'zh-cn'
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
default: systemLang
|
|
59
|
+
}
|
|
60
|
+
]);
|
|
61
|
+
|
|
62
|
+
// Immediately switch language for all subsequent prompts
|
|
63
|
+
setLanguage(language);
|
|
64
|
+
|
|
65
|
+
// Show confirmation in the selected language
|
|
66
|
+
const selectedMsg = t().displayLanguage;
|
|
67
|
+
console.log();
|
|
68
|
+
console.log(chalk.gray(selectedMsg.explanations[language]));
|
|
69
|
+
console.log();
|
|
70
|
+
|
|
71
|
+
return language;
|
|
72
|
+
}
|
|
10
73
|
|
|
11
74
|
/**
|
|
12
75
|
* Prompt for AI tools being used
|
|
@@ -15,10 +78,12 @@ import { getMarketplaceSkillsInfo } from '../utils/github.js';
|
|
|
15
78
|
*/
|
|
16
79
|
export async function promptAITools(detected = {}) {
|
|
17
80
|
const msg = t().aiTools;
|
|
81
|
+
const checkboxHint = t().checkboxHint;
|
|
18
82
|
|
|
19
83
|
console.log();
|
|
20
84
|
console.log(chalk.cyan(msg.title));
|
|
21
85
|
console.log(chalk.gray(` ${msg.description}`));
|
|
86
|
+
console.log(chalk.gray(` ${checkboxHint}`));
|
|
22
87
|
console.log();
|
|
23
88
|
|
|
24
89
|
const { tools } = await inquirer.prompt([
|
|
@@ -26,14 +91,14 @@ export async function promptAITools(detected = {}) {
|
|
|
26
91
|
type: 'checkbox',
|
|
27
92
|
name: 'tools',
|
|
28
93
|
message: msg.question,
|
|
94
|
+
suffix: ' ',
|
|
95
|
+
instructions: false, // Hide default English hint, we show translated hint above
|
|
29
96
|
choices: [
|
|
30
|
-
new inquirer.Separator(chalk.gray(msg.separators.dynamicSkills)),
|
|
31
97
|
{
|
|
32
|
-
name:
|
|
98
|
+
name: `Claude Code ${chalk.gray('(CLAUDE.md)')}`,
|
|
33
99
|
value: 'claude-code',
|
|
34
100
|
checked: detected.claudeCode || false
|
|
35
101
|
},
|
|
36
|
-
new inquirer.Separator(chalk.gray(msg.separators.staticRules)),
|
|
37
102
|
{
|
|
38
103
|
name: `Cursor ${chalk.gray('(.cursorrules)')}`,
|
|
39
104
|
value: 'cursor',
|
|
@@ -55,38 +120,31 @@ export async function promptAITools(detected = {}) {
|
|
|
55
120
|
checked: detected.copilot || false
|
|
56
121
|
},
|
|
57
122
|
{
|
|
58
|
-
name: `Google Antigravity ${chalk.gray('(INSTRUCTIONS.md)')}
|
|
123
|
+
name: `Google Antigravity ${chalk.gray('(INSTRUCTIONS.md)')}`,
|
|
59
124
|
value: 'antigravity',
|
|
60
125
|
checked: detected.antigravity || false
|
|
61
126
|
},
|
|
62
|
-
new inquirer.Separator(chalk.gray(msg.separators.agentsMd)),
|
|
63
127
|
{
|
|
64
|
-
name: `OpenAI Codex ${chalk.gray('(AGENTS.md)')}
|
|
128
|
+
name: `OpenAI Codex ${chalk.gray('(AGENTS.md)')}`,
|
|
65
129
|
value: 'codex',
|
|
66
130
|
checked: detected.codex || false
|
|
67
131
|
},
|
|
68
132
|
{
|
|
69
|
-
name: `OpenCode ${chalk.gray('(AGENTS.md)')}
|
|
133
|
+
name: `OpenCode ${chalk.gray('(AGENTS.md)')}`,
|
|
70
134
|
value: 'opencode',
|
|
71
135
|
checked: detected.opencode || false
|
|
72
136
|
},
|
|
73
|
-
new inquirer.Separator(chalk.gray(msg.separators.gemini)),
|
|
74
137
|
{
|
|
75
|
-
name: `Gemini CLI ${chalk.gray('(GEMINI.md)')}
|
|
138
|
+
name: `Gemini CLI ${chalk.gray('(GEMINI.md)')}`,
|
|
76
139
|
value: 'gemini-cli',
|
|
77
140
|
checked: detected.geminiCli || false
|
|
78
|
-
},
|
|
79
|
-
new inquirer.Separator(),
|
|
80
|
-
{
|
|
81
|
-
name: chalk.gray(msg.choices.none),
|
|
82
|
-
value: 'none'
|
|
83
141
|
}
|
|
84
142
|
]
|
|
85
143
|
}
|
|
86
144
|
]);
|
|
87
145
|
|
|
88
|
-
// Filter out
|
|
89
|
-
const filtered = tools.filter(tool =>
|
|
146
|
+
// Filter out separators (keep only string values)
|
|
147
|
+
const filtered = tools.filter(tool => typeof tool === 'string');
|
|
90
148
|
return filtered;
|
|
91
149
|
}
|
|
92
150
|
|
|
@@ -108,34 +166,36 @@ export async function promptSkillsInstallLocation(selectedTools = []) {
|
|
|
108
166
|
return [];
|
|
109
167
|
}
|
|
110
168
|
|
|
169
|
+
// Check if Claude Code is selected (for marketplace info)
|
|
170
|
+
const hasClaudeCode = skillsTools.includes('claude-code');
|
|
171
|
+
|
|
172
|
+
// Get translated checkbox hint
|
|
173
|
+
const checkboxHint = t().checkboxHint;
|
|
174
|
+
const marketplaceMsg = t().marketplaceInstall || {};
|
|
175
|
+
|
|
111
176
|
console.log();
|
|
112
177
|
console.log(chalk.cyan(msg.title));
|
|
113
178
|
console.log(chalk.gray(` ${msg.description}`));
|
|
179
|
+
console.log(chalk.gray(` ${checkboxHint}`));
|
|
114
180
|
|
|
115
|
-
//
|
|
116
|
-
const hasClaudeCode = skillsTools.includes('claude-code');
|
|
181
|
+
// Show Marketplace info for Claude Code (not as a selectable option)
|
|
117
182
|
if (hasClaudeCode) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
183
|
+
console.log();
|
|
184
|
+
console.log(chalk.yellow(` 💡 ${marketplaceMsg.claudeCodeTip || 'Claude Code can be installed via Marketplace:'}`));
|
|
185
|
+
console.log(chalk.white(' /plugin install universal-dev-standards@asia-ostrich'));
|
|
186
|
+
console.log(chalk.gray(` → ${msg.choices.marketplace}`));
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// Show git sharing hint for project-level installation
|
|
190
|
+
if (msg.gitSharingHint) {
|
|
191
|
+
console.log();
|
|
192
|
+
console.log(chalk.gray(` 💡 ${msg.gitSharingHint}`));
|
|
124
193
|
}
|
|
125
194
|
console.log();
|
|
126
195
|
|
|
127
196
|
// Build choices dynamically based on selected tools
|
|
128
197
|
const choices = [];
|
|
129
198
|
|
|
130
|
-
// Add Marketplace option for Claude Code (recommended)
|
|
131
|
-
if (hasClaudeCode) {
|
|
132
|
-
choices.push({
|
|
133
|
-
name: `${chalk.green('Plugin Marketplace')} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.marketplace}`,
|
|
134
|
-
value: 'marketplace'
|
|
135
|
-
});
|
|
136
|
-
choices.push(new inquirer.Separator(chalk.gray(msg.separatorFileInstall)));
|
|
137
|
-
}
|
|
138
|
-
|
|
139
199
|
// Add options for each agent
|
|
140
200
|
for (const tool of skillsTools) {
|
|
141
201
|
const config = getAgentConfig(tool);
|
|
@@ -154,42 +214,22 @@ export async function promptSkillsInstallLocation(selectedTools = []) {
|
|
|
154
214
|
});
|
|
155
215
|
}
|
|
156
216
|
|
|
157
|
-
// Add skip option
|
|
158
|
-
choices.push(new inquirer.Separator());
|
|
159
|
-
choices.push({
|
|
160
|
-
name: `${chalk.gray('Skip')} - ${msg.choices.none}`,
|
|
161
|
-
value: 'none'
|
|
162
|
-
});
|
|
163
|
-
|
|
164
217
|
const { locations } = await inquirer.prompt([
|
|
165
218
|
{
|
|
166
219
|
type: 'checkbox',
|
|
167
220
|
name: 'locations',
|
|
168
221
|
message: msg.questionMulti,
|
|
222
|
+
suffix: ' ',
|
|
169
223
|
choices,
|
|
170
|
-
|
|
171
|
-
// If 'none' is selected, ensure it's the only selection
|
|
172
|
-
if (answer.includes('none') && answer.length > 1) {
|
|
173
|
-
return msg.validationNoMix;
|
|
174
|
-
}
|
|
175
|
-
return true;
|
|
176
|
-
}
|
|
224
|
+
instructions: false // Hide default English hint, we show translated hint above
|
|
177
225
|
}
|
|
178
226
|
]);
|
|
179
227
|
|
|
180
|
-
// Handle
|
|
181
|
-
if (locations.
|
|
228
|
+
// Handle empty selection (user chose to skip)
|
|
229
|
+
if (locations.length === 0) {
|
|
182
230
|
return [];
|
|
183
231
|
}
|
|
184
232
|
|
|
185
|
-
// Handle marketplace selection
|
|
186
|
-
if (locations.includes('marketplace')) {
|
|
187
|
-
console.log();
|
|
188
|
-
console.log(chalk.gray(msg.explanations?.marketplace || '透過 Claude Code Marketplace 安裝,自動更新'));
|
|
189
|
-
console.log();
|
|
190
|
-
return [{ agent: 'claude-code', level: 'marketplace' }];
|
|
191
|
-
}
|
|
192
|
-
|
|
193
233
|
// Parse selections into agent:level pairs
|
|
194
234
|
const installations = locations
|
|
195
235
|
.filter(loc => loc !== 'none' && loc !== 'marketplace')
|
|
@@ -214,6 +254,7 @@ export async function promptSkillsInstallLocation(selectedTools = []) {
|
|
|
214
254
|
*/
|
|
215
255
|
export async function promptCommandsInstallation(selectedTools = []) {
|
|
216
256
|
const msg = t().commandsInstallation || {};
|
|
257
|
+
const checkboxHint = t().checkboxHint;
|
|
217
258
|
|
|
218
259
|
// Filter to only commands-supported tools
|
|
219
260
|
const commandsSupportedTools = selectedTools.filter(tool => {
|
|
@@ -228,6 +269,13 @@ export async function promptCommandsInstallation(selectedTools = []) {
|
|
|
228
269
|
console.log();
|
|
229
270
|
console.log(chalk.cyan(msg.title));
|
|
230
271
|
console.log(chalk.gray(` ${msg.description}`));
|
|
272
|
+
console.log(chalk.gray(` ${checkboxHint}`));
|
|
273
|
+
|
|
274
|
+
// Show git sharing hint for project-level installation
|
|
275
|
+
if (msg.gitSharingHint) {
|
|
276
|
+
console.log();
|
|
277
|
+
console.log(chalk.gray(` 💡 ${msg.gitSharingHint}`));
|
|
278
|
+
}
|
|
231
279
|
console.log();
|
|
232
280
|
|
|
233
281
|
// Build choices dynamically - User Level + Project Level for each agent
|
|
@@ -253,37 +301,24 @@ export async function promptCommandsInstallation(selectedTools = []) {
|
|
|
253
301
|
});
|
|
254
302
|
}
|
|
255
303
|
|
|
256
|
-
// Add skip option
|
|
257
|
-
choices.push(new inquirer.Separator());
|
|
258
|
-
choices.push({
|
|
259
|
-
name: chalk.gray(msg.choices.skip),
|
|
260
|
-
value: 'none'
|
|
261
|
-
});
|
|
262
|
-
|
|
263
304
|
const { locations } = await inquirer.prompt([
|
|
264
305
|
{
|
|
265
306
|
type: 'checkbox',
|
|
266
307
|
name: 'locations',
|
|
267
308
|
message: msg.questionMulti || msg.question,
|
|
309
|
+
suffix: ' ',
|
|
268
310
|
choices,
|
|
269
|
-
|
|
270
|
-
if (answer.includes('none') && answer.length > 1) {
|
|
271
|
-
return msg.validationNoMix || 'Cannot select "Skip" with other options';
|
|
272
|
-
}
|
|
273
|
-
return true;
|
|
274
|
-
}
|
|
311
|
+
instructions: false // Hide default English hint, we show translated hint above
|
|
275
312
|
}
|
|
276
313
|
]);
|
|
277
314
|
|
|
278
|
-
// Handle
|
|
279
|
-
if (locations.
|
|
315
|
+
// Handle empty selection (user chose to skip)
|
|
316
|
+
if (locations.length === 0) {
|
|
280
317
|
return [];
|
|
281
318
|
}
|
|
282
319
|
|
|
283
320
|
// Parse selections into agent:level pairs
|
|
284
|
-
const installations = locations
|
|
285
|
-
.filter(loc => loc !== 'none')
|
|
286
|
-
.map(loc => {
|
|
321
|
+
const installations = locations.map(loc => {
|
|
287
322
|
const [agent, level] = loc.split(':');
|
|
288
323
|
return { agent, level };
|
|
289
324
|
});
|
|
@@ -390,11 +425,14 @@ export async function promptSkillsUpdate(projectInfo, userInfo, latestVersion) {
|
|
|
390
425
|
value: 'none'
|
|
391
426
|
});
|
|
392
427
|
|
|
428
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
429
|
+
|
|
393
430
|
const { action } = await inquirer.prompt([
|
|
394
431
|
{
|
|
395
432
|
type: 'list',
|
|
396
433
|
name: 'action',
|
|
397
434
|
message: msg.question,
|
|
435
|
+
suffix: ' ',
|
|
398
436
|
choices,
|
|
399
437
|
default: needsUpdate.length === 2 ? 'both' : needsUpdate[0]
|
|
400
438
|
}
|
|
@@ -432,6 +470,7 @@ export async function promptStandardsScope(hasSkills) {
|
|
|
432
470
|
console.log(chalk.cyan(msg.title));
|
|
433
471
|
console.log(chalk.gray(` ${msg.description}`));
|
|
434
472
|
console.log(chalk.gray(` ${msg.description2}`));
|
|
473
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
435
474
|
console.log();
|
|
436
475
|
|
|
437
476
|
const { scope } = await inquirer.prompt([
|
|
@@ -439,13 +478,14 @@ export async function promptStandardsScope(hasSkills) {
|
|
|
439
478
|
type: 'list',
|
|
440
479
|
name: 'scope',
|
|
441
480
|
message: msg.question,
|
|
481
|
+
suffix: ' ',
|
|
442
482
|
choices: [
|
|
443
483
|
{
|
|
444
|
-
name: `${chalk.green(
|
|
484
|
+
name: `${chalk.green(msg.labels.minimal)} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.minimal}`,
|
|
445
485
|
value: 'minimal'
|
|
446
486
|
},
|
|
447
487
|
{
|
|
448
|
-
name: `${chalk.blue(
|
|
488
|
+
name: `${chalk.blue(msg.labels.full)} - ${msg.choices.full}`,
|
|
449
489
|
value: 'full'
|
|
450
490
|
}
|
|
451
491
|
],
|
|
@@ -479,6 +519,7 @@ export async function promptFormat() {
|
|
|
479
519
|
console.log();
|
|
480
520
|
console.log(chalk.cyan(msg.title));
|
|
481
521
|
console.log(chalk.gray(` ${msg.description}`));
|
|
522
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
482
523
|
console.log();
|
|
483
524
|
|
|
484
525
|
const { format } = await inquirer.prompt([
|
|
@@ -486,17 +527,18 @@ export async function promptFormat() {
|
|
|
486
527
|
type: 'list',
|
|
487
528
|
name: 'format',
|
|
488
529
|
message: msg.question,
|
|
530
|
+
suffix: ' ',
|
|
489
531
|
choices: [
|
|
490
532
|
{
|
|
491
|
-
name: `${chalk.green(
|
|
533
|
+
name: `${chalk.green(msg.labels.ai)} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.ai}`,
|
|
492
534
|
value: 'ai'
|
|
493
535
|
},
|
|
494
536
|
{
|
|
495
|
-
name: `${chalk.blue(
|
|
537
|
+
name: `${chalk.blue(msg.labels.human)} - ${msg.choices.human}`,
|
|
496
538
|
value: 'human'
|
|
497
539
|
},
|
|
498
540
|
{
|
|
499
|
-
name: `${chalk.yellow(
|
|
541
|
+
name: `${chalk.yellow(msg.labels.both)} ${chalk.gray(`(${t().advanced})`)} - ${msg.choices.both}`,
|
|
500
542
|
value: 'both'
|
|
501
543
|
}
|
|
502
544
|
],
|
|
@@ -528,6 +570,7 @@ export async function promptGitWorkflow() {
|
|
|
528
570
|
console.log();
|
|
529
571
|
console.log(chalk.cyan(msg.title));
|
|
530
572
|
console.log(chalk.gray(` ${msg.description}`));
|
|
573
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
531
574
|
console.log();
|
|
532
575
|
|
|
533
576
|
const { workflow } = await inquirer.prompt([
|
|
@@ -535,6 +578,7 @@ export async function promptGitWorkflow() {
|
|
|
535
578
|
type: 'list',
|
|
536
579
|
name: 'workflow',
|
|
537
580
|
message: msg.question,
|
|
581
|
+
suffix: ' ',
|
|
538
582
|
choices: [
|
|
539
583
|
{
|
|
540
584
|
name: `${chalk.green('GitHub Flow')} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices['github-flow']}`,
|
|
@@ -579,6 +623,7 @@ export async function promptMergeStrategy() {
|
|
|
579
623
|
console.log();
|
|
580
624
|
console.log(chalk.cyan(msg.title));
|
|
581
625
|
console.log(chalk.gray(` ${msg.description}`));
|
|
626
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
582
627
|
console.log();
|
|
583
628
|
|
|
584
629
|
const { strategy } = await inquirer.prompt([
|
|
@@ -586,6 +631,7 @@ export async function promptMergeStrategy() {
|
|
|
586
631
|
type: 'list',
|
|
587
632
|
name: 'strategy',
|
|
588
633
|
message: msg.question,
|
|
634
|
+
suffix: ' ',
|
|
589
635
|
choices: [
|
|
590
636
|
{
|
|
591
637
|
name: `${chalk.green('Squash Merge')} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.squash}`,
|
|
@@ -616,35 +662,51 @@ export async function promptMergeStrategy() {
|
|
|
616
662
|
|
|
617
663
|
/**
|
|
618
664
|
* Prompt for commit message language
|
|
619
|
-
*
|
|
665
|
+
*
|
|
666
|
+
* The bilingual option is only shown when displayLanguage is Chinese (zh-tw or zh-cn),
|
|
667
|
+
* as bilingual commits are primarily useful for Chinese-speaking teams who want both
|
|
668
|
+
* English and Chinese in their commit messages.
|
|
669
|
+
*
|
|
670
|
+
* @param {string} displayLanguage - Display language ('en', 'zh-tw', or 'zh-cn')
|
|
671
|
+
* @returns {Promise<string>} Selected language ID: 'english', 'traditional-chinese', or 'bilingual'
|
|
620
672
|
*/
|
|
621
|
-
export async function promptCommitLanguage() {
|
|
673
|
+
export async function promptCommitLanguage(displayLanguage = 'en') {
|
|
622
674
|
const msg = t().commitLanguage;
|
|
623
675
|
|
|
624
676
|
console.log();
|
|
625
677
|
console.log(chalk.cyan(msg.title));
|
|
626
678
|
console.log(chalk.gray(` ${msg.description}`));
|
|
679
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
627
680
|
console.log();
|
|
628
681
|
|
|
682
|
+
// Build choices - bilingual option only for Chinese display languages
|
|
683
|
+
const choices = [
|
|
684
|
+
{
|
|
685
|
+
name: `${chalk.green(msg.labels.english)} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.english}`,
|
|
686
|
+
value: 'english'
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
name: `${chalk.blue(msg.labels.chinese)} - ${msg.choices.chinese}`,
|
|
690
|
+
value: 'traditional-chinese'
|
|
691
|
+
}
|
|
692
|
+
];
|
|
693
|
+
|
|
694
|
+
// Only show bilingual option for Chinese display languages
|
|
695
|
+
// When zh-cn is selected, bilingual will use Simplified Chinese in the generated content
|
|
696
|
+
if (displayLanguage === 'zh-tw' || displayLanguage === 'zh-cn') {
|
|
697
|
+
choices.push({
|
|
698
|
+
name: `${chalk.yellow(msg.labels.bilingual)} - ${msg.choices.bilingual}`,
|
|
699
|
+
value: 'bilingual'
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
|
|
629
703
|
const { language } = await inquirer.prompt([
|
|
630
704
|
{
|
|
631
705
|
type: 'list',
|
|
632
706
|
name: 'language',
|
|
633
707
|
message: msg.question,
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
name: `${chalk.green(msg.labels.english)} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.english}`,
|
|
637
|
-
value: 'english'
|
|
638
|
-
},
|
|
639
|
-
{
|
|
640
|
-
name: `${chalk.blue(msg.labels.chinese)} - ${msg.choices.chinese}`,
|
|
641
|
-
value: 'traditional-chinese'
|
|
642
|
-
},
|
|
643
|
-
{
|
|
644
|
-
name: `${chalk.yellow(msg.labels.bilingual)} - ${msg.choices.bilingual}`,
|
|
645
|
-
value: 'bilingual'
|
|
646
|
-
}
|
|
647
|
-
],
|
|
708
|
+
suffix: ' ',
|
|
709
|
+
choices,
|
|
648
710
|
default: 'english'
|
|
649
711
|
}
|
|
650
712
|
]);
|
|
@@ -670,6 +732,7 @@ export async function promptTestLevels() {
|
|
|
670
732
|
console.log(chalk.cyan(msg.title));
|
|
671
733
|
console.log(chalk.gray(` ${msg.description}`));
|
|
672
734
|
console.log(chalk.gray(` ${msg.description2}`));
|
|
735
|
+
console.log(chalk.gray(` ${t().checkboxHint}`));
|
|
673
736
|
console.log();
|
|
674
737
|
|
|
675
738
|
const { levels } = await inquirer.prompt([
|
|
@@ -677,6 +740,8 @@ export async function promptTestLevels() {
|
|
|
677
740
|
type: 'checkbox',
|
|
678
741
|
name: 'levels',
|
|
679
742
|
message: msg.question,
|
|
743
|
+
suffix: ' ',
|
|
744
|
+
instructions: false,
|
|
680
745
|
choices: [
|
|
681
746
|
{
|
|
682
747
|
name: `Unit Testing ${chalk.gray('(70%)')} - ${msg.choices.unit}`,
|
|
@@ -716,17 +781,14 @@ export async function promptTestLevels() {
|
|
|
716
781
|
|
|
717
782
|
/**
|
|
718
783
|
* Prompt for all standard options
|
|
784
|
+
*
|
|
719
785
|
* @param {number} level - Adoption level
|
|
786
|
+
* @param {string} displayLanguage - Display language for bilingual commit option filtering
|
|
720
787
|
* @returns {Promise<Object>} Selected options
|
|
721
788
|
*/
|
|
722
|
-
export async function promptStandardOptions(level) {
|
|
789
|
+
export async function promptStandardOptions(level, displayLanguage = 'en') {
|
|
723
790
|
const options = {};
|
|
724
791
|
|
|
725
|
-
console.log();
|
|
726
|
-
console.log(chalk.cyan('Standard Options:'));
|
|
727
|
-
console.log(chalk.gray(' Configure your preferred options for each standard'));
|
|
728
|
-
console.log();
|
|
729
|
-
|
|
730
792
|
// Git workflow options (level 2+)
|
|
731
793
|
if (level >= 2) {
|
|
732
794
|
options.workflow = await promptGitWorkflow();
|
|
@@ -734,7 +796,8 @@ export async function promptStandardOptions(level) {
|
|
|
734
796
|
}
|
|
735
797
|
|
|
736
798
|
// Commit message options (level 1+)
|
|
737
|
-
|
|
799
|
+
// Pass displayLanguage to filter bilingual option
|
|
800
|
+
options.commit_language = await promptCommitLanguage(displayLanguage);
|
|
738
801
|
|
|
739
802
|
// Testing options (level 2+)
|
|
740
803
|
if (level >= 2) {
|
|
@@ -751,11 +814,14 @@ export async function promptStandardOptions(level) {
|
|
|
751
814
|
export async function promptInstallMode() {
|
|
752
815
|
const msg = t().installMode;
|
|
753
816
|
|
|
817
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
818
|
+
|
|
754
819
|
const { mode } = await inquirer.prompt([
|
|
755
820
|
{
|
|
756
821
|
type: 'list',
|
|
757
822
|
name: 'mode',
|
|
758
823
|
message: msg.question,
|
|
824
|
+
suffix: ' ',
|
|
759
825
|
choices: [
|
|
760
826
|
{
|
|
761
827
|
name: `${chalk.green('Skills Mode')} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.skills}`,
|
|
@@ -791,11 +857,14 @@ export async function promptSkillsUpgrade(installedVersion, latestVersion) {
|
|
|
791
857
|
? `v${installedVersion} → v${latestVersion}`
|
|
792
858
|
: `unknown → v${latestVersion}`;
|
|
793
859
|
|
|
860
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
861
|
+
|
|
794
862
|
const { action } = await inquirer.prompt([
|
|
795
863
|
{
|
|
796
864
|
type: 'list',
|
|
797
865
|
name: 'action',
|
|
798
866
|
message: `Skills detected (${versionDisplay}). What would you like to do?`,
|
|
867
|
+
suffix: ' ',
|
|
799
868
|
choices: [
|
|
800
869
|
{
|
|
801
870
|
name: `${chalk.green('Upgrade')} - Update to latest version`,
|
|
@@ -833,6 +902,7 @@ export async function promptLevel() {
|
|
|
833
902
|
console.log();
|
|
834
903
|
console.log(chalk.cyan(msg.title));
|
|
835
904
|
console.log(chalk.gray(` ${msg.description}`));
|
|
905
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
836
906
|
console.log();
|
|
837
907
|
|
|
838
908
|
const { level } = await inquirer.prompt([
|
|
@@ -840,21 +910,22 @@ export async function promptLevel() {
|
|
|
840
910
|
type: 'list',
|
|
841
911
|
name: 'level',
|
|
842
912
|
message: msg.question,
|
|
913
|
+
suffix: ' ',
|
|
843
914
|
choices: [
|
|
844
915
|
{
|
|
845
|
-
name: `${chalk.blue(
|
|
916
|
+
name: `${chalk.blue(msg.labels[1])} - ${msg.choices[1]}`,
|
|
846
917
|
value: 1
|
|
847
918
|
},
|
|
848
919
|
{
|
|
849
|
-
name: `${chalk.green(
|
|
920
|
+
name: `${chalk.green(msg.labels[2])} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices[2]}`,
|
|
850
921
|
value: 2
|
|
851
922
|
},
|
|
852
923
|
{
|
|
853
|
-
name: `${chalk.yellow(
|
|
924
|
+
name: `${chalk.yellow(msg.labels[3])} - ${msg.choices[3]}`,
|
|
854
925
|
value: 3
|
|
855
926
|
}
|
|
856
927
|
],
|
|
857
|
-
default:
|
|
928
|
+
default: 1
|
|
858
929
|
}
|
|
859
930
|
]);
|
|
860
931
|
|
|
@@ -887,11 +958,15 @@ export async function promptLanguage(detected) {
|
|
|
887
958
|
return null;
|
|
888
959
|
}
|
|
889
960
|
|
|
961
|
+
console.log(chalk.gray(` ${t().checkboxHint}`));
|
|
962
|
+
|
|
890
963
|
const { languages } = await inquirer.prompt([
|
|
891
964
|
{
|
|
892
965
|
type: 'checkbox',
|
|
893
966
|
name: 'languages',
|
|
894
967
|
message: 'Detected language(s). Select style guides to include:',
|
|
968
|
+
suffix: ' ',
|
|
969
|
+
instructions: false,
|
|
895
970
|
choices
|
|
896
971
|
}
|
|
897
972
|
]);
|
|
@@ -915,11 +990,15 @@ export async function promptFramework(detected) {
|
|
|
915
990
|
return null;
|
|
916
991
|
}
|
|
917
992
|
|
|
993
|
+
console.log(chalk.gray(` ${t().checkboxHint}`));
|
|
994
|
+
|
|
918
995
|
const { frameworks } = await inquirer.prompt([
|
|
919
996
|
{
|
|
920
997
|
type: 'checkbox',
|
|
921
998
|
name: 'frameworks',
|
|
922
999
|
message: 'Detected framework(s). Select patterns to include:',
|
|
1000
|
+
suffix: ' ',
|
|
1001
|
+
instructions: false,
|
|
923
1002
|
choices
|
|
924
1003
|
}
|
|
925
1004
|
]);
|
|
@@ -937,6 +1016,7 @@ export async function promptLocale() {
|
|
|
937
1016
|
type: 'confirm',
|
|
938
1017
|
name: 'useLocale',
|
|
939
1018
|
message: 'Use Traditional Chinese (繁體中文) locale?',
|
|
1019
|
+
suffix: ' ',
|
|
940
1020
|
default: false
|
|
941
1021
|
}
|
|
942
1022
|
]);
|
|
@@ -974,11 +1054,15 @@ export async function promptIntegrations(detected) {
|
|
|
974
1054
|
checked: detected.copilot || false
|
|
975
1055
|
});
|
|
976
1056
|
|
|
1057
|
+
console.log(chalk.gray(` ${t().checkboxHint}`));
|
|
1058
|
+
|
|
977
1059
|
const { integrations } = await inquirer.prompt([
|
|
978
1060
|
{
|
|
979
1061
|
type: 'checkbox',
|
|
980
1062
|
name: 'integrations',
|
|
981
1063
|
message: 'Select AI tool integrations:',
|
|
1064
|
+
suffix: ' ',
|
|
1065
|
+
instructions: false,
|
|
982
1066
|
choices
|
|
983
1067
|
}
|
|
984
1068
|
]);
|
|
@@ -997,6 +1081,7 @@ export async function promptConfirm(message) {
|
|
|
997
1081
|
type: 'confirm',
|
|
998
1082
|
name: 'confirmed',
|
|
999
1083
|
message,
|
|
1084
|
+
suffix: ' ',
|
|
1000
1085
|
default: true
|
|
1001
1086
|
}
|
|
1002
1087
|
]);
|
|
@@ -1030,6 +1115,7 @@ export async function promptContentMode() {
|
|
|
1030
1115
|
console.log(chalk.cyan(msg.title));
|
|
1031
1116
|
console.log(chalk.gray(` ${msg.description}`));
|
|
1032
1117
|
console.log(chalk.gray(` ${msg.description2}`));
|
|
1118
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
1033
1119
|
console.log();
|
|
1034
1120
|
|
|
1035
1121
|
const { mode } = await inquirer.prompt([
|
|
@@ -1037,17 +1123,18 @@ export async function promptContentMode() {
|
|
|
1037
1123
|
type: 'list',
|
|
1038
1124
|
name: 'mode',
|
|
1039
1125
|
message: msg.question,
|
|
1126
|
+
suffix: ' ',
|
|
1040
1127
|
choices: [
|
|
1041
1128
|
{
|
|
1042
|
-
name: `${chalk.green(
|
|
1129
|
+
name: `${chalk.green(msg.labels.index)} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.index}`,
|
|
1043
1130
|
value: 'index'
|
|
1044
1131
|
},
|
|
1045
1132
|
{
|
|
1046
|
-
name: `${chalk.blue(
|
|
1133
|
+
name: `${chalk.blue(msg.labels.full)} - ${msg.choices.full}`,
|
|
1047
1134
|
value: 'full'
|
|
1048
1135
|
},
|
|
1049
1136
|
{
|
|
1050
|
-
name: `${chalk.gray(
|
|
1137
|
+
name: `${chalk.gray(msg.labels.minimal)} - ${msg.choices.minimal}`,
|
|
1051
1138
|
value: 'minimal'
|
|
1052
1139
|
}
|
|
1053
1140
|
],
|
|
@@ -1112,6 +1199,7 @@ export async function promptManageAITools(currentTools = []) {
|
|
|
1112
1199
|
console.log();
|
|
1113
1200
|
console.log(chalk.cyan(msg.title));
|
|
1114
1201
|
console.log(chalk.gray(` ${msg.currentlyInstalled} ${currentTools.length > 0 ? currentTools.join(', ') : msg.none}`));
|
|
1202
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
1115
1203
|
console.log();
|
|
1116
1204
|
|
|
1117
1205
|
const { action } = await inquirer.prompt([
|
|
@@ -1119,6 +1207,7 @@ export async function promptManageAITools(currentTools = []) {
|
|
|
1119
1207
|
type: 'list',
|
|
1120
1208
|
name: 'action',
|
|
1121
1209
|
message: msg.question,
|
|
1210
|
+
suffix: ' ',
|
|
1122
1211
|
choices: [
|
|
1123
1212
|
{ name: msg.choices.add, value: 'add' },
|
|
1124
1213
|
{ name: msg.choices.remove, value: 'remove' },
|
|
@@ -1161,11 +1250,15 @@ export async function promptManageAITools(currentTools = []) {
|
|
|
1161
1250
|
return { action: 'cancel', tools: [] };
|
|
1162
1251
|
}
|
|
1163
1252
|
|
|
1253
|
+
console.log(chalk.gray(` ${t().checkboxHint}`));
|
|
1254
|
+
|
|
1164
1255
|
const { toolsToAdd } = await inquirer.prompt([
|
|
1165
1256
|
{
|
|
1166
1257
|
type: 'checkbox',
|
|
1167
1258
|
name: 'toolsToAdd',
|
|
1168
1259
|
message: msg.selectToAdd,
|
|
1260
|
+
suffix: ' ',
|
|
1261
|
+
instructions: false,
|
|
1169
1262
|
choices: availableTools
|
|
1170
1263
|
}
|
|
1171
1264
|
]);
|
|
@@ -1187,11 +1280,15 @@ export async function promptManageAITools(currentTools = []) {
|
|
|
1187
1280
|
};
|
|
1188
1281
|
});
|
|
1189
1282
|
|
|
1283
|
+
console.log(chalk.gray(` ${t().checkboxHint}`));
|
|
1284
|
+
|
|
1190
1285
|
const { toolsToRemove } = await inquirer.prompt([
|
|
1191
1286
|
{
|
|
1192
1287
|
type: 'checkbox',
|
|
1193
1288
|
name: 'toolsToRemove',
|
|
1194
1289
|
message: msg.selectToRemove,
|
|
1290
|
+
suffix: ' ',
|
|
1291
|
+
instructions: false,
|
|
1195
1292
|
choices: installedChoices
|
|
1196
1293
|
}
|
|
1197
1294
|
]);
|
|
@@ -1209,10 +1306,12 @@ export async function promptManageAITools(currentTools = []) {
|
|
|
1209
1306
|
*/
|
|
1210
1307
|
export async function promptAdoptionLevel(currentLevel) {
|
|
1211
1308
|
const msg = t().adoptionLevelConfig;
|
|
1309
|
+
const levelLabels = t().level.labels;
|
|
1212
1310
|
|
|
1213
1311
|
console.log();
|
|
1214
1312
|
console.log(chalk.cyan(msg.title));
|
|
1215
1313
|
console.log(chalk.gray(` ${msg.currentLevel} ${currentLevel}`));
|
|
1314
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
1216
1315
|
console.log();
|
|
1217
1316
|
|
|
1218
1317
|
const { level } = await inquirer.prompt([
|
|
@@ -1220,17 +1319,18 @@ export async function promptAdoptionLevel(currentLevel) {
|
|
|
1220
1319
|
type: 'list',
|
|
1221
1320
|
name: 'level',
|
|
1222
1321
|
message: msg.question,
|
|
1322
|
+
suffix: ' ',
|
|
1223
1323
|
choices: [
|
|
1224
1324
|
{
|
|
1225
|
-
name: `${chalk.blue(
|
|
1325
|
+
name: `${chalk.blue(levelLabels[1])} - ${msg.choices[1]}`,
|
|
1226
1326
|
value: 1
|
|
1227
1327
|
},
|
|
1228
1328
|
{
|
|
1229
|
-
name: `${chalk.green(
|
|
1329
|
+
name: `${chalk.green(levelLabels[2])} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices[2]}`,
|
|
1230
1330
|
value: 2
|
|
1231
1331
|
},
|
|
1232
1332
|
{
|
|
1233
|
-
name: `${chalk.yellow(
|
|
1333
|
+
name: `${chalk.yellow(levelLabels[3])} - ${msg.choices[3]}`,
|
|
1234
1334
|
value: 3
|
|
1235
1335
|
}
|
|
1236
1336
|
],
|
|
@@ -1260,16 +1360,11 @@ export async function promptContentModeChange(currentMode) {
|
|
|
1260
1360
|
const msg = t().contentMode;
|
|
1261
1361
|
const changeMsg = t().contentModeChange;
|
|
1262
1362
|
|
|
1263
|
-
const modeLabels = {
|
|
1264
|
-
index: 'Standard',
|
|
1265
|
-
full: 'Full Embed',
|
|
1266
|
-
minimal: 'Minimal'
|
|
1267
|
-
};
|
|
1268
|
-
|
|
1269
1363
|
console.log();
|
|
1270
1364
|
console.log(chalk.cyan(msg.title));
|
|
1271
|
-
console.log(chalk.gray(` ${changeMsg.currentMode} ${
|
|
1365
|
+
console.log(chalk.gray(` ${changeMsg.currentMode} ${msg.labels[currentMode] || currentMode || msg.labels.minimal}`));
|
|
1272
1366
|
console.log(chalk.gray(` ${msg.description2}`));
|
|
1367
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
1273
1368
|
console.log();
|
|
1274
1369
|
|
|
1275
1370
|
const { mode } = await inquirer.prompt([
|
|
@@ -1277,17 +1372,18 @@ export async function promptContentModeChange(currentMode) {
|
|
|
1277
1372
|
type: 'list',
|
|
1278
1373
|
name: 'mode',
|
|
1279
1374
|
message: msg.question,
|
|
1375
|
+
suffix: ' ',
|
|
1280
1376
|
choices: [
|
|
1281
1377
|
{
|
|
1282
|
-
name: `${chalk.green(
|
|
1378
|
+
name: `${chalk.green(msg.labels.index)} ${chalk.gray(`(${t().recommended})`)} - ${msg.choices.index}`,
|
|
1283
1379
|
value: 'index'
|
|
1284
1380
|
},
|
|
1285
1381
|
{
|
|
1286
|
-
name: `${chalk.blue(
|
|
1382
|
+
name: `${chalk.blue(msg.labels.full)} - ${msg.choices.full}`,
|
|
1287
1383
|
value: 'full'
|
|
1288
1384
|
},
|
|
1289
1385
|
{
|
|
1290
|
-
name: `${chalk.gray(
|
|
1386
|
+
name: `${chalk.gray(msg.labels.minimal)} - ${msg.choices.minimal}`,
|
|
1291
1387
|
value: 'minimal'
|
|
1292
1388
|
}
|
|
1293
1389
|
],
|
|
@@ -1315,6 +1411,7 @@ export async function promptMethodology() {
|
|
|
1315
1411
|
console.log(chalk.cyan(msg.title));
|
|
1316
1412
|
console.log(chalk.yellow(` ${msg.experimental}`));
|
|
1317
1413
|
console.log(chalk.gray(` ${msg.description}`));
|
|
1414
|
+
console.log(chalk.gray(` ${t().listHint}`));
|
|
1318
1415
|
console.log();
|
|
1319
1416
|
|
|
1320
1417
|
const { methodology } = await inquirer.prompt([
|
|
@@ -1322,26 +1419,27 @@ export async function promptMethodology() {
|
|
|
1322
1419
|
type: 'list',
|
|
1323
1420
|
name: 'methodology',
|
|
1324
1421
|
message: msg.question,
|
|
1422
|
+
suffix: ' ',
|
|
1325
1423
|
choices: [
|
|
1326
1424
|
{
|
|
1327
|
-
name: `${chalk.red(
|
|
1425
|
+
name: `${chalk.red(msg.labels.tdd)} ${chalk.gray(`- ${msg.choices.tdd}`)}`,
|
|
1328
1426
|
value: 'tdd'
|
|
1329
1427
|
},
|
|
1330
1428
|
{
|
|
1331
|
-
name: `${chalk.green(
|
|
1429
|
+
name: `${chalk.green(msg.labels.bdd)} ${chalk.gray(`- ${msg.choices.bdd}`)}`,
|
|
1332
1430
|
value: 'bdd'
|
|
1333
1431
|
},
|
|
1334
1432
|
{
|
|
1335
|
-
name: `${chalk.blue(
|
|
1433
|
+
name: `${chalk.blue(msg.labels.sdd)} ${chalk.gray(`- ${msg.choices.sdd}`)}`,
|
|
1336
1434
|
value: 'sdd'
|
|
1337
1435
|
},
|
|
1338
1436
|
{
|
|
1339
|
-
name: `${chalk.yellow(
|
|
1437
|
+
name: `${chalk.yellow(msg.labels.atdd)} ${chalk.gray(`- ${msg.choices.atdd}`)}`,
|
|
1340
1438
|
value: 'atdd'
|
|
1341
1439
|
},
|
|
1342
1440
|
new inquirer.Separator(),
|
|
1343
1441
|
{
|
|
1344
|
-
name: `${chalk.gray(
|
|
1442
|
+
name: `${chalk.gray(msg.labels.none)} - ${msg.choices.none}`,
|
|
1345
1443
|
value: null
|
|
1346
1444
|
}
|
|
1347
1445
|
],
|