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
|
@@ -0,0 +1,893 @@
|
|
|
1
|
+
# Release Workflow
|
|
2
|
+
# Complete release workflow for software projects
|
|
3
|
+
#
|
|
4
|
+
# This workflow guides version planning, changelog update, and release creation.
|
|
5
|
+
# Suitable for projects using semantic versioning and GitHub releases.
|
|
6
|
+
#
|
|
7
|
+
# Extended with enterprise-grade checklists, security checks, and multi-platform support.
|
|
8
|
+
|
|
9
|
+
name: release
|
|
10
|
+
version: 1.1.0
|
|
11
|
+
description: |
|
|
12
|
+
Complete release workflow for software projects.
|
|
13
|
+
Guides version planning, changelog update, and release creation.
|
|
14
|
+
Includes security checks, multi-platform publishing, and team notification guidance.
|
|
15
|
+
Keywords: release, publish, version, changelog, 發布, 版本.
|
|
16
|
+
|
|
17
|
+
metadata:
|
|
18
|
+
author: universal-dev-standards
|
|
19
|
+
category: release
|
|
20
|
+
difficulty: intermediate
|
|
21
|
+
estimated_steps: 7
|
|
22
|
+
related_skills:
|
|
23
|
+
- release-standards
|
|
24
|
+
|
|
25
|
+
prerequisites:
|
|
26
|
+
- Git working directory clean (no uncommitted changes)
|
|
27
|
+
- All features for this release merged
|
|
28
|
+
- Tests passing on main/develop branch
|
|
29
|
+
- Access to create GitHub releases
|
|
30
|
+
- (Optional) GPG key configured for signed commits/tags
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
# Step 1: Pre-release Verification
|
|
34
|
+
- id: verify
|
|
35
|
+
name: Pre-release Verification
|
|
36
|
+
type: agent
|
|
37
|
+
agent: test-specialist
|
|
38
|
+
phase: preparation
|
|
39
|
+
description: |
|
|
40
|
+
Run pre-release checks to ensure codebase is ready.
|
|
41
|
+
Execute ./scripts/pre-release-check.sh or equivalent.
|
|
42
|
+
Includes security, license, and dependency checks.
|
|
43
|
+
inputs:
|
|
44
|
+
- project_config
|
|
45
|
+
outputs:
|
|
46
|
+
- verification_status
|
|
47
|
+
- issues_found
|
|
48
|
+
- security_report
|
|
49
|
+
checklist:
|
|
50
|
+
# Core verification
|
|
51
|
+
- Git working directory clean
|
|
52
|
+
- All tests passing
|
|
53
|
+
- Linting passing
|
|
54
|
+
- Version files in sync
|
|
55
|
+
- Documentation up to date
|
|
56
|
+
# Security & compliance (新增)
|
|
57
|
+
- Security vulnerabilities checked (npm audit / pip-audit / cargo audit)
|
|
58
|
+
- No high/critical severity issues unresolved
|
|
59
|
+
- License compatibility verified (license-checker / pip-licenses)
|
|
60
|
+
- Dependencies up to date (npm outdated / pip list --outdated)
|
|
61
|
+
- Breaking changes documented in CHANGELOG
|
|
62
|
+
instructions: |
|
|
63
|
+
**基本檢查:**
|
|
64
|
+
```bash
|
|
65
|
+
# 確認 Git 狀態
|
|
66
|
+
git status
|
|
67
|
+
|
|
68
|
+
# 執行測試
|
|
69
|
+
npm test # 或 pytest / cargo test
|
|
70
|
+
|
|
71
|
+
# 執行 linting
|
|
72
|
+
npm run lint # 或 flake8 / cargo clippy
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Security Checks(安全檢查):**
|
|
76
|
+
|
|
77
|
+
| 技術棧 | 指令 | 說明 |
|
|
78
|
+
|--------|------|------|
|
|
79
|
+
| Node.js | `npm audit --audit-level=high` | 檢查 npm 套件漏洞 |
|
|
80
|
+
| Node.js | `npx snyk test` | Snyk 深度掃描 |
|
|
81
|
+
| Python | `pip-audit` | 檢查 PyPI 套件漏洞 |
|
|
82
|
+
| Python | `safety check` | Safety DB 檢查 |
|
|
83
|
+
| Rust | `cargo audit` | 檢查 Cargo 套件漏洞 |
|
|
84
|
+
| Go | `govulncheck ./...` | Go 漏洞檢查 |
|
|
85
|
+
|
|
86
|
+
**處理安全漏洞:**
|
|
87
|
+
- HIGH/CRITICAL: 必須修復後才能發布
|
|
88
|
+
- MEDIUM: 建議修復,或記錄於 Release Notes
|
|
89
|
+
- LOW: 可接受,追蹤於 Issue
|
|
90
|
+
|
|
91
|
+
**License Checks(授權檢查):**
|
|
92
|
+
```bash
|
|
93
|
+
# Node.js - 檢查所有依賴的授權
|
|
94
|
+
npx license-checker --summary
|
|
95
|
+
npx license-checker --production --onlyAllow "MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC"
|
|
96
|
+
|
|
97
|
+
# Python
|
|
98
|
+
pip-licenses --format=markdown
|
|
99
|
+
pip-licenses --allow-only="MIT;Apache-2.0;BSD"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**常見相容授權:**
|
|
103
|
+
- ✅ MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC
|
|
104
|
+
- ⚠️ LGPL(需注意連結方式)
|
|
105
|
+
- ❌ GPL(若為閉源專案)
|
|
106
|
+
|
|
107
|
+
**Dependency Freshness(依賴更新狀態):**
|
|
108
|
+
```bash
|
|
109
|
+
# 檢查過時的依賴
|
|
110
|
+
npm outdated # Node.js
|
|
111
|
+
pip list --outdated # Python
|
|
112
|
+
cargo outdated # Rust (需安裝 cargo-outdated)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
- Major 版本落後:評估是否需要升級
|
|
116
|
+
- 有已知安全漏洞:必須升級
|
|
117
|
+
|
|
118
|
+
# Step 2: Plan Version
|
|
119
|
+
- id: plan-version
|
|
120
|
+
name: Plan Version
|
|
121
|
+
type: manual
|
|
122
|
+
phase: planning
|
|
123
|
+
description: |
|
|
124
|
+
Determine the version type and number for this release.
|
|
125
|
+
Includes breaking change detection guidance.
|
|
126
|
+
instructions: |
|
|
127
|
+
**Version Types (Semantic Versioning):**
|
|
128
|
+
|
|
129
|
+
| 類型 | 格式 | 使用時機 |
|
|
130
|
+
|------|------|----------|
|
|
131
|
+
| MAJOR | X.0.0 | Breaking changes,不相容的 API 變更 |
|
|
132
|
+
| MINOR | X.Y.0 | 新功能,向後相容 |
|
|
133
|
+
| PATCH | X.Y.Z | Bug 修復,向後相容 |
|
|
134
|
+
|
|
135
|
+
**Pre-release Tags:**
|
|
136
|
+
|
|
137
|
+
| Tag | 用途 | 穩定性 |
|
|
138
|
+
|-----|------|--------|
|
|
139
|
+
| alpha | 早期測試,API 可能變更 | 不穩定 |
|
|
140
|
+
| beta | 功能完整,測試中 | 較穩定 |
|
|
141
|
+
| rc | 發布候選,最終測試 | 接近穩定 |
|
|
142
|
+
|
|
143
|
+
**Example Version Formats:**
|
|
144
|
+
- Stable: `1.2.3`
|
|
145
|
+
- Beta: `1.2.3-beta.1`
|
|
146
|
+
- Alpha: `1.2.3-alpha.1`
|
|
147
|
+
- RC: `1.2.3-rc.1`
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
**Breaking Change Detection(破壞性變更偵測):**
|
|
152
|
+
|
|
153
|
+
檢查以下項目判斷是否為 breaking change:
|
|
154
|
+
|
|
155
|
+
| 類別 | 檢查項目 | Breaking? |
|
|
156
|
+
|------|----------|-----------|
|
|
157
|
+
| API | 函式/方法簽名變更(參數、回傳值) | ✅ |
|
|
158
|
+
| API | 移除已發布的 public API | ✅ |
|
|
159
|
+
| API | 變更 API 預設行為 | ✅ |
|
|
160
|
+
| Config | 設定檔格式不相容變更 | ✅ |
|
|
161
|
+
| Data | 資料庫 schema 不相容變更 | ✅ |
|
|
162
|
+
| Env | 最低版本需求提升(Node.js、Python 等) | ✅ |
|
|
163
|
+
| API | 新增可選參數 | ❌ |
|
|
164
|
+
| API | 新增新的 API | ❌ |
|
|
165
|
+
| Fix | Bug 修復(即使改變行為) | ❌ |
|
|
166
|
+
|
|
167
|
+
**Deprecation Policy(棄用政策):**
|
|
168
|
+
|
|
169
|
+
建議的棄用流程:
|
|
170
|
+
1. **MINOR 版本**:標記 deprecated,加入警告訊息
|
|
171
|
+
```javascript
|
|
172
|
+
/** @deprecated Use newFunction() instead. Will be removed in v3.0.0 */
|
|
173
|
+
function oldFunction() { ... }
|
|
174
|
+
```
|
|
175
|
+
```python
|
|
176
|
+
import warnings
|
|
177
|
+
warnings.warn("oldFunction is deprecated, use newFunction instead", DeprecationWarning)
|
|
178
|
+
```
|
|
179
|
+
2. **下一個 MAJOR 版本**:移除 deprecated 功能
|
|
180
|
+
3. 在 CHANGELOG 的 Deprecated section 記錄
|
|
181
|
+
|
|
182
|
+
**版本決策流程:**
|
|
183
|
+
```
|
|
184
|
+
有 breaking changes?
|
|
185
|
+
├─ 是 → MAJOR (X.0.0)
|
|
186
|
+
└─ 否 → 有新功能?
|
|
187
|
+
├─ 是 → MINOR (X.Y.0)
|
|
188
|
+
└─ 否 → PATCH (X.Y.Z)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**決定版本號時考慮:**
|
|
192
|
+
1. 本次發布包含哪些變更?
|
|
193
|
+
2. 是否有破壞性變更(breaking changes)?
|
|
194
|
+
3. 是否需要先發布預發布版本進行測試?
|
|
195
|
+
4. 上次發布到現在的變更量?
|
|
196
|
+
inputs:
|
|
197
|
+
- verification_status
|
|
198
|
+
outputs:
|
|
199
|
+
- version_type
|
|
200
|
+
- new_version
|
|
201
|
+
- release_type
|
|
202
|
+
- has_breaking_changes
|
|
203
|
+
checklist:
|
|
204
|
+
- Version type selected (major/minor/patch)
|
|
205
|
+
- New version number determined
|
|
206
|
+
- Release type decided (stable/beta/alpha/rc)
|
|
207
|
+
- Breaking changes identified and documented
|
|
208
|
+
- Deprecation notices added (if applicable)
|
|
209
|
+
|
|
210
|
+
# Step 3: Update CHANGELOG
|
|
211
|
+
- id: update-changelog
|
|
212
|
+
name: Update CHANGELOG
|
|
213
|
+
type: agent
|
|
214
|
+
agent: doc-writer
|
|
215
|
+
phase: documentation
|
|
216
|
+
description: |
|
|
217
|
+
Update CHANGELOG.md with changes for this release.
|
|
218
|
+
Follow Keep a Changelog format.
|
|
219
|
+
Includes guidance for auto-generating from commits and PRs.
|
|
220
|
+
inputs:
|
|
221
|
+
- new_version
|
|
222
|
+
- has_breaking_changes
|
|
223
|
+
outputs:
|
|
224
|
+
- changelog_entry
|
|
225
|
+
checklist:
|
|
226
|
+
- Added section for new version
|
|
227
|
+
- Date included (YYYY-MM-DD format)
|
|
228
|
+
- Changes categorized (Added/Changed/Fixed/Deprecated/Removed/Security)
|
|
229
|
+
- Breaking changes clearly marked (⚠️)
|
|
230
|
+
- Links updated (comparison URL)
|
|
231
|
+
- Issue/PR references included
|
|
232
|
+
instructions: |
|
|
233
|
+
**CHANGELOG Format (Keep a Changelog):**
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
## [X.Y.Z] - YYYY-MM-DD
|
|
237
|
+
|
|
238
|
+
### Added
|
|
239
|
+
- New features
|
|
240
|
+
|
|
241
|
+
### Changed
|
|
242
|
+
- Changes in existing functionality
|
|
243
|
+
|
|
244
|
+
### Deprecated
|
|
245
|
+
- Soon-to-be removed features
|
|
246
|
+
|
|
247
|
+
### Removed
|
|
248
|
+
- Removed features
|
|
249
|
+
|
|
250
|
+
### Fixed
|
|
251
|
+
- Bug fixes
|
|
252
|
+
|
|
253
|
+
### Security
|
|
254
|
+
- Security fixes
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
**自動生成變更來源:**
|
|
260
|
+
|
|
261
|
+
可從以下來源收集變更:
|
|
262
|
+
|
|
263
|
+
1. **Git Commits:**
|
|
264
|
+
```bash
|
|
265
|
+
# 列出上次 release 到現在的所有 commits
|
|
266
|
+
git log --oneline vPREV..HEAD
|
|
267
|
+
|
|
268
|
+
# 更詳細的格式
|
|
269
|
+
git log --pretty=format:"- %s (%h)" vPREV..HEAD
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
2. **GitHub Pull Requests:**
|
|
273
|
+
```bash
|
|
274
|
+
# 列出已合併的 PR
|
|
275
|
+
gh pr list --state merged --base main --limit 50
|
|
276
|
+
|
|
277
|
+
# 查看特定 PR 的詳細資訊
|
|
278
|
+
gh pr view <number>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
3. **GitHub Issues(標記為 changelog):**
|
|
282
|
+
```bash
|
|
283
|
+
gh issue list --label changelog --state closed
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
**Conventional Commits 對應表:**
|
|
289
|
+
|
|
290
|
+
| Commit Type | CHANGELOG Section | 說明 |
|
|
291
|
+
|-------------|-------------------|------|
|
|
292
|
+
| `feat:` | Added | 新功能 |
|
|
293
|
+
| `fix:` | Fixed | Bug 修復 |
|
|
294
|
+
| `perf:` | Changed | 效能改善 |
|
|
295
|
+
| `refactor:` | Changed | 重構(無功能變更) |
|
|
296
|
+
| `docs:` | (通常省略) | 文件更新 |
|
|
297
|
+
| `style:` | (通常省略) | 格式調整 |
|
|
298
|
+
| `test:` | (通常省略) | 測試相關 |
|
|
299
|
+
| `chore:` | (通常省略) | 維護任務 |
|
|
300
|
+
| `BREAKING CHANGE:` | Changed (標記 ⚠️) | 破壞性變更 |
|
|
301
|
+
| `security:` | Security | 安全修復 |
|
|
302
|
+
| `deprecate:` | Deprecated | 棄用功能 |
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
**撰寫指引:**
|
|
307
|
+
|
|
308
|
+
✅ **DO:**
|
|
309
|
+
- 面向使用者撰寫,非開發者
|
|
310
|
+
- 說明「影響」而非「實作細節」
|
|
311
|
+
- 包含相關 Issue/PR 連結
|
|
312
|
+
- Breaking changes 使用 ⚠️ 標記
|
|
313
|
+
|
|
314
|
+
**Good Example:**
|
|
315
|
+
```markdown
|
|
316
|
+
### Added
|
|
317
|
+
- Add support for custom themes (#123)
|
|
318
|
+
- New `--verbose` flag for detailed output (#125)
|
|
319
|
+
|
|
320
|
+
### Changed
|
|
321
|
+
- ⚠️ **BREAKING**: Configuration file format changed from JSON to YAML
|
|
322
|
+
- Migration guide: [docs/migration-v3.md](docs/migration-v3.md)
|
|
323
|
+
|
|
324
|
+
### Fixed
|
|
325
|
+
- Fix crash when input file is empty (#128)
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
❌ **DON'T:**
|
|
329
|
+
```markdown
|
|
330
|
+
### Changed
|
|
331
|
+
- Refactored the config parser module
|
|
332
|
+
- Updated dependencies
|
|
333
|
+
- Fixed typo in variable name
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
**版本連結(底部):**
|
|
339
|
+
```markdown
|
|
340
|
+
[X.Y.Z]: https://github.com/owner/repo/compare/vPREV...vX.Y.Z
|
|
341
|
+
[PREV]: https://github.com/owner/repo/compare/vOLDER...vPREV
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
# Step 4: Sync Version Files
|
|
345
|
+
- id: sync-versions
|
|
346
|
+
name: Sync Version Files
|
|
347
|
+
type: agent
|
|
348
|
+
agent: code-architect
|
|
349
|
+
phase: execution
|
|
350
|
+
description: |
|
|
351
|
+
Update version in all required files.
|
|
352
|
+
Ensure all version references are synchronized.
|
|
353
|
+
Includes multi-technology stack examples.
|
|
354
|
+
inputs:
|
|
355
|
+
- new_version
|
|
356
|
+
- release_type
|
|
357
|
+
outputs:
|
|
358
|
+
- files_updated
|
|
359
|
+
checklist:
|
|
360
|
+
- package.json updated (if Node.js)
|
|
361
|
+
- pyproject.toml updated (if Python)
|
|
362
|
+
- Other version files synced (project-specific)
|
|
363
|
+
- Version strings consistent across all files
|
|
364
|
+
- Lock files regenerated if needed
|
|
365
|
+
instructions: |
|
|
366
|
+
**常見版本檔案位置:**
|
|
367
|
+
|
|
368
|
+
| 技術棧 | 檔案 | 欄位/格式 |
|
|
369
|
+
|--------|------|-----------|
|
|
370
|
+
| Node.js | `package.json` | `"version": "X.Y.Z"` |
|
|
371
|
+
| Node.js | `package-lock.json` | 自動更新(npm install 後) |
|
|
372
|
+
| Python | `pyproject.toml` | `[project] version = "X.Y.Z"` |
|
|
373
|
+
| Python | `setup.py` | `version="X.Y.Z"` |
|
|
374
|
+
| Python | `__init__.py` | `__version__ = "X.Y.Z"` |
|
|
375
|
+
| Rust | `Cargo.toml` | `[package] version = "X.Y.Z"` |
|
|
376
|
+
| Java/Gradle | `build.gradle` | `version = "X.Y.Z"` |
|
|
377
|
+
| Java/Maven | `pom.xml` | `<version>X.Y.Z</version>` |
|
|
378
|
+
| Go | `version.go` | `const Version = "X.Y.Z"` |
|
|
379
|
+
| General | `VERSION` | Plain text: `X.Y.Z` |
|
|
380
|
+
| General | `.version` | Plain text: `X.Y.Z` |
|
|
381
|
+
| Docs | `README.md` | Badge URL 或 Version 欄位 |
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
**更新指令範例:**
|
|
386
|
+
|
|
387
|
+
**Node.js:**
|
|
388
|
+
```bash
|
|
389
|
+
# 更新 package.json(不自動建立 git tag)
|
|
390
|
+
npm version X.Y.Z --no-git-tag-version
|
|
391
|
+
|
|
392
|
+
# 或手動編輯後重新安裝以更新 lock file
|
|
393
|
+
npm install
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
**Python (使用 bump2version):**
|
|
397
|
+
```bash
|
|
398
|
+
# 安裝
|
|
399
|
+
pip install bump2version
|
|
400
|
+
|
|
401
|
+
# 更新版本
|
|
402
|
+
bump2version patch # 或 minor / major
|
|
403
|
+
bump2version --new-version X.Y.Z patch
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**通用 (sed):**
|
|
407
|
+
```bash
|
|
408
|
+
# macOS
|
|
409
|
+
sed -i '' 's/OLD_VERSION/NEW_VERSION/g' file
|
|
410
|
+
|
|
411
|
+
# Linux
|
|
412
|
+
sed -i 's/OLD_VERSION/NEW_VERSION/g' file
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
**Monorepo 考量:**
|
|
418
|
+
|
|
419
|
+
| 策略 | 說明 | 適用場景 |
|
|
420
|
+
|------|------|----------|
|
|
421
|
+
| Fixed/Locked | 所有 packages 使用相同版本 | 緊密耦合的專案 |
|
|
422
|
+
| Independent | 每個 package 獨立版本 | 鬆散耦合的專案 |
|
|
423
|
+
|
|
424
|
+
**常用 Monorepo 工具:**
|
|
425
|
+
- **Lerna**: `lerna version --conventional-commits`
|
|
426
|
+
- **Changesets**: `npx changeset version`
|
|
427
|
+
- **Turborepo**: 配合 changesets 使用
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
**UDS 專案版本檔案(供參考):**
|
|
432
|
+
```
|
|
433
|
+
cli/package.json → "version"
|
|
434
|
+
cli/standards-registry.json → "version" (3 places)
|
|
435
|
+
.claude-plugin/plugin.json → "version"
|
|
436
|
+
.claude-plugin/marketplace.json → "version"
|
|
437
|
+
README.md → **Version**: (stable only)
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
# Step 5: Commit and Tag
|
|
441
|
+
- id: commit-tag
|
|
442
|
+
name: Commit and Tag
|
|
443
|
+
type: manual
|
|
444
|
+
phase: execution
|
|
445
|
+
description: |
|
|
446
|
+
Create git commit and tag for the release.
|
|
447
|
+
Includes GPG signing and protected branch handling.
|
|
448
|
+
instructions: |
|
|
449
|
+
**基本流程:**
|
|
450
|
+
|
|
451
|
+
1. **Stage all changed files:**
|
|
452
|
+
```bash
|
|
453
|
+
git add -A
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
2. **Commit with release message:**
|
|
457
|
+
```bash
|
|
458
|
+
git commit -m "chore(release): vX.Y.Z"
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
3. **Create annotated tag:**
|
|
462
|
+
```bash
|
|
463
|
+
git tag -a vX.Y.Z -m "Release vX.Y.Z"
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
4. **Push commit and tags:**
|
|
467
|
+
```bash
|
|
468
|
+
git push && git push --tags
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
**Note:** Replace X.Y.Z with the actual version number.
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
**GPG 簽名(建議用於正式發布):**
|
|
476
|
+
|
|
477
|
+
GPG 簽名可驗證 commit/tag 確實來自授權的發布者。
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
# 檢查 GPG 設定
|
|
481
|
+
git config --get user.signingkey
|
|
482
|
+
|
|
483
|
+
# 簽名 commit
|
|
484
|
+
git commit -S -m "chore(release): vX.Y.Z"
|
|
485
|
+
|
|
486
|
+
# 簽名 tag
|
|
487
|
+
git tag -s vX.Y.Z -m "Release vX.Y.Z"
|
|
488
|
+
|
|
489
|
+
# 驗證 tag 簽名
|
|
490
|
+
git verify-tag vX.Y.Z
|
|
491
|
+
|
|
492
|
+
# 設定預設簽名(全域)
|
|
493
|
+
git config --global commit.gpgsign true
|
|
494
|
+
git config --global tag.gpgsign true
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
**GitHub 顯示:**
|
|
498
|
+
- 簽名的 commits 會顯示 "Verified" 綠色標籤
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
**Protected Branch 處理:**
|
|
503
|
+
|
|
504
|
+
若 main/master 分支有保護規則(如需要 PR 審核):
|
|
505
|
+
|
|
506
|
+
**方法 1:Release Branch(推薦)**
|
|
507
|
+
```bash
|
|
508
|
+
# 1. 建立 release branch
|
|
509
|
+
git checkout -b release/vX.Y.Z
|
|
510
|
+
|
|
511
|
+
# 2. 在此 branch 完成版本更新
|
|
512
|
+
git add -A
|
|
513
|
+
git commit -m "chore(release): vX.Y.Z"
|
|
514
|
+
|
|
515
|
+
# 3. 推送並建立 PR
|
|
516
|
+
git push -u origin release/vX.Y.Z
|
|
517
|
+
gh pr create --title "Release vX.Y.Z" --body "Release preparation"
|
|
518
|
+
|
|
519
|
+
# 4. PR 通過審核後合併
|
|
520
|
+
|
|
521
|
+
# 5. 在 main 上建立 tag
|
|
522
|
+
git checkout main
|
|
523
|
+
git pull
|
|
524
|
+
git tag -a vX.Y.Z -m "Release vX.Y.Z"
|
|
525
|
+
git push --tags
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
**方法 2:Branch Protection Exception**
|
|
529
|
+
- 在 repo settings 中為 release bot 或特定用戶設定 bypass
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
**Tag 命名慣例:**
|
|
534
|
+
|
|
535
|
+
| 格式 | 範例 | 說明 |
|
|
536
|
+
|------|------|------|
|
|
537
|
+
| 有 v prefix | `v1.2.3` | 較常見 |
|
|
538
|
+
| 無 v prefix | `1.2.3` | 部分專案使用 |
|
|
539
|
+
| Pre-release | `v1.2.3-beta.1` | 預發布版本 |
|
|
540
|
+
|
|
541
|
+
⚠️ **重要:選定一種格式後保持一致!**
|
|
542
|
+
|
|
543
|
+
inputs:
|
|
544
|
+
- new_version
|
|
545
|
+
- files_updated
|
|
546
|
+
outputs:
|
|
547
|
+
- commit_sha
|
|
548
|
+
- tag_name
|
|
549
|
+
checklist:
|
|
550
|
+
- All changes staged
|
|
551
|
+
- Commit created with proper message
|
|
552
|
+
- Tag created with proper format (annotated)
|
|
553
|
+
- GPG signed (if configured)
|
|
554
|
+
- Pushed to remote
|
|
555
|
+
- Protected branch rules satisfied
|
|
556
|
+
|
|
557
|
+
# Step 6: Create GitHub Release
|
|
558
|
+
- id: create-release
|
|
559
|
+
name: Create GitHub Release
|
|
560
|
+
type: manual
|
|
561
|
+
phase: execution
|
|
562
|
+
description: |
|
|
563
|
+
Create GitHub Release from the tag.
|
|
564
|
+
Includes multi-platform publishing options.
|
|
565
|
+
instructions: |
|
|
566
|
+
**GitHub Release(主要):**
|
|
567
|
+
|
|
568
|
+
**Option 1: GitHub CLI (推薦)**
|
|
569
|
+
```bash
|
|
570
|
+
# 從檔案讀取 release notes
|
|
571
|
+
gh release create vX.Y.Z \
|
|
572
|
+
--title "vX.Y.Z" \
|
|
573
|
+
--notes-file RELEASE_NOTES.md
|
|
574
|
+
|
|
575
|
+
# 或內嵌 notes
|
|
576
|
+
gh release create vX.Y.Z \
|
|
577
|
+
--title "vX.Y.Z" \
|
|
578
|
+
--notes "$(cat <<'EOF'
|
|
579
|
+
## What's Changed
|
|
580
|
+
- Feature 1
|
|
581
|
+
- Bug fix 2
|
|
582
|
+
|
|
583
|
+
**Full Changelog**: https://github.com/owner/repo/compare/vPREV...vX.Y.Z
|
|
584
|
+
EOF
|
|
585
|
+
)"
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
**Pre-release:**
|
|
589
|
+
```bash
|
|
590
|
+
gh release create vX.Y.Z-beta.1 \
|
|
591
|
+
--title "vX.Y.Z Beta 1" \
|
|
592
|
+
--prerelease \
|
|
593
|
+
--notes "Beta release for testing. Not recommended for production."
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**Option 2: GitHub Web UI**
|
|
597
|
+
1. Repository → Releases → "Draft a new release"
|
|
598
|
+
2. Select the tag (vX.Y.Z)
|
|
599
|
+
3. Set title: vX.Y.Z
|
|
600
|
+
4. Copy CHANGELOG entry as release notes
|
|
601
|
+
5. Check "Set as the latest release" (for stable)
|
|
602
|
+
6. Click "Publish release"
|
|
603
|
+
|
|
604
|
+
---
|
|
605
|
+
|
|
606
|
+
**npm 發布(Node.js 專案):**
|
|
607
|
+
|
|
608
|
+
```bash
|
|
609
|
+
# Stable release (latest tag)
|
|
610
|
+
npm publish
|
|
611
|
+
|
|
612
|
+
# Beta release
|
|
613
|
+
npm publish --tag beta
|
|
614
|
+
|
|
615
|
+
# Alpha release
|
|
616
|
+
npm publish --tag alpha
|
|
617
|
+
|
|
618
|
+
# Dry run(測試,不實際發布)
|
|
619
|
+
npm publish --dry-run
|
|
620
|
+
|
|
621
|
+
# 驗證發布
|
|
622
|
+
npm info <package-name> versions
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
**npm 2FA 注意事項:**
|
|
626
|
+
- 若啟用 2FA,可能需要 `--otp=XXXXXX`
|
|
627
|
+
- 或使用 automation token(CI/CD 用)
|
|
628
|
+
|
|
629
|
+
---
|
|
630
|
+
|
|
631
|
+
**PyPI 發布(Python 專案):**
|
|
632
|
+
|
|
633
|
+
```bash
|
|
634
|
+
# 安裝建置工具
|
|
635
|
+
pip install build twine
|
|
636
|
+
|
|
637
|
+
# 建置
|
|
638
|
+
python -m build
|
|
639
|
+
|
|
640
|
+
# 上傳到 PyPI
|
|
641
|
+
twine upload dist/*
|
|
642
|
+
|
|
643
|
+
# 或先測試(TestPyPI)
|
|
644
|
+
twine upload --repository testpypi dist/*
|
|
645
|
+
pip install --index-url https://test.pypi.org/simple/ <package-name>
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**PyPI API Token:**
|
|
649
|
+
- 建議使用 project-scoped token
|
|
650
|
+
- 設定 `~/.pypirc` 或環境變數 `TWINE_USERNAME=__token__`
|
|
651
|
+
|
|
652
|
+
---
|
|
653
|
+
|
|
654
|
+
**Docker Image(容器化專案):**
|
|
655
|
+
|
|
656
|
+
```bash
|
|
657
|
+
# Build
|
|
658
|
+
docker build -t myapp:vX.Y.Z .
|
|
659
|
+
|
|
660
|
+
# 多重 tag
|
|
661
|
+
docker tag myapp:vX.Y.Z myapp:latest
|
|
662
|
+
docker tag myapp:vX.Y.Z myapp:X.Y
|
|
663
|
+
docker tag myapp:vX.Y.Z myapp:X
|
|
664
|
+
|
|
665
|
+
# Push to registry
|
|
666
|
+
docker push myapp:vX.Y.Z
|
|
667
|
+
docker push myapp:latest
|
|
668
|
+
|
|
669
|
+
# Multi-platform build (ARM + AMD64)
|
|
670
|
+
docker buildx build --platform linux/amd64,linux/arm64 \
|
|
671
|
+
-t myapp:vX.Y.Z --push .
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
---
|
|
675
|
+
|
|
676
|
+
**發布 Assets(二進位檔案):**
|
|
677
|
+
|
|
678
|
+
```bash
|
|
679
|
+
# 上傳 assets 到 GitHub Release
|
|
680
|
+
gh release upload vX.Y.Z ./dist/myapp-linux-amd64 ./dist/myapp-darwin-amd64
|
|
681
|
+
|
|
682
|
+
# 產生 checksums
|
|
683
|
+
sha256sum ./dist/* > checksums.txt
|
|
684
|
+
gh release upload vX.Y.Z checksums.txt
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
**建議包含的 Assets:**
|
|
688
|
+
- Binary 檔案(各平台)
|
|
689
|
+
- SHA256 checksums(`checksums.txt` 或 `.sha256`)
|
|
690
|
+
- 簽名檔案(`.sig` 或 `.asc`)
|
|
691
|
+
|
|
692
|
+
inputs:
|
|
693
|
+
- tag_name
|
|
694
|
+
- changelog_entry
|
|
695
|
+
- release_type
|
|
696
|
+
outputs:
|
|
697
|
+
- release_url
|
|
698
|
+
- package_published
|
|
699
|
+
checklist:
|
|
700
|
+
- Release created on GitHub
|
|
701
|
+
- Correct tag selected
|
|
702
|
+
- Release notes accurate
|
|
703
|
+
- Pre-release flag set if applicable
|
|
704
|
+
- Package published (npm/pypi/docker if applicable)
|
|
705
|
+
- Assets uploaded (if applicable)
|
|
706
|
+
- Checksums provided (if applicable)
|
|
707
|
+
|
|
708
|
+
# Step 7: Post-release Tasks
|
|
709
|
+
- id: post-release
|
|
710
|
+
name: Post-release Tasks
|
|
711
|
+
type: agent
|
|
712
|
+
agent: doc-writer
|
|
713
|
+
phase: verification
|
|
714
|
+
description: |
|
|
715
|
+
Verify release and perform post-release tasks.
|
|
716
|
+
Includes notification and announcement guidance.
|
|
717
|
+
inputs:
|
|
718
|
+
- release_url
|
|
719
|
+
- new_version
|
|
720
|
+
- release_type
|
|
721
|
+
outputs:
|
|
722
|
+
- verification_complete
|
|
723
|
+
- announcement_draft
|
|
724
|
+
checklist:
|
|
725
|
+
# Verification
|
|
726
|
+
- Release published successfully
|
|
727
|
+
- Package available (if npm/pypi/docker)
|
|
728
|
+
- Documentation reflects new version
|
|
729
|
+
# Housekeeping
|
|
730
|
+
- README badges updated (version, build status)
|
|
731
|
+
- Related issues closed with release note reference
|
|
732
|
+
- Related PRs linked to release
|
|
733
|
+
- Milestone closed (if using)
|
|
734
|
+
# Communication
|
|
735
|
+
- Announcement prepared (if major release)
|
|
736
|
+
- Team notified
|
|
737
|
+
# Operations
|
|
738
|
+
- Monitoring alerts configured for new version (if applicable)
|
|
739
|
+
- Rollback plan documented (if major release)
|
|
740
|
+
instructions: |
|
|
741
|
+
**驗證發布:**
|
|
742
|
+
|
|
743
|
+
```bash
|
|
744
|
+
# GitHub Release
|
|
745
|
+
gh release view vX.Y.Z
|
|
746
|
+
|
|
747
|
+
# npm
|
|
748
|
+
npm info <package-name> version
|
|
749
|
+
npm info <package-name> dist-tags
|
|
750
|
+
|
|
751
|
+
# PyPI
|
|
752
|
+
pip index versions <package-name>
|
|
753
|
+
|
|
754
|
+
# Docker
|
|
755
|
+
docker pull myapp:vX.Y.Z
|
|
756
|
+
docker inspect myapp:vX.Y.Z
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
---
|
|
760
|
+
|
|
761
|
+
**Issue/PR 清理:**
|
|
762
|
+
|
|
763
|
+
```bash
|
|
764
|
+
# 關閉相關 issues
|
|
765
|
+
gh issue close <number> --comment "Fixed in vX.Y.Z"
|
|
766
|
+
|
|
767
|
+
# 批次更新 milestone
|
|
768
|
+
gh issue list --milestone "vX.Y.Z" --state open
|
|
769
|
+
gh issue edit <number> --milestone "vX.Y.Z"
|
|
770
|
+
|
|
771
|
+
# 關閉 milestone
|
|
772
|
+
gh api repos/{owner}/{repo}/milestones/{number} -X PATCH -f state=closed
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
---
|
|
776
|
+
|
|
777
|
+
**通知管道(依需要選用):**
|
|
778
|
+
|
|
779
|
+
**1. Slack/Discord:**
|
|
780
|
+
```
|
|
781
|
+
🚀 Released <project> vX.Y.Z
|
|
782
|
+
|
|
783
|
+
**Highlights:**
|
|
784
|
+
• Feature A
|
|
785
|
+
• Bug fix B
|
|
786
|
+
|
|
787
|
+
📦 Install: `npm i <package>@X.Y.Z`
|
|
788
|
+
📝 Release: <release_url>
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
**2. Twitter/X:**
|
|
792
|
+
```
|
|
793
|
+
🎉 <Project> vX.Y.Z is out!
|
|
794
|
+
|
|
795
|
+
✨ New: Feature A
|
|
796
|
+
🐛 Fixed: Bug B
|
|
797
|
+
|
|
798
|
+
📦 npm i <package>
|
|
799
|
+
📝 Changelog: <url>
|
|
800
|
+
|
|
801
|
+
#opensource #release
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
**3. Email Newsletter(重大版本):**
|
|
805
|
+
- 詳細功能說明
|
|
806
|
+
- 升級指南
|
|
807
|
+
- Breaking changes 警告
|
|
808
|
+
|
|
809
|
+
**4. Blog Post(MAJOR 版本):**
|
|
810
|
+
- 版本願景與方向
|
|
811
|
+
- 詳細功能介紹
|
|
812
|
+
- Migration guide
|
|
813
|
+
- 感謝貢獻者
|
|
814
|
+
|
|
815
|
+
---
|
|
816
|
+
|
|
817
|
+
**README Badge 更新:**
|
|
818
|
+
|
|
819
|
+
```markdown
|
|
820
|
+
<!-- npm version badge -->
|
|
821
|
+

|
|
822
|
+
|
|
823
|
+
<!-- pypi version badge -->
|
|
824
|
+

|
|
825
|
+
|
|
826
|
+
<!-- GitHub release badge -->
|
|
827
|
+

|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
---
|
|
831
|
+
|
|
832
|
+
**Rollback Plan(重大版本):**
|
|
833
|
+
|
|
834
|
+
記錄回滾步驟以備不時之需:
|
|
835
|
+
1. 如何回滾到前一版本
|
|
836
|
+
2. 資料庫回滾步驟(如有 migration)
|
|
837
|
+
3. 相依服務的處理
|
|
838
|
+
4. 通知用戶的範本
|
|
839
|
+
|
|
840
|
+
---
|
|
841
|
+
|
|
842
|
+
**下一版本準備:**
|
|
843
|
+
|
|
844
|
+
```bash
|
|
845
|
+
# 建立下一個 milestone
|
|
846
|
+
gh api repos/{owner}/{repo}/milestones -X POST \
|
|
847
|
+
-f title="vX.Y+1.0" \
|
|
848
|
+
-f description="Next minor release"
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
outputs:
|
|
852
|
+
- name: release_url
|
|
853
|
+
description: URL to the published GitHub release
|
|
854
|
+
format: url
|
|
855
|
+
|
|
856
|
+
- name: new_version
|
|
857
|
+
description: The version number that was released
|
|
858
|
+
format: semver
|
|
859
|
+
|
|
860
|
+
- name: changelog_entry
|
|
861
|
+
description: The CHANGELOG content for this release
|
|
862
|
+
format: markdown
|
|
863
|
+
|
|
864
|
+
- name: security_report
|
|
865
|
+
description: Security audit results from pre-release checks
|
|
866
|
+
format: text
|
|
867
|
+
|
|
868
|
+
completion_criteria:
|
|
869
|
+
- All pre-release checks passed (including security)
|
|
870
|
+
- Version files synchronized
|
|
871
|
+
- CHANGELOG updated with proper categorization
|
|
872
|
+
- Git tag created and pushed (signed if configured)
|
|
873
|
+
- GitHub release published
|
|
874
|
+
- Package published to registry (if applicable)
|
|
875
|
+
- Post-release verification completed
|
|
876
|
+
- Team notified (if applicable)
|
|
877
|
+
|
|
878
|
+
# Project-specific configuration example
|
|
879
|
+
# Override this section for your project
|
|
880
|
+
project_config:
|
|
881
|
+
# Example: UDS project version files
|
|
882
|
+
# version_files:
|
|
883
|
+
# - cli/package.json
|
|
884
|
+
# - cli/standards-registry.json
|
|
885
|
+
# - .claude-plugin/plugin.json
|
|
886
|
+
# - .claude-plugin/marketplace.json
|
|
887
|
+
# - README.md (stable releases only)
|
|
888
|
+
# pre_release_script: ./scripts/pre-release-check.sh
|
|
889
|
+
# security_checks:
|
|
890
|
+
# - npm audit --audit-level=high
|
|
891
|
+
# license_policy:
|
|
892
|
+
# allowed: [MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC]
|
|
893
|
+
# denied: [GPL-3.0, AGPL-3.0]
|