universal-dev-standards 3.5.1-beta.1 → 3.5.1-beta.11
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/bin/uds.js +2 -0
- package/bundled/core/ai-instruction-standards.md +205 -0
- package/bundled/core/anti-hallucination.md +684 -0
- package/bundled/core/changelog-standards.md +556 -0
- package/bundled/core/checkin-standards.md +935 -0
- package/bundled/core/code-review-checklist.md +684 -0
- package/bundled/core/commit-message-guide.md +915 -0
- package/bundled/core/documentation-structure.md +1117 -0
- package/bundled/core/documentation-writing-standards.md +487 -0
- package/bundled/core/error-code-standards.md +382 -0
- package/bundled/core/git-workflow.md +859 -0
- package/bundled/core/logging-standards.md +323 -0
- package/bundled/core/project-structure.md +354 -0
- package/bundled/core/refactoring-standards.md +636 -0
- package/bundled/core/spec-driven-development.md +207 -0
- package/bundled/core/test-completeness-dimensions.md +536 -0
- package/bundled/core/test-driven-development.md +995 -0
- package/bundled/core/testing-standards.md +3061 -0
- package/bundled/core/versioning.md +902 -0
- package/bundled/locales/README.md +88 -0
- package/bundled/locales/zh-CN/CHANGELOG.md +705 -0
- package/bundled/locales/zh-CN/CLAUDE.md +213 -0
- package/bundled/locales/zh-CN/MAINTENANCE.md +689 -0
- package/bundled/locales/zh-CN/README.md +707 -0
- package/bundled/locales/zh-CN/STANDARDS-MAPPING.md +177 -0
- package/bundled/locales/zh-CN/adoption/ADOPTION-GUIDE.md +392 -0
- package/bundled/locales/zh-CN/adoption/STATIC-DYNAMIC-GUIDE.md +302 -0
- package/bundled/locales/zh-CN/adoption/checklists/enterprise.md +332 -0
- package/bundled/locales/zh-CN/adoption/checklists/minimal.md +141 -0
- package/bundled/locales/zh-CN/adoption/checklists/recommended.md +272 -0
- package/bundled/locales/zh-CN/ai/MAINTENANCE.md +739 -0
- package/bundled/locales/zh-CN/ai/options/changelog/auto-generated.ai.yaml +76 -0
- package/bundled/locales/zh-CN/ai/options/changelog/keep-a-changelog.ai.yaml +99 -0
- package/bundled/locales/zh-CN/ai/options/code-review/automated-review.ai.yaml +120 -0
- package/bundled/locales/zh-CN/ai/options/code-review/pair-programming.ai.yaml +109 -0
- package/bundled/locales/zh-CN/ai/options/code-review/pr-review.ai.yaml +104 -0
- package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +105 -0
- package/bundled/locales/zh-CN/ai/options/commit-message/english.ai.yaml +79 -0
- package/bundled/locales/zh-CN/ai/options/commit-message/traditional-chinese.ai.yaml +100 -0
- package/bundled/locales/zh-CN/ai/options/documentation/api-docs.ai.yaml +140 -0
- package/bundled/locales/zh-CN/ai/options/documentation/markdown-docs.ai.yaml +89 -0
- package/bundled/locales/zh-CN/ai/options/documentation/wiki-style.ai.yaml +119 -0
- package/bundled/locales/zh-CN/ai/options/git-workflow/gitflow.ai.yaml +133 -0
- package/bundled/locales/zh-CN/ai/options/git-workflow/github-flow.ai.yaml +73 -0
- package/bundled/locales/zh-CN/ai/options/git-workflow/merge-commit.ai.yaml +88 -0
- package/bundled/locales/zh-CN/ai/options/git-workflow/rebase-ff.ai.yaml +113 -0
- package/bundled/locales/zh-CN/ai/options/git-workflow/squash-merge.ai.yaml +85 -0
- package/bundled/locales/zh-CN/ai/options/git-workflow/trunk-based.ai.yaml +117 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/dotnet.ai.yaml +108 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/go.ai.yaml +115 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/java.ai.yaml +113 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/kotlin.ai.yaml +123 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/nodejs.ai.yaml +101 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/php.ai.yaml +147 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/python.ai.yaml +116 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/ruby.ai.yaml +140 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/rust.ai.yaml +117 -0
- package/bundled/locales/zh-CN/ai/options/project-structure/swift.ai.yaml +143 -0
- package/bundled/locales/zh-CN/ai/options/testing/contract-testing.ai.yaml +254 -0
- package/bundled/locales/zh-CN/ai/options/testing/e2e-testing.ai.yaml +116 -0
- package/bundled/locales/zh-CN/ai/options/testing/industry-pyramid.ai.yaml +144 -0
- package/bundled/locales/zh-CN/ai/options/testing/integration-testing.ai.yaml +90 -0
- package/bundled/locales/zh-CN/ai/options/testing/istqb-framework.ai.yaml +108 -0
- package/bundled/locales/zh-CN/ai/options/testing/performance-testing.ai.yaml +272 -0
- package/bundled/locales/zh-CN/ai/options/testing/security-testing.ai.yaml +160 -0
- package/bundled/locales/zh-CN/ai/options/testing/system-testing.ai.yaml +101 -0
- package/bundled/locales/zh-CN/ai/options/testing/unit-testing.ai.yaml +82 -0
- package/bundled/locales/zh-CN/ai/standards/anti-hallucination.ai.yaml +145 -0
- package/bundled/locales/zh-CN/ai/standards/changelog.ai.yaml +146 -0
- package/bundled/locales/zh-CN/ai/standards/checkin-standards.ai.yaml +170 -0
- package/bundled/locales/zh-CN/ai/standards/code-review.ai.yaml +148 -0
- package/bundled/locales/zh-CN/ai/standards/commit-message.ai.yaml +175 -0
- package/bundled/locales/zh-CN/ai/standards/documentation-structure.ai.yaml +124 -0
- package/bundled/locales/zh-CN/ai/standards/documentation-writing-standards.ai.yaml +190 -0
- package/bundled/locales/zh-CN/ai/standards/error-codes.ai.yaml +139 -0
- package/bundled/locales/zh-CN/ai/standards/git-workflow.ai.yaml +95 -0
- package/bundled/locales/zh-CN/ai/standards/logging.ai.yaml +128 -0
- package/bundled/locales/zh-CN/ai/standards/project-structure.ai.yaml +134 -0
- package/bundled/locales/zh-CN/ai/standards/spec-driven-development.ai.yaml +169 -0
- package/bundled/locales/zh-CN/ai/standards/test-completeness-dimensions.ai.yaml +220 -0
- package/bundled/locales/zh-CN/ai/standards/testing.ai.yaml +137 -0
- package/bundled/locales/zh-CN/ai/standards/versioning.ai.yaml +211 -0
- package/bundled/locales/zh-CN/core/ai-instruction-standards.md +213 -0
- package/bundled/locales/zh-CN/core/anti-hallucination.md +691 -0
- package/bundled/locales/zh-CN/core/changelog-standards.md +147 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +943 -0
- package/bundled/locales/zh-CN/core/code-review-guide.md +693 -0
- package/bundled/locales/zh-CN/core/commit-message-guide.md +129 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +173 -0
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +495 -0
- package/bundled/locales/zh-CN/core/error-code-standards.md +180 -0
- package/bundled/locales/zh-CN/core/git-workflow.md +193 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +174 -0
- package/bundled/locales/zh-CN/core/project-structure.md +184 -0
- package/bundled/locales/zh-CN/core/refactoring-standards.md +642 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +215 -0
- package/bundled/locales/zh-CN/core/test-completeness-dimensions.md +544 -0
- package/bundled/locales/zh-CN/core/test-driven-development.md +1002 -0
- package/bundled/locales/zh-CN/core/testing-standards.md +170 -0
- package/bundled/locales/zh-CN/core/versioning.md +177 -0
- package/bundled/locales/zh-CN/docs/AI-AGENT-ROADMAP.md +303 -0
- package/bundled/locales/zh-CN/docs/CLI-INIT-OPTIONS.md +990 -0
- package/bundled/locales/zh-CN/docs/OPERATION-WORKFLOW.md +1064 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +333 -0
- package/bundled/locales/zh-CN/docs/WINDOWS-GUIDE.md +215 -0
- package/bundled/locales/zh-CN/integrations/codex/AGENTS.md +115 -0
- package/bundled/locales/zh-CN/integrations/codex/README.md +67 -0
- package/bundled/locales/zh-CN/integrations/gemini-cli/GEMINI.md +102 -0
- package/bundled/locales/zh-CN/integrations/gemini-cli/README.md +140 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +269 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +167 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/copilot-instructions.md +263 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +192 -0
- package/bundled/locales/zh-CN/integrations/google-antigravity/INSTRUCTIONS.md +61 -0
- package/bundled/locales/zh-CN/integrations/google-antigravity/README.md +84 -0
- package/bundled/locales/zh-CN/integrations/opencode/AGENTS.md +111 -0
- package/bundled/locales/zh-CN/integrations/opencode/README.md +176 -0
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +396 -0
- package/bundled/locales/zh-CN/integrations/openspec/AGENTS.md +301 -0
- package/bundled/locales/zh-CN/integrations/openspec/README.md +43 -0
- package/bundled/locales/zh-CN/integrations/spec-kit/AGENTS.md +184 -0
- package/bundled/locales/zh-CN/integrations/spec-kit/README.md +43 -0
- package/bundled/locales/zh-CN/options/commit-message/bilingual.md +161 -0
- package/bundled/locales/zh-CN/options/commit-message/english.md +137 -0
- package/bundled/locales/zh-CN/options/commit-message/traditional-chinese.md +162 -0
- package/bundled/locales/zh-CN/options/git-workflow/gitflow.md +147 -0
- package/bundled/locales/zh-CN/options/git-workflow/github-flow.md +124 -0
- package/bundled/locales/zh-CN/options/git-workflow/merge-commit.md +124 -0
- package/bundled/locales/zh-CN/options/git-workflow/rebase-ff.md +160 -0
- package/bundled/locales/zh-CN/options/git-workflow/squash-merge.md +117 -0
- package/bundled/locales/zh-CN/options/git-workflow/trunk-based.md +125 -0
- package/bundled/locales/zh-CN/options/project-structure/dotnet.md +183 -0
- package/bundled/locales/zh-CN/options/project-structure/go.md +226 -0
- package/bundled/locales/zh-CN/options/project-structure/java.md +213 -0
- package/bundled/locales/zh-CN/options/project-structure/nodejs.md +185 -0
- package/bundled/locales/zh-CN/options/project-structure/python.md +229 -0
- package/bundled/locales/zh-CN/options/testing/e2e-testing.md +207 -0
- package/bundled/locales/zh-CN/options/testing/integration-testing.md +230 -0
- package/bundled/locales/zh-CN/options/testing/system-testing.md +183 -0
- package/bundled/locales/zh-CN/options/testing/unit-testing.md +165 -0
- package/bundled/locales/zh-CN/skills/INTEGRATION-GUIDE.md +218 -0
- package/bundled/locales/zh-CN/skills/README.md +134 -0
- package/bundled/locales/zh-CN/skills/_shared/README.md +68 -0
- package/bundled/locales/zh-CN/skills/claude-code/CONTRIBUTING.template.md +151 -0
- package/bundled/locales/zh-CN/skills/claude-code/README.md +174 -0
- package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
- package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +223 -0
- package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/certainty-labels.md +132 -0
- package/bundled/locales/zh-CN/skills/claude-code/changelog-guide/SKILL.md +237 -0
- package/bundled/locales/zh-CN/skills/claude-code/checkin-assistant/SKILL.md +407 -0
- package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/SKILL.md +154 -0
- package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/checkin-checklist.md +257 -0
- package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/review-checklist.md +246 -0
- package/bundled/locales/zh-CN/skills/claude-code/commands/bdd.md +142 -0
- package/bundled/locales/zh-CN/skills/claude-code/commands/methodology.md +274 -0
- package/bundled/locales/zh-CN/skills/claude-code/commit-standards/SKILL.md +191 -0
- package/bundled/locales/zh-CN/skills/claude-code/commit-standards/conventional-commits.md +264 -0
- package/bundled/locales/zh-CN/skills/claude-code/commit-standards/language-options.md +172 -0
- package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/SKILL.md +421 -0
- package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/documentation-structure.md +357 -0
- package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/readme-template.md +412 -0
- package/bundled/locales/zh-CN/skills/claude-code/error-code-guide/SKILL.md +269 -0
- package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/SKILL.md +218 -0
- package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/branch-naming.md +220 -0
- package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/git-workflow.md +321 -0
- package/bundled/locales/zh-CN/skills/claude-code/logging-guide/SKILL.md +285 -0
- package/bundled/locales/zh-CN/skills/claude-code/methodology-system/SKILL.md +131 -0
- package/bundled/locales/zh-CN/skills/claude-code/methodology-system/create-methodology.md +350 -0
- package/bundled/locales/zh-CN/skills/claude-code/methodology-system/runtime.md +279 -0
- package/bundled/locales/zh-CN/skills/claude-code/project-structure-guide/SKILL.md +143 -0
- package/bundled/locales/zh-CN/skills/claude-code/project-structure-guide/language-patterns.md +271 -0
- package/bundled/locales/zh-CN/skills/claude-code/refactoring-assistant/SKILL.md +162 -0
- package/bundled/locales/zh-CN/skills/claude-code/release-standards/SKILL.md +191 -0
- package/bundled/locales/zh-CN/skills/claude-code/release-standards/changelog-format.md +247 -0
- package/bundled/locales/zh-CN/skills/claude-code/release-standards/release-workflow.md +345 -0
- package/bundled/locales/zh-CN/skills/claude-code/release-standards/semantic-versioning.md +250 -0
- package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/SKILL.md +227 -0
- package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/requirement-checklist.md +325 -0
- package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/requirement-writing.md +399 -0
- package/bundled/locales/zh-CN/skills/claude-code/spec-driven-dev/SKILL.md +243 -0
- package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/SKILL.md +332 -0
- package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/language-examples.md +639 -0
- package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/tdd-workflow.md +486 -0
- package/bundled/locales/zh-CN/skills/claude-code/test-coverage-assistant/SKILL.md +282 -0
- package/bundled/locales/zh-CN/skills/claude-code/testing-guide/SKILL.md +234 -0
- package/bundled/locales/zh-CN/skills/claude-code/testing-guide/testing-pyramid.md +448 -0
- package/bundled/locales/zh-CN/skills/cline/README.md +58 -0
- package/bundled/locales/zh-CN/skills/copilot/README.md +61 -0
- package/bundled/locales/zh-CN/skills/copilot/copilot-instructions.md +79 -0
- package/bundled/locales/zh-CN/skills/cursor/README.md +58 -0
- package/bundled/locales/zh-CN/skills/windsurf/README.md +59 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +707 -0
- package/bundled/locales/zh-TW/CLAUDE.md +213 -0
- package/bundled/locales/zh-TW/MAINTENANCE.md +683 -0
- package/bundled/locales/zh-TW/README.md +687 -0
- package/bundled/locales/zh-TW/STANDARDS-MAPPING.md +177 -0
- package/bundled/locales/zh-TW/adoption/ADOPTION-GUIDE.md +392 -0
- package/bundled/locales/zh-TW/adoption/STATIC-DYNAMIC-GUIDE.md +299 -0
- package/bundled/locales/zh-TW/adoption/checklists/enterprise.md +332 -0
- package/bundled/locales/zh-TW/adoption/checklists/minimal.md +141 -0
- package/bundled/locales/zh-TW/adoption/checklists/recommended.md +272 -0
- package/bundled/locales/zh-TW/ai/MAINTENANCE.md +754 -0
- package/bundled/locales/zh-TW/ai/options/changelog/auto-generated.ai.yaml +76 -0
- package/bundled/locales/zh-TW/ai/options/changelog/keep-a-changelog.ai.yaml +99 -0
- package/bundled/locales/zh-TW/ai/options/code-review/automated-review.ai.yaml +120 -0
- package/bundled/locales/zh-TW/ai/options/code-review/pair-programming.ai.yaml +109 -0
- package/bundled/locales/zh-TW/ai/options/code-review/pr-review.ai.yaml +104 -0
- package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +105 -0
- package/bundled/locales/zh-TW/ai/options/commit-message/english.ai.yaml +79 -0
- package/bundled/locales/zh-TW/ai/options/commit-message/traditional-chinese.ai.yaml +100 -0
- package/bundled/locales/zh-TW/ai/options/documentation/api-docs.ai.yaml +140 -0
- package/bundled/locales/zh-TW/ai/options/documentation/markdown-docs.ai.yaml +89 -0
- package/bundled/locales/zh-TW/ai/options/documentation/wiki-style.ai.yaml +119 -0
- package/bundled/locales/zh-TW/ai/options/git-workflow/gitflow.ai.yaml +133 -0
- package/bundled/locales/zh-TW/ai/options/git-workflow/github-flow.ai.yaml +73 -0
- package/bundled/locales/zh-TW/ai/options/git-workflow/merge-commit.ai.yaml +88 -0
- package/bundled/locales/zh-TW/ai/options/git-workflow/rebase-ff.ai.yaml +113 -0
- package/bundled/locales/zh-TW/ai/options/git-workflow/squash-merge.ai.yaml +85 -0
- package/bundled/locales/zh-TW/ai/options/git-workflow/trunk-based.ai.yaml +117 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/dotnet.ai.yaml +108 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/go.ai.yaml +115 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/java.ai.yaml +113 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/kotlin.ai.yaml +123 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/nodejs.ai.yaml +101 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/php.ai.yaml +147 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/python.ai.yaml +116 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/ruby.ai.yaml +140 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/rust.ai.yaml +117 -0
- package/bundled/locales/zh-TW/ai/options/project-structure/swift.ai.yaml +143 -0
- package/bundled/locales/zh-TW/ai/options/testing/contract-testing.ai.yaml +254 -0
- package/bundled/locales/zh-TW/ai/options/testing/e2e-testing.ai.yaml +116 -0
- package/bundled/locales/zh-TW/ai/options/testing/industry-pyramid.ai.yaml +144 -0
- package/bundled/locales/zh-TW/ai/options/testing/integration-testing.ai.yaml +90 -0
- package/bundled/locales/zh-TW/ai/options/testing/istqb-framework.ai.yaml +108 -0
- package/bundled/locales/zh-TW/ai/options/testing/performance-testing.ai.yaml +272 -0
- package/bundled/locales/zh-TW/ai/options/testing/security-testing.ai.yaml +160 -0
- package/bundled/locales/zh-TW/ai/options/testing/system-testing.ai.yaml +101 -0
- package/bundled/locales/zh-TW/ai/options/testing/unit-testing.ai.yaml +82 -0
- package/bundled/locales/zh-TW/ai/standards/anti-hallucination.ai.yaml +145 -0
- package/bundled/locales/zh-TW/ai/standards/changelog.ai.yaml +146 -0
- package/bundled/locales/zh-TW/ai/standards/checkin-standards.ai.yaml +170 -0
- package/bundled/locales/zh-TW/ai/standards/code-review.ai.yaml +148 -0
- package/bundled/locales/zh-TW/ai/standards/commit-message.ai.yaml +175 -0
- package/bundled/locales/zh-TW/ai/standards/documentation-structure.ai.yaml +124 -0
- package/bundled/locales/zh-TW/ai/standards/documentation-writing-standards.ai.yaml +190 -0
- package/bundled/locales/zh-TW/ai/standards/error-codes.ai.yaml +139 -0
- package/bundled/locales/zh-TW/ai/standards/git-workflow.ai.yaml +95 -0
- package/bundled/locales/zh-TW/ai/standards/logging.ai.yaml +128 -0
- package/bundled/locales/zh-TW/ai/standards/project-structure.ai.yaml +134 -0
- package/bundled/locales/zh-TW/ai/standards/spec-driven-development.ai.yaml +169 -0
- package/bundled/locales/zh-TW/ai/standards/test-completeness-dimensions.ai.yaml +220 -0
- package/bundled/locales/zh-TW/ai/standards/testing.ai.yaml +137 -0
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +211 -0
- package/bundled/locales/zh-TW/core/ai-instruction-standards.md +213 -0
- package/bundled/locales/zh-TW/core/anti-hallucination.md +691 -0
- package/bundled/locales/zh-TW/core/changelog-standards.md +564 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +943 -0
- package/bundled/locales/zh-TW/core/code-review-checklist.md +693 -0
- package/bundled/locales/zh-TW/core/commit-message-guide.md +809 -0
- package/bundled/locales/zh-TW/core/documentation-structure.md +1125 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +495 -0
- package/bundled/locales/zh-TW/core/error-code-standards.md +384 -0
- package/bundled/locales/zh-TW/core/git-workflow.md +860 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +325 -0
- package/bundled/locales/zh-TW/core/project-structure.md +362 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +642 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +215 -0
- package/bundled/locales/zh-TW/core/test-completeness-dimensions.md +544 -0
- package/bundled/locales/zh-TW/core/test-driven-development.md +1004 -0
- package/bundled/locales/zh-TW/core/testing-standards.md +2158 -0
- package/bundled/locales/zh-TW/core/versioning.md +909 -0
- package/bundled/locales/zh-TW/docs/AI-AGENT-ROADMAP.md +303 -0
- package/bundled/locales/zh-TW/docs/CLI-INIT-OPTIONS.md +990 -0
- package/bundled/locales/zh-TW/docs/OPERATION-WORKFLOW.md +1064 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +333 -0
- package/bundled/locales/zh-TW/docs/WINDOWS-GUIDE.md +215 -0
- package/bundled/locales/zh-TW/integrations/codex/AGENTS.md +115 -0
- package/bundled/locales/zh-TW/integrations/codex/README.md +113 -0
- package/bundled/locales/zh-TW/integrations/gemini-cli/GEMINI.md +102 -0
- package/bundled/locales/zh-TW/integrations/gemini-cli/README.md +140 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +269 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +167 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/copilot-instructions.md +263 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +192 -0
- package/bundled/locales/zh-TW/integrations/google-antigravity/INSTRUCTIONS.md +61 -0
- package/bundled/locales/zh-TW/integrations/google-antigravity/README.md +84 -0
- package/bundled/locales/zh-TW/integrations/opencode/AGENTS.md +111 -0
- package/bundled/locales/zh-TW/integrations/opencode/README.md +176 -0
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +396 -0
- package/bundled/locales/zh-TW/integrations/openspec/AGENTS.md +301 -0
- package/bundled/locales/zh-TW/integrations/openspec/README.md +43 -0
- package/bundled/locales/zh-TW/integrations/spec-kit/AGENTS.md +184 -0
- package/bundled/locales/zh-TW/integrations/spec-kit/README.md +43 -0
- package/bundled/locales/zh-TW/options/commit-message/bilingual.md +161 -0
- package/bundled/locales/zh-TW/options/commit-message/english.md +137 -0
- package/bundled/locales/zh-TW/options/commit-message/traditional-chinese.md +162 -0
- package/bundled/locales/zh-TW/options/git-workflow/gitflow.md +147 -0
- package/bundled/locales/zh-TW/options/git-workflow/github-flow.md +124 -0
- package/bundled/locales/zh-TW/options/git-workflow/merge-commit.md +124 -0
- package/bundled/locales/zh-TW/options/git-workflow/rebase-ff.md +160 -0
- package/bundled/locales/zh-TW/options/git-workflow/squash-merge.md +117 -0
- package/bundled/locales/zh-TW/options/git-workflow/trunk-based.md +125 -0
- package/bundled/locales/zh-TW/options/project-structure/dotnet.md +183 -0
- package/bundled/locales/zh-TW/options/project-structure/go.md +226 -0
- package/bundled/locales/zh-TW/options/project-structure/java.md +213 -0
- package/bundled/locales/zh-TW/options/project-structure/nodejs.md +185 -0
- package/bundled/locales/zh-TW/options/project-structure/python.md +229 -0
- package/bundled/locales/zh-TW/options/testing/e2e-testing.md +207 -0
- package/bundled/locales/zh-TW/options/testing/integration-testing.md +230 -0
- package/bundled/locales/zh-TW/options/testing/system-testing.md +183 -0
- package/bundled/locales/zh-TW/options/testing/unit-testing.md +165 -0
- package/bundled/locales/zh-TW/skills/INTEGRATION-GUIDE.md +218 -0
- package/bundled/locales/zh-TW/skills/README.md +132 -0
- package/bundled/locales/zh-TW/skills/_shared/README.md +68 -0
- package/bundled/locales/zh-TW/skills/claude-code/CONTRIBUTING.template.md +151 -0
- package/bundled/locales/zh-TW/skills/claude-code/README.md +174 -0
- package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
- package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +223 -0
- package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/certainty-labels.md +132 -0
- package/bundled/locales/zh-TW/skills/claude-code/changelog-guide/SKILL.md +237 -0
- package/bundled/locales/zh-TW/skills/claude-code/checkin-assistant/SKILL.md +407 -0
- package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/SKILL.md +154 -0
- package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/checkin-checklist.md +257 -0
- package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/review-checklist.md +246 -0
- package/bundled/locales/zh-TW/skills/claude-code/commands/bdd.md +142 -0
- package/bundled/locales/zh-TW/skills/claude-code/commands/methodology.md +274 -0
- package/bundled/locales/zh-TW/skills/claude-code/commit-standards/SKILL.md +191 -0
- package/bundled/locales/zh-TW/skills/claude-code/commit-standards/conventional-commits.md +264 -0
- package/bundled/locales/zh-TW/skills/claude-code/commit-standards/language-options.md +172 -0
- package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/SKILL.md +421 -0
- package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/documentation-structure.md +357 -0
- package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/readme-template.md +412 -0
- package/bundled/locales/zh-TW/skills/claude-code/error-code-guide/SKILL.md +269 -0
- package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/SKILL.md +218 -0
- package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/branch-naming.md +220 -0
- package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/git-workflow.md +321 -0
- package/bundled/locales/zh-TW/skills/claude-code/logging-guide/SKILL.md +285 -0
- package/bundled/locales/zh-TW/skills/claude-code/methodology-system/SKILL.md +131 -0
- package/bundled/locales/zh-TW/skills/claude-code/methodology-system/create-methodology.md +350 -0
- package/bundled/locales/zh-TW/skills/claude-code/methodology-system/runtime.md +279 -0
- package/bundled/locales/zh-TW/skills/claude-code/project-structure-guide/SKILL.md +143 -0
- package/bundled/locales/zh-TW/skills/claude-code/project-structure-guide/language-patterns.md +271 -0
- package/bundled/locales/zh-TW/skills/claude-code/refactoring-assistant/SKILL.md +162 -0
- package/bundled/locales/zh-TW/skills/claude-code/release-standards/SKILL.md +191 -0
- package/bundled/locales/zh-TW/skills/claude-code/release-standards/changelog-format.md +247 -0
- package/bundled/locales/zh-TW/skills/claude-code/release-standards/release-workflow.md +345 -0
- package/bundled/locales/zh-TW/skills/claude-code/release-standards/semantic-versioning.md +250 -0
- package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/SKILL.md +227 -0
- package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/requirement-checklist.md +325 -0
- package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/requirement-writing.md +399 -0
- package/bundled/locales/zh-TW/skills/claude-code/spec-driven-dev/SKILL.md +243 -0
- package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/SKILL.md +332 -0
- package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/language-examples.md +639 -0
- package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/tdd-workflow.md +486 -0
- package/bundled/locales/zh-TW/skills/claude-code/test-coverage-assistant/SKILL.md +282 -0
- package/bundled/locales/zh-TW/skills/claude-code/testing-guide/SKILL.md +234 -0
- package/bundled/locales/zh-TW/skills/claude-code/testing-guide/testing-pyramid.md +448 -0
- package/bundled/locales/zh-TW/skills/cline/README.md +58 -0
- package/bundled/locales/zh-TW/skills/copilot/README.md +61 -0
- package/bundled/locales/zh-TW/skills/copilot/copilot-instructions.md +79 -0
- package/bundled/locales/zh-TW/skills/cursor/README.md +58 -0
- package/bundled/locales/zh-TW/skills/windsurf/README.md +59 -0
- package/bundled/skills/claude-code/CONTRIBUTING.template.md +141 -0
- package/bundled/skills/claude-code/README.md +196 -0
- package/bundled/skills/claude-code/ai/standards/checkin.ai.yaml +21 -0
- package/bundled/skills/claude-code/ai/standards/commit.ai.yaml +20 -0
- package/bundled/skills/claude-code/ai/standards/refactoring.ai.yaml +34 -0
- package/bundled/skills/claude-code/ai/standards/testing.ai.yaml +41 -0
- package/bundled/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
- package/bundled/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +215 -0
- package/bundled/skills/claude-code/ai-collaboration-standards/certainty-labels.md +124 -0
- package/bundled/skills/claude-code/changelog-guide/SKILL.md +232 -0
- package/bundled/skills/claude-code/checkin-assistant/SKILL.md +402 -0
- package/bundled/skills/claude-code/code-review-assistant/SKILL.md +220 -0
- package/bundled/skills/claude-code/code-review-assistant/checkin-checklist.md +249 -0
- package/bundled/skills/claude-code/code-review-assistant/review-checklist.md +238 -0
- package/bundled/skills/claude-code/commands/README.md +78 -0
- package/bundled/skills/claude-code/commands/bdd.md +142 -0
- package/bundled/skills/claude-code/commands/changelog.md +57 -0
- package/bundled/skills/claude-code/commands/check.md +91 -0
- package/bundled/skills/claude-code/commands/commit.md +48 -0
- package/bundled/skills/claude-code/commands/config.md +97 -0
- package/bundled/skills/claude-code/commands/coverage.md +58 -0
- package/bundled/skills/claude-code/commands/docs.md +75 -0
- package/bundled/skills/claude-code/commands/init.md +88 -0
- package/bundled/skills/claude-code/commands/methodology.md +268 -0
- package/bundled/skills/claude-code/commands/release.md +50 -0
- package/bundled/skills/claude-code/commands/requirement.md +54 -0
- package/bundled/skills/claude-code/commands/review.md +50 -0
- package/bundled/skills/claude-code/commands/spec.md +69 -0
- package/bundled/skills/claude-code/commands/tdd.md +86 -0
- package/bundled/skills/claude-code/commands/update.md +122 -0
- package/bundled/skills/claude-code/commit-standards/SKILL.md +249 -0
- package/bundled/skills/claude-code/commit-standards/conventional-commits.md +256 -0
- package/bundled/skills/claude-code/commit-standards/language-options.md +164 -0
- package/bundled/skills/claude-code/documentation-guide/SKILL.md +416 -0
- package/bundled/skills/claude-code/documentation-guide/documentation-structure.md +349 -0
- package/bundled/skills/claude-code/documentation-guide/readme-template.md +404 -0
- package/bundled/skills/claude-code/error-code-guide/SKILL.md +264 -0
- package/bundled/skills/claude-code/git-workflow-guide/SKILL.md +226 -0
- package/bundled/skills/claude-code/git-workflow-guide/branch-naming.md +212 -0
- package/bundled/skills/claude-code/git-workflow-guide/git-workflow.md +313 -0
- package/bundled/skills/claude-code/logging-guide/SKILL.md +280 -0
- package/bundled/skills/claude-code/methodology-system/SKILL.md +215 -0
- package/bundled/skills/claude-code/methodology-system/create-methodology.md +450 -0
- package/bundled/skills/claude-code/methodology-system/runtime.md +271 -0
- package/bundled/skills/claude-code/project-structure-guide/SKILL.md +143 -0
- package/bundled/skills/claude-code/project-structure-guide/language-patterns.md +263 -0
- package/bundled/skills/claude-code/refactoring-assistant/SKILL.md +205 -0
- package/bundled/skills/claude-code/release-standards/SKILL.md +191 -0
- package/bundled/skills/claude-code/release-standards/changelog-format.md +239 -0
- package/bundled/skills/claude-code/release-standards/release-workflow.md +337 -0
- package/bundled/skills/claude-code/release-standards/semantic-versioning.md +242 -0
- package/bundled/skills/claude-code/requirement-assistant/SKILL.md +222 -0
- package/bundled/skills/claude-code/requirement-assistant/requirement-checklist.md +317 -0
- package/bundled/skills/claude-code/requirement-assistant/requirement-writing.md +391 -0
- package/bundled/skills/claude-code/spec-driven-dev/SKILL.md +238 -0
- package/bundled/skills/claude-code/tdd-assistant/SKILL.md +384 -0
- package/bundled/skills/claude-code/tdd-assistant/language-examples.md +1276 -0
- package/bundled/skills/claude-code/tdd-assistant/tdd-workflow.md +659 -0
- package/bundled/skills/claude-code/test-coverage-assistant/SKILL.md +277 -0
- package/bundled/skills/claude-code/testing-guide/SKILL.md +317 -0
- package/bundled/skills/claude-code/testing-guide/testing-pyramid.md +440 -0
- package/package.json +4 -2
- package/src/commands/check.js +38 -6
- package/src/commands/init.js +20 -6
- package/src/commands/list.js +7 -2
- package/src/commands/skills.js +0 -2
- package/src/commands/update.js +271 -0
- package/src/i18n/messages.js +161 -11
- package/src/utils/copier.js +63 -10
- package/src/utils/skills-installer.js +47 -11
- package/standards-registry.json +6 -3
|
@@ -0,0 +1,902 @@
|
|
|
1
|
+
# Semantic Versioning Standard
|
|
2
|
+
|
|
3
|
+
> **Language**: English | [繁體中文](../locales/zh-TW/core/versioning.md)
|
|
4
|
+
|
|
5
|
+
**Version**: 1.2.0
|
|
6
|
+
**Last Updated**: 2025-12-30
|
|
7
|
+
**Applicability**: All software projects with versioned releases
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This standard defines how to version software releases using Semantic Versioning (SemVer) to communicate changes clearly to users and maintainers.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Semantic Versioning Format
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
2.3.1
|
|
24
|
+
1.0.0-alpha.1
|
|
25
|
+
3.2.0-beta.2+20250112
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Components
|
|
29
|
+
|
|
30
|
+
| Component | Purpose | When to Increment |
|
|
31
|
+
|-----------|---------|-------------------|
|
|
32
|
+
| **MAJOR** | Breaking changes | Incompatible API changes |
|
|
33
|
+
| **MINOR** | New features | Backward-compatible functionality |
|
|
34
|
+
| **PATCH** | Bug fixes | Backward-compatible bug fixes |
|
|
35
|
+
| **PRERELEASE** | Pre-release identifier | Alpha, beta, rc versions |
|
|
36
|
+
| **BUILD** | Build metadata | Build number, commit hash |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Incrementing Rules
|
|
41
|
+
|
|
42
|
+
### MAJOR Version (X.0.0)
|
|
43
|
+
|
|
44
|
+
**Increment when**:
|
|
45
|
+
- Breaking API changes
|
|
46
|
+
- Removing deprecated features
|
|
47
|
+
- Major architecture changes
|
|
48
|
+
- Incompatible behavior changes
|
|
49
|
+
|
|
50
|
+
**Examples**:
|
|
51
|
+
```
|
|
52
|
+
1.9.5 → 2.0.0 # Remove deprecated API
|
|
53
|
+
3.2.1 → 4.0.0 # Change return type of public method
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Guidelines**:
|
|
57
|
+
- Reset MINOR and PATCH to 0
|
|
58
|
+
- Document migration guide
|
|
59
|
+
- Provide deprecation warnings in previous MINOR versions
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### MINOR Version (x.Y.0)
|
|
64
|
+
|
|
65
|
+
**Increment when**:
|
|
66
|
+
- Adding new features (backward-compatible)
|
|
67
|
+
- Deprecating features (not removing)
|
|
68
|
+
- Substantial internal improvements
|
|
69
|
+
- New public APIs
|
|
70
|
+
|
|
71
|
+
**Examples**:
|
|
72
|
+
```
|
|
73
|
+
2.3.5 → 2.4.0 # Add new API endpoint
|
|
74
|
+
1.12.0 → 1.13.0 # Add optional parameter to existing function
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Guidelines**:
|
|
78
|
+
- Reset PATCH to 0
|
|
79
|
+
- Existing functionality unchanged
|
|
80
|
+
- New features are opt-in
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### PATCH Version (x.y.Z)
|
|
85
|
+
|
|
86
|
+
**Increment when**:
|
|
87
|
+
- Bug fixes (no new features)
|
|
88
|
+
- Security patches
|
|
89
|
+
- Documentation corrections
|
|
90
|
+
- Internal refactoring (no API changes)
|
|
91
|
+
|
|
92
|
+
**Examples**:
|
|
93
|
+
```
|
|
94
|
+
3.1.2 → 3.1.3 # Fix null pointer exception
|
|
95
|
+
2.0.0 → 2.0.1 # Security vulnerability patch
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Guidelines**:
|
|
99
|
+
- No new functionality
|
|
100
|
+
- No API changes
|
|
101
|
+
- Safe to update immediately
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Pre-release Versions
|
|
106
|
+
|
|
107
|
+
Format: `MAJOR.MINOR.PATCH-PRERELEASE`
|
|
108
|
+
|
|
109
|
+
### Pre-release Identifiers
|
|
110
|
+
|
|
111
|
+
| Identifier | Purpose | Stability | Audience |
|
|
112
|
+
|------------|---------|-----------|----------|
|
|
113
|
+
| `alpha` | Early testing | Unstable | Internal team |
|
|
114
|
+
| `beta` | Feature complete | Mostly stable | Early adopters |
|
|
115
|
+
| `rc` (release candidate) | Final testing | Stable | Beta testers |
|
|
116
|
+
|
|
117
|
+
### Examples
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
1.0.0-alpha.1 # First alpha release
|
|
121
|
+
1.0.0-alpha.2 # Second alpha release
|
|
122
|
+
1.0.0-beta.1 # First beta release
|
|
123
|
+
1.0.0-beta.2 # Second beta release
|
|
124
|
+
1.0.0-rc.1 # Release candidate 1
|
|
125
|
+
1.0.0 # Stable release
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Ordering
|
|
129
|
+
|
|
130
|
+
Pre-releases are ordered lexicographically:
|
|
131
|
+
```
|
|
132
|
+
1.0.0-alpha.1 < 1.0.0-alpha.2 < 1.0.0-beta.1 < 1.0.0-rc.1 < 1.0.0
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Build Metadata
|
|
138
|
+
|
|
139
|
+
Format: `MAJOR.MINOR.PATCH+BUILD`
|
|
140
|
+
|
|
141
|
+
### Examples
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
1.0.0+20250112 # Date-based build
|
|
145
|
+
2.3.1+001 # Sequential build number
|
|
146
|
+
3.0.0+sha.5114f85 # Git commit hash
|
|
147
|
+
1.2.0-beta.1+exp.sha.5114f85 # Combined pre-release and build
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Guidelines
|
|
151
|
+
|
|
152
|
+
- Build metadata SHOULD NOT affect version precedence
|
|
153
|
+
- Use for CI/CD tracking
|
|
154
|
+
- Include in artifacts but not in version comparison
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Initial Development
|
|
159
|
+
|
|
160
|
+
### Version 0.x.x
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
0.1.0 # Initial development release
|
|
164
|
+
0.2.0 # Add features
|
|
165
|
+
0.3.0 # Add more features
|
|
166
|
+
...
|
|
167
|
+
1.0.0 # First stable release
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Guidelines**:
|
|
171
|
+
- Major version 0 indicates development phase
|
|
172
|
+
- API may change frequently
|
|
173
|
+
- Breaking changes allowed in MINOR versions
|
|
174
|
+
- Move to 1.0.0 when API is stable
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Version Lifecycle
|
|
179
|
+
|
|
180
|
+
### Example Release Cycle
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
Development Phase:
|
|
184
|
+
0.1.0 → 0.2.0 → 0.9.0
|
|
185
|
+
|
|
186
|
+
First Stable Release:
|
|
187
|
+
1.0.0
|
|
188
|
+
|
|
189
|
+
Feature Additions:
|
|
190
|
+
1.0.0 → 1.1.0 → 1.2.0
|
|
191
|
+
|
|
192
|
+
Bug Fixes:
|
|
193
|
+
1.2.0 → 1.2.1 → 1.2.2
|
|
194
|
+
|
|
195
|
+
Next Major Release:
|
|
196
|
+
1.2.2 → 2.0.0-alpha.1 → 2.0.0-beta.1 → 2.0.0-rc.1 → 2.0.0
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Changelog Integration
|
|
202
|
+
|
|
203
|
+
> **See Also**: For comprehensive CHANGELOG writing guidelines, see [changelog-standards.md](changelog-standards.md).
|
|
204
|
+
|
|
205
|
+
### CHANGELOG.md Format
|
|
206
|
+
|
|
207
|
+
```markdown
|
|
208
|
+
# Changelog
|
|
209
|
+
|
|
210
|
+
All notable changes to this project will be documented in this file.
|
|
211
|
+
|
|
212
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/),
|
|
213
|
+
and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
214
|
+
|
|
215
|
+
## [Unreleased]
|
|
216
|
+
|
|
217
|
+
### Added
|
|
218
|
+
- New feature X
|
|
219
|
+
- New API endpoint Y
|
|
220
|
+
|
|
221
|
+
### Changed
|
|
222
|
+
- Updated dependency Z to v3.0
|
|
223
|
+
|
|
224
|
+
### Deprecated
|
|
225
|
+
- Method A will be removed in v3.0
|
|
226
|
+
|
|
227
|
+
### Removed
|
|
228
|
+
- Old API endpoint B
|
|
229
|
+
|
|
230
|
+
### Fixed
|
|
231
|
+
- Bug fix for issue #123
|
|
232
|
+
|
|
233
|
+
### Security
|
|
234
|
+
- Security vulnerability patch
|
|
235
|
+
|
|
236
|
+
## [2.1.0] - 2025-11-12
|
|
237
|
+
|
|
238
|
+
### Added
|
|
239
|
+
- OAuth2 authentication support
|
|
240
|
+
- Email notification system
|
|
241
|
+
|
|
242
|
+
### Fixed
|
|
243
|
+
- Memory leak in user session cache
|
|
244
|
+
|
|
245
|
+
## [2.0.0] - 2025-10-01
|
|
246
|
+
|
|
247
|
+
### Changed
|
|
248
|
+
- **BREAKING**: User API response format
|
|
249
|
+
|
|
250
|
+
### Removed
|
|
251
|
+
- **BREAKING**: Deprecated v1 endpoints
|
|
252
|
+
|
|
253
|
+
## [1.5.2] - 2025-09-15
|
|
254
|
+
|
|
255
|
+
### Fixed
|
|
256
|
+
- Null pointer exception in payment module
|
|
257
|
+
|
|
258
|
+
[Unreleased]: https://github.com/user/repo/compare/v2.1.0...HEAD
|
|
259
|
+
[2.1.0]: https://github.com/user/repo/compare/v2.0.0...v2.1.0
|
|
260
|
+
[2.0.0]: https://github.com/user/repo/compare/v1.5.2...v2.0.0
|
|
261
|
+
[1.5.2]: https://github.com/user/repo/releases/tag/v1.5.2
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Exclusion Rules
|
|
265
|
+
|
|
266
|
+
CHANGELOG should NOT record the following types of changes:
|
|
267
|
+
|
|
268
|
+
#### 1. Directories Excluded by `.gitignore`
|
|
269
|
+
|
|
270
|
+
Directories excluded from version control will not be committed, so they should not be recorded in CHANGELOG.
|
|
271
|
+
|
|
272
|
+
**Principle**: Any directories or files listed in the project's `.gitignore` should not be recorded in CHANGELOG.
|
|
273
|
+
|
|
274
|
+
**Common Exclusion Categories (Examples)**:
|
|
275
|
+
|
|
276
|
+
| Category | Common Directories/Files | Reason |
|
|
277
|
+
|----------|-------------------------|--------|
|
|
278
|
+
| AI Collaboration Tools | `.claude/`, `.cursor/`, `.ai/` | Local development aids, not in version control |
|
|
279
|
+
| Development Standards | `.standards/`, `docs/internal/` | Local standard docs, not in version control |
|
|
280
|
+
| Build Outputs | `dist/`, `build/`, `out/` | Build artifacts, not in version control |
|
|
281
|
+
| Large Data | `data/`, `datasets/` | Data files, not in version control |
|
|
282
|
+
|
|
283
|
+
**Verification Method**:
|
|
284
|
+
|
|
285
|
+
**macOS / Linux:**
|
|
286
|
+
```bash
|
|
287
|
+
# Before generating CHANGELOG, check project's .gitignore exclusions
|
|
288
|
+
cat .gitignore | grep -E "^[^#*]" | head -20
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
**Windows PowerShell:**
|
|
292
|
+
```powershell
|
|
293
|
+
# Before generating CHANGELOG, check project's .gitignore exclusions
|
|
294
|
+
Get-Content .gitignore | Where-Object { $_ -match "^[^#*]" } | Select-Object -First 20
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**Note**: Each project should determine exclusions based on its own `.gitignore` settings. The table above is just a common example.
|
|
298
|
+
|
|
299
|
+
#### 2. Build Artifacts and Temporary Files
|
|
300
|
+
|
|
301
|
+
The following types of changes should also not be recorded:
|
|
302
|
+
|
|
303
|
+
- `bin/`, `obj/`, `Release/`, `Debug/` and other build outputs
|
|
304
|
+
- `*.log`, `*.tmp` and other temporary files
|
|
305
|
+
- `node_modules/`, `packages/` and other dependency directories
|
|
306
|
+
|
|
307
|
+
#### 3. Environment and Configuration Files (Sensitive Data)
|
|
308
|
+
|
|
309
|
+
Files containing sensitive data should not be recorded:
|
|
310
|
+
|
|
311
|
+
- `*.env`, `.env.*` environment variable files
|
|
312
|
+
- `*.local.json`, `*.local.yaml` local configuration files (e.g., .NET's `appsettings.*.local.json`)
|
|
313
|
+
- `*.pem`, `*.key`, `*.p12` key and certificate files
|
|
314
|
+
- `credentials.*`, `secrets.*` credential files
|
|
315
|
+
|
|
316
|
+
### Best Practice
|
|
317
|
+
|
|
318
|
+
When generating CHANGELOG, follow this process:
|
|
319
|
+
|
|
320
|
+
1. **List changed commits**
|
|
321
|
+
|
|
322
|
+
**macOS / Linux / Windows (Git):**
|
|
323
|
+
```bash
|
|
324
|
+
git log main..HEAD --oneline
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
2. **Exclude commits that don't need recording**
|
|
328
|
+
- Commits containing "gitignore", "version control", or "misc(version control)" types
|
|
329
|
+
- Commits that only modify excluded directories
|
|
330
|
+
|
|
331
|
+
3. **Categorize records**
|
|
332
|
+
- Only record actual code or documentation changes that will be committed to the repository
|
|
333
|
+
- Ensure all recorded file paths exist in the repository
|
|
334
|
+
|
|
335
|
+
4. **Verify records**
|
|
336
|
+
|
|
337
|
+
**macOS / Linux:**
|
|
338
|
+
```bash
|
|
339
|
+
# Verify that recorded paths exist in the repository
|
|
340
|
+
git ls-files | grep -E "path/to/file"
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
**Windows PowerShell:**
|
|
344
|
+
```powershell
|
|
345
|
+
# Verify that recorded paths exist in the repository
|
|
346
|
+
git ls-files | Select-String -Pattern "path/to/file"
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Release Process
|
|
352
|
+
|
|
353
|
+
### Overview
|
|
354
|
+
|
|
355
|
+
The complete Release process includes 5 phases:
|
|
356
|
+
|
|
357
|
+
1. **Pre-release Diagnosis** - Mandatory
|
|
358
|
+
2. **Environment Preparation**
|
|
359
|
+
3. **Package Generation**
|
|
360
|
+
4. **Deployment Execution**
|
|
361
|
+
5. **Post-release Verification**
|
|
362
|
+
|
|
363
|
+
### Phase 1: Pre-release Diagnosis - Mandatory
|
|
364
|
+
|
|
365
|
+
**Purpose**: Assess the target server's environment status before generating the upgrade package
|
|
366
|
+
|
|
367
|
+
**Check Items**:
|
|
368
|
+
- System tool versions
|
|
369
|
+
- Required drivers
|
|
370
|
+
- Disk space
|
|
371
|
+
- Database connectivity
|
|
372
|
+
- Application version
|
|
373
|
+
- Configuration completeness
|
|
374
|
+
|
|
375
|
+
**Pass Conditions** (Quality Gate):
|
|
376
|
+
- All required tools installed
|
|
377
|
+
- Sufficient disk space (at least 500MB)
|
|
378
|
+
- Database connection normal
|
|
379
|
+
- No system-level errors
|
|
380
|
+
|
|
381
|
+
**Failure Handling**:
|
|
382
|
+
- If diagnosis fails, execute Environment Preparation (Phase 2)
|
|
383
|
+
- Re-execute diagnosis after fixes
|
|
384
|
+
- Must not skip diagnosis and proceed directly to packaging
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
### Phase 2: Environment Preparation
|
|
389
|
+
|
|
390
|
+
**Purpose**: Install missing tools and drivers according to diagnosis report results
|
|
391
|
+
|
|
392
|
+
**Verification Standards**:
|
|
393
|
+
- All diagnosis items passed
|
|
394
|
+
- Database connection test successful
|
|
395
|
+
- Verification tools show no errors
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
### Phase 3: Package Generation
|
|
400
|
+
|
|
401
|
+
**Purpose**: Generate upgrade package containing the latest version
|
|
402
|
+
|
|
403
|
+
**Execution Steps**:
|
|
404
|
+
```bash
|
|
405
|
+
# 1. Confirm current branch and version
|
|
406
|
+
git branch
|
|
407
|
+
git describe --tags
|
|
408
|
+
|
|
409
|
+
# 2. Generate upgrade package (using project-provided packaging script)
|
|
410
|
+
./tools/generate-upgrade-package.sh -v v1.2.1 -o ./dist
|
|
411
|
+
|
|
412
|
+
# 3. Verify upgrade package contents
|
|
413
|
+
tar -tzf dist/upgrade-package-*.tar.gz | head -20
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
#### Upgrade Package Naming
|
|
417
|
+
|
|
418
|
+
**Format**: `{PROJECT}-upgrade-v{VERSION}-{DATE}.tar.gz`
|
|
419
|
+
|
|
420
|
+
| Element | Description | Examples |
|
|
421
|
+
|---------|-------------|----------|
|
|
422
|
+
| `{PROJECT}` | Project name (replace with actual project name) | `my-app`, `api-server` |
|
|
423
|
+
| `{VERSION}` | Version number (consistent with Git tag) | `1.2.1`, `2.0.0-beta.1` |
|
|
424
|
+
| `{DATE}` | Packaging date (YYYYMMDD) | `20251128` |
|
|
425
|
+
|
|
426
|
+
**Examples** (replace `{PROJECT}` with your project name):
|
|
427
|
+
```
|
|
428
|
+
{PROJECT}-upgrade-v1.2.1-20251127.tar.gz
|
|
429
|
+
{PROJECT}-upgrade-v2.0.0-beta.1-20251201.tar.gz
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
### Phase 4: Deployment Execution
|
|
435
|
+
|
|
436
|
+
**Purpose**: Execute upgrade on target server
|
|
437
|
+
|
|
438
|
+
**Execution Steps**:
|
|
439
|
+
```bash
|
|
440
|
+
# 1. Upload upgrade package to target server
|
|
441
|
+
scp upgrade-package-*.tar.gz user@target:/tmp/
|
|
442
|
+
|
|
443
|
+
# 2. Extract upgrade package
|
|
444
|
+
cd /tmp
|
|
445
|
+
tar -xzf upgrade-package-*.tar.gz
|
|
446
|
+
cd upgrade-package-*/
|
|
447
|
+
|
|
448
|
+
# 3. Dry-run test (strongly recommended)
|
|
449
|
+
sudo ./upgrade.sh --dry-run
|
|
450
|
+
|
|
451
|
+
# 4. Actual upgrade
|
|
452
|
+
sudo ./upgrade.sh
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**Deployment Verification**:
|
|
456
|
+
- Backup created
|
|
457
|
+
- Service stopped successfully
|
|
458
|
+
- Files deployed successfully
|
|
459
|
+
- Schema migration successful (if applicable)
|
|
460
|
+
- Service started successfully
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
### Phase 5: Post-release Verification
|
|
465
|
+
|
|
466
|
+
**Purpose**: Confirm upgrade success and application running normally
|
|
467
|
+
|
|
468
|
+
**Check Items**:
|
|
469
|
+
```bash
|
|
470
|
+
# 1. Check service status
|
|
471
|
+
systemctl status your-service
|
|
472
|
+
|
|
473
|
+
# 2. Check application version
|
|
474
|
+
curl http://localhost:PORT/api/version
|
|
475
|
+
|
|
476
|
+
# 3. Check logs for no errors
|
|
477
|
+
tail -100 /path/to/app.log | grep -i error
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
**Success Criteria**:
|
|
481
|
+
- Service running normally
|
|
482
|
+
- API returns correct version number
|
|
483
|
+
- No fatal errors in logs
|
|
484
|
+
- Functionality verification passed
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
### Release Checklist
|
|
489
|
+
|
|
490
|
+
**Pre-release (Diagnosis and Preparation)**:
|
|
491
|
+
- [ ] Execute server diagnosis
|
|
492
|
+
- [ ] Diagnosis report passes all check items
|
|
493
|
+
- [ ] Environment preparation completed (if missing)
|
|
494
|
+
- [ ] Environment verification tools passed
|
|
495
|
+
|
|
496
|
+
**Release (Packaging and Deployment)**:
|
|
497
|
+
- [ ] Upgrade package generated successfully
|
|
498
|
+
- [ ] Upgrade package contents verified
|
|
499
|
+
- [ ] Dry-run test no anomalies
|
|
500
|
+
- [ ] Backup plan prepared
|
|
501
|
+
- [ ] Rollback plan prepared
|
|
502
|
+
|
|
503
|
+
**Post-release (Verification and Monitoring)**:
|
|
504
|
+
- [ ] Service started successfully
|
|
505
|
+
- [ ] Version number correct
|
|
506
|
+
- [ ] Functionality verification passed
|
|
507
|
+
- [ ] No anomalies in logs
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
### Quality Gates
|
|
512
|
+
|
|
513
|
+
The following checkpoints **must pass**, otherwise cannot proceed to next phase:
|
|
514
|
+
|
|
515
|
+
| Phase | Gate | Failure Handling |
|
|
516
|
+
|-------|------|------------------|
|
|
517
|
+
| **Diagnosis** | Diagnosis report no errors | Environment preparation |
|
|
518
|
+
| **Preparation** | Verification tools passed | Fix and re-verify |
|
|
519
|
+
| **Packaging** | Upgrade package structure complete | Re-package |
|
|
520
|
+
| **Deployment** | Dry-run no anomalies | Analyze logs and fix |
|
|
521
|
+
| **Verification** | Service running normally | Rollback |
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
### Rollback Plan
|
|
526
|
+
|
|
527
|
+
If upgrade fails, execute the following rollback steps:
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
# 1. Stop service
|
|
531
|
+
sudo systemctl stop your-service
|
|
532
|
+
|
|
533
|
+
# 2. Restore backup
|
|
534
|
+
BACKUP_PATH="/path/to/backup-$(date +%Y%m%d)"
|
|
535
|
+
sudo rm -rf /path/to/app
|
|
536
|
+
sudo mv "$BACKUP_PATH" /path/to/app
|
|
537
|
+
|
|
538
|
+
# 3. Restart service
|
|
539
|
+
sudo systemctl start your-service
|
|
540
|
+
|
|
541
|
+
# 4. Verify rollback success
|
|
542
|
+
sudo systemctl status your-service
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
### Compliance
|
|
548
|
+
|
|
549
|
+
**Mandatory Requirements**:
|
|
550
|
+
- Must not skip diagnosis phase
|
|
551
|
+
- Must not skip dry-run test
|
|
552
|
+
- Must retain diagnosis report
|
|
553
|
+
- Must prepare rollback plan
|
|
554
|
+
|
|
555
|
+
**Audit Trail**:
|
|
556
|
+
- All Release documentation retained for at least 12 months
|
|
557
|
+
- Diagnosis report associated with Git Tag
|
|
558
|
+
- Upgrade logs preserved completely
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
## Version Tagging in Git
|
|
563
|
+
|
|
564
|
+
### Creating Tags
|
|
565
|
+
|
|
566
|
+
```bash
|
|
567
|
+
# Annotated tag (recommended)
|
|
568
|
+
git tag -a v1.2.0 -m "Release version 1.2.0"
|
|
569
|
+
|
|
570
|
+
# Tag with detailed message
|
|
571
|
+
git tag -a v2.0.0 -m "Release version 2.0.0
|
|
572
|
+
|
|
573
|
+
Major changes:
|
|
574
|
+
- New authentication system
|
|
575
|
+
- Redesigned API
|
|
576
|
+
- Performance improvements"
|
|
577
|
+
|
|
578
|
+
# Push tag to remote
|
|
579
|
+
git push origin v1.2.0
|
|
580
|
+
|
|
581
|
+
# Push all tags
|
|
582
|
+
git push origin --tags
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
### Tag Naming Convention
|
|
586
|
+
|
|
587
|
+
```
|
|
588
|
+
v1.0.0 ✅ Recommended (with 'v' prefix)
|
|
589
|
+
1.0.0 ✅ Acceptable (without 'v')
|
|
590
|
+
version-1.0.0 ❌ Avoid (too verbose)
|
|
591
|
+
1.0 ❌ Avoid (incomplete version)
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
## Automation Tools
|
|
597
|
+
|
|
598
|
+
### standard-version (Node.js)
|
|
599
|
+
|
|
600
|
+
```bash
|
|
601
|
+
# Install
|
|
602
|
+
npm install --save-dev standard-version
|
|
603
|
+
|
|
604
|
+
# Add to package.json
|
|
605
|
+
{
|
|
606
|
+
"scripts": {
|
|
607
|
+
"release": "standard-version"
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
# Create release
|
|
612
|
+
npm run release # Auto-increment based on commits
|
|
613
|
+
npm run release -- --release-as minor # Force minor version
|
|
614
|
+
npm run release -- --release-as 2.0.0 # Specific version
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
### semantic-release (Node.js)
|
|
618
|
+
|
|
619
|
+
```bash
|
|
620
|
+
# Install
|
|
621
|
+
npm install --save-dev semantic-release
|
|
622
|
+
|
|
623
|
+
# Configure in .releaserc.json
|
|
624
|
+
{
|
|
625
|
+
"branches": ["main"],
|
|
626
|
+
"plugins": [
|
|
627
|
+
"@semantic-release/commit-analyzer",
|
|
628
|
+
"@semantic-release/release-notes-generator",
|
|
629
|
+
"@semantic-release/changelog",
|
|
630
|
+
"@semantic-release/npm",
|
|
631
|
+
"@semantic-release/git",
|
|
632
|
+
"@semantic-release/github"
|
|
633
|
+
]
|
|
634
|
+
}
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
---
|
|
638
|
+
|
|
639
|
+
## Dependency Version Ranges
|
|
640
|
+
|
|
641
|
+
### npm (package.json)
|
|
642
|
+
|
|
643
|
+
```json
|
|
644
|
+
{
|
|
645
|
+
"dependencies": {
|
|
646
|
+
"exact": "1.2.3", // Exact version
|
|
647
|
+
"patch": "~1.2.3", // >=1.2.3 <1.3.0
|
|
648
|
+
"minor": "^1.2.3", // >=1.2.3 <2.0.0
|
|
649
|
+
"range": ">=1.2.3 <2.0.0", // Explicit range
|
|
650
|
+
"latest": "*" // ❌ Avoid - any version
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
**Recommendations**:
|
|
656
|
+
- Use `^` for most dependencies (minor updates)
|
|
657
|
+
- Use `~` for conservative updates (patch only)
|
|
658
|
+
- Use exact versions for critical dependencies
|
|
659
|
+
- Never use `*` in production
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
### .NET (csproj)
|
|
664
|
+
|
|
665
|
+
```xml
|
|
666
|
+
<ItemGroup>
|
|
667
|
+
<!-- Exact version -->
|
|
668
|
+
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
|
669
|
+
|
|
670
|
+
<!-- Minimum version -->
|
|
671
|
+
<PackageReference Include="Microsoft.Extensions.Logging" Version="[8.0.0,)" />
|
|
672
|
+
|
|
673
|
+
<!-- Version range -->
|
|
674
|
+
<PackageReference Include="AutoMapper" Version="[12.0.0,13.0.0)" />
|
|
675
|
+
</ItemGroup>
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
---
|
|
679
|
+
|
|
680
|
+
## Breaking Change Communication
|
|
681
|
+
|
|
682
|
+
### 1. Deprecation Warnings (N-1 Version)
|
|
683
|
+
|
|
684
|
+
```javascript
|
|
685
|
+
// Version 1.5.0 - Add deprecation warning
|
|
686
|
+
/**
|
|
687
|
+
* @deprecated Use authenticateV2() instead. Will be removed in v2.0.0
|
|
688
|
+
*/
|
|
689
|
+
function authenticate(username, password) {
|
|
690
|
+
console.warn('[DEPRECATED] authenticate() will be removed in v2.0.0. Use authenticateV2()');
|
|
691
|
+
return authenticateV2(username, password);
|
|
692
|
+
}
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
### 2. API Versioning Strategies
|
|
696
|
+
|
|
697
|
+
Choose an API versioning strategy based on your needs:
|
|
698
|
+
|
|
699
|
+
| Strategy | Format | Pros | Cons |
|
|
700
|
+
|----------|--------|------|------|
|
|
701
|
+
| URL Path | `/api/v1/users` | Clear, easy routing | URL pollution |
|
|
702
|
+
| Query Parameter | `/api/users?version=1` | Optional versioning | Cache issues |
|
|
703
|
+
| Header | `Accept: application/vnd.api.v1+json` | Clean URLs | Less visible |
|
|
704
|
+
| Content Negotiation | `Accept: application/vnd.api+json;version=1` | RESTful | Complex |
|
|
705
|
+
|
|
706
|
+
**Recommended**: URL Path versioning for most APIs (clearest for developers).
|
|
707
|
+
|
|
708
|
+
### 3. Deprecation Timeline
|
|
709
|
+
|
|
710
|
+
Follow this timeline when deprecating API features:
|
|
711
|
+
|
|
712
|
+
```
|
|
713
|
+
v1.0.0 - Feature introduced
|
|
714
|
+
v1.5.0 - Deprecation warning added (minimum N-1 version)
|
|
715
|
+
v2.0.0 - Feature removed (document in migration guide)
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
**Deprecation Period Guidelines**:
|
|
719
|
+
|
|
720
|
+
| API Type | Minimum Deprecation Period |
|
|
721
|
+
|----------|---------------------------|
|
|
722
|
+
| Internal API | 1 minor version |
|
|
723
|
+
| Partner API | 2 minor versions + 3 months |
|
|
724
|
+
| Public API | 2 minor versions + 6 months |
|
|
725
|
+
| Critical Infrastructure | 1 year minimum |
|
|
726
|
+
|
|
727
|
+
### 4. Backward Compatibility Checklist
|
|
728
|
+
|
|
729
|
+
Before releasing, verify these backward compatibility rules:
|
|
730
|
+
|
|
731
|
+
**DO NOT break (without major version bump)**:
|
|
732
|
+
- [ ] Remove public API endpoints
|
|
733
|
+
- [ ] Remove required request fields
|
|
734
|
+
- [ ] Add required request fields
|
|
735
|
+
- [ ] Change response field types
|
|
736
|
+
- [ ] Change error code meanings
|
|
737
|
+
- [ ] Remove response fields consumers depend on
|
|
738
|
+
|
|
739
|
+
**Safe changes (minor/patch version)**:
|
|
740
|
+
- [ ] Add optional request fields
|
|
741
|
+
- [ ] Add new response fields
|
|
742
|
+
- [ ] Add new endpoints
|
|
743
|
+
- [ ] Add new error codes
|
|
744
|
+
- [ ] Improve error messages
|
|
745
|
+
- [ ] Performance improvements
|
|
746
|
+
|
|
747
|
+
### 5. Migration Guide (N Version)
|
|
748
|
+
|
|
749
|
+
```markdown
|
|
750
|
+
# Migration Guide: v1.x to v2.0
|
|
751
|
+
|
|
752
|
+
## Breaking Changes
|
|
753
|
+
|
|
754
|
+
### 1. authenticate() removed
|
|
755
|
+
|
|
756
|
+
**Before (v1.x)**:
|
|
757
|
+
```javascript
|
|
758
|
+
const token = await authenticate('user', 'pass');
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
**After (v2.0)**:
|
|
762
|
+
```javascript
|
|
763
|
+
const token = await authenticateV2({ username: 'user', password: 'pass' });
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
### 2. API response format changed
|
|
767
|
+
|
|
768
|
+
**Before (v1.x)**:
|
|
769
|
+
```json
|
|
770
|
+
{ "data": { "user": {...} } }
|
|
771
|
+
```
|
|
772
|
+
|
|
773
|
+
**After (v2.0)**:
|
|
774
|
+
```json
|
|
775
|
+
{ "user": {...} }
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
Update your code:
|
|
779
|
+
```javascript
|
|
780
|
+
// Before
|
|
781
|
+
const user = response.data.user;
|
|
782
|
+
|
|
783
|
+
// After
|
|
784
|
+
const user = response.user;
|
|
785
|
+
```
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
---
|
|
789
|
+
|
|
790
|
+
## Project Configuration
|
|
791
|
+
|
|
792
|
+
### Document in README.md
|
|
793
|
+
|
|
794
|
+
```markdown
|
|
795
|
+
## Versioning
|
|
796
|
+
|
|
797
|
+
This project follows [Semantic Versioning 2.0.0](https://semver.org/).
|
|
798
|
+
|
|
799
|
+
### Version Format
|
|
800
|
+
`MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]`
|
|
801
|
+
|
|
802
|
+
### Release Cycle
|
|
803
|
+
- **Major releases**: Annually (breaking changes)
|
|
804
|
+
- **Minor releases**: Quarterly (new features)
|
|
805
|
+
- **Patch releases**: As needed (bug fixes)
|
|
806
|
+
|
|
807
|
+
### Support Policy
|
|
808
|
+
- Latest major version: Full support
|
|
809
|
+
- Previous major version: Security fixes only (1 year)
|
|
810
|
+
- Older versions: No support
|
|
811
|
+
|
|
812
|
+
### Changelog
|
|
813
|
+
See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
---
|
|
817
|
+
|
|
818
|
+
## Version Comparison
|
|
819
|
+
|
|
820
|
+
### Precedence Rules
|
|
821
|
+
|
|
822
|
+
```
|
|
823
|
+
1.0.0 < 2.0.0 < 2.1.0 < 2.1.1
|
|
824
|
+
|
|
825
|
+
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-beta < 1.0.0-rc.1 < 1.0.0
|
|
826
|
+
|
|
827
|
+
1.0.0 < 1.0.0+001 (build metadata ignored in precedence)
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
### Comparison in Code
|
|
831
|
+
|
|
832
|
+
```javascript
|
|
833
|
+
// JavaScript (using semver package)
|
|
834
|
+
const semver = require('semver');
|
|
835
|
+
|
|
836
|
+
semver.gt('1.2.3', '1.2.2'); // true
|
|
837
|
+
semver.satisfies('1.2.3', '^1.0.0'); // true
|
|
838
|
+
semver.major('2.3.1'); // 2
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
---
|
|
842
|
+
|
|
843
|
+
## Common Questions
|
|
844
|
+
|
|
845
|
+
### Q: When should I release 1.0.0?
|
|
846
|
+
|
|
847
|
+
**A**: When your API is stable and you're ready to commit to backward compatibility.
|
|
848
|
+
|
|
849
|
+
---
|
|
850
|
+
|
|
851
|
+
### Q: Should I bump MAJOR for internal breaking changes?
|
|
852
|
+
|
|
853
|
+
**A**: No, only for public API changes. Internal refactoring is PATCH or MINOR.
|
|
854
|
+
|
|
855
|
+
---
|
|
856
|
+
|
|
857
|
+
### Q: Can I skip versions?
|
|
858
|
+
|
|
859
|
+
**A**: Yes, but not recommended. Use sequential versioning for clarity.
|
|
860
|
+
|
|
861
|
+
---
|
|
862
|
+
|
|
863
|
+
### Q: How do I version libraries vs applications?
|
|
864
|
+
|
|
865
|
+
**A**:
|
|
866
|
+
- **Libraries**: Strictly follow SemVer (API matters)
|
|
867
|
+
- **Applications**: Can be more flexible (user experience matters)
|
|
868
|
+
|
|
869
|
+
---
|
|
870
|
+
|
|
871
|
+
## Related Standards
|
|
872
|
+
|
|
873
|
+
- [Changelog Standards](changelog-standards.md)
|
|
874
|
+
- [Git Workflow Standards](git-workflow.md)
|
|
875
|
+
- [Commit Message Guide](commit-message-guide.md)
|
|
876
|
+
|
|
877
|
+
---
|
|
878
|
+
|
|
879
|
+
## Version History
|
|
880
|
+
|
|
881
|
+
| Version | Date | Changes |
|
|
882
|
+
|---------|------|---------|
|
|
883
|
+
| 1.2.0 | 2025-12-30 | Added: API Versioning Strategies, Deprecation Timeline, Backward Compatibility Checklist |
|
|
884
|
+
| 1.1.3 | 2025-12-24 | Added: Related Standards section |
|
|
885
|
+
| 1.1.2 | 2025-12-11 | Improved: Upgrade package naming example to use generic placeholders instead of hardcoded project names |
|
|
886
|
+
| 1.1.1 | 2025-12-04 | Refactored: CHANGELOG exclusion rules to be more generic (removed project-specific directories) |
|
|
887
|
+
| 1.1.0 | 2025-12-04 | Added: CHANGELOG exclusion rules, Release Process section |
|
|
888
|
+
| 1.0.0 | 2025-11-12 | Initial versioning standard |
|
|
889
|
+
|
|
890
|
+
---
|
|
891
|
+
|
|
892
|
+
## References
|
|
893
|
+
|
|
894
|
+
- [Semantic Versioning 2.0.0](https://semver.org/)
|
|
895
|
+
- [Keep a Changelog](https://keepachangelog.com/)
|
|
896
|
+
- [Calendar Versioning](https://calver.org/) (alternative scheme)
|
|
897
|
+
|
|
898
|
+
---
|
|
899
|
+
|
|
900
|
+
## License
|
|
901
|
+
|
|
902
|
+
This standard is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|