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
|
@@ -1,837 +1,74 @@
|
|
|
1
|
-
---
|
|
2
|
-
source: ../../../core/git-workflow.md
|
|
3
|
-
source_version: 1.2.1
|
|
4
|
-
translation_version: 1.2.1
|
|
5
|
-
last_synced: 2025-12-25
|
|
6
|
-
status: current
|
|
7
|
-
---
|
|
8
|
-
|
|
9
1
|
# Git 工作流程標準
|
|
10
2
|
|
|
11
3
|
> **語言**: [English](../../../core/git-workflow.md) | 繁體中文
|
|
12
4
|
|
|
13
|
-
**版本**: 1.
|
|
14
|
-
**最後更新**:
|
|
15
|
-
|
|
5
|
+
**版本**: 1.4.0
|
|
6
|
+
**最後更新**: 2026-02-10
|
|
7
|
+
**適用性**: 所有軟體專案
|
|
8
|
+
**範圍**: 通用 (Universal)
|
|
16
9
|
|
|
17
10
|
---
|
|
18
11
|
|
|
19
12
|
## 目的
|
|
20
13
|
|
|
21
|
-
本標準定義 Git
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 工作流程策略選擇
|
|
26
|
-
|
|
27
|
-
**專案必須選擇一種**工作流程策略並明確記錄。
|
|
28
|
-
|
|
29
|
-
### 決策樹
|
|
30
|
-
|
|
31
|
-
使用此流程圖來選擇適當的工作流程:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
┌─────────────────────────────────────┐
|
|
35
|
-
│ How often do you deploy to │
|
|
36
|
-
│ production? │
|
|
37
|
-
│ 您多常部署到正式環境? │
|
|
38
|
-
└───────────────┬─────────────────────┘
|
|
39
|
-
│
|
|
40
|
-
┌───────────────────────┼───────────────────────┐
|
|
41
|
-
▼ ▼ ▼
|
|
42
|
-
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
|
|
43
|
-
│ Multiple times │ │ Weekly to │ │ Monthly or │
|
|
44
|
-
│ per day │ │ bi-weekly │ │ longer │
|
|
45
|
-
│ 每天多次 │ │ 每週或雙週 │ │ 每月或更久 │
|
|
46
|
-
└───────┬────────┘ └───────┬────────┘ └───────┬────────┘
|
|
47
|
-
│ │ │
|
|
48
|
-
▼ ▼ ▼
|
|
49
|
-
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
|
|
50
|
-
│ Trunk-Based │ │ GitHub Flow │ │ GitFlow │
|
|
51
|
-
│ Development │ │ │ │ │
|
|
52
|
-
└────────────────┘ └────────────────┘ └────────────────┘
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### 選擇矩陣
|
|
56
|
-
|
|
57
|
-
| 因素 | GitFlow | GitHub Flow | Trunk-Based |
|
|
58
|
-
|------|---------|-------------|-------------|
|
|
59
|
-
| **發布頻率** | 每月以上 | 每週 | 每天多次 |
|
|
60
|
-
| **團隊規模** | 大型 (10+) | 中型 (5-15) | 小到中型 (3-10) |
|
|
61
|
-
| **CI/CD 成熟度** | 基礎 | 中等 | 進階 |
|
|
62
|
-
| **功能開關** | 選用 | 選用 | 必需 |
|
|
63
|
-
| **緊急修復流程** | 專用分支 | 與功能相同 | 與功能相同 |
|
|
64
|
-
| **複雜度** | 高 | 低 | 中 |
|
|
65
|
-
|
|
66
|
-
### 快速選擇指南
|
|
67
|
-
|
|
68
|
-
**選擇 GitFlow 當**:
|
|
69
|
-
- 您有固定的發布週期(每月、每季)
|
|
70
|
-
- 您同時維護多個正式版本
|
|
71
|
-
- 您有獨立的開發團隊和發布管理團隊
|
|
72
|
-
|
|
73
|
-
**選擇 GitHub Flow 當**:
|
|
74
|
-
- 您每週或按需部署到正式環境
|
|
75
|
-
- 您只有單一正式版本
|
|
76
|
-
- 您想要簡單且有良好追溯性的流程
|
|
77
|
-
|
|
78
|
-
**選擇 Trunk-Based 當**:
|
|
79
|
-
- 您有成熟的 CI/CD 和自動化測試
|
|
80
|
-
- 您的團隊實踐持續整合
|
|
81
|
-
- 您習慣使用功能開關控制未完成的功能
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 策略 A: GitFlow
|
|
86
|
-
|
|
87
|
-
**最適合**:
|
|
88
|
-
定期發布(每月、每季)、同時維護多個正式版本、開發與正式環境明確分離、大型團隊與正式發布流程
|
|
89
|
-
|
|
90
|
-
### 分支結構
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
main ─●────────●─────────●── (Production releases: v1.0, v2.0)
|
|
94
|
-
╱ ╲ ╲
|
|
95
|
-
develop ────●────●──────●─────────●── (Development mainline)
|
|
96
|
-
╱ ╲ ╲
|
|
97
|
-
feature/* ─●────────● ╲ (Feature branches)
|
|
98
|
-
╲
|
|
99
|
-
release/* ●───● (Release preparation)
|
|
100
|
-
╱
|
|
101
|
-
hotfix/* ────● (Emergency fixes)
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### 分支類型
|
|
105
|
-
|
|
106
|
-
| 分支類型 | 目的 | 基礎分支 | 合併目標 | 生命週期 |
|
|
107
|
-
|---------|------|---------|----------|---------|
|
|
108
|
-
| `main` | 正式環境程式碼 | - | - | 永久 |
|
|
109
|
-
| `develop` | 整合分支 | - | - | 永久 |
|
|
110
|
-
| `feature/*` | 新功能 | `develop` | `develop` | 暫時 |
|
|
111
|
-
| `release/*` | 發布準備 | `develop` | `main` + `develop` | 暫時 |
|
|
112
|
-
| `hotfix/*` | 緊急修復 | `main` | `main` + `develop` | 暫時 |
|
|
113
|
-
|
|
114
|
-
### 工作流程步驟
|
|
115
|
-
|
|
116
|
-
#### 1. 功能開發
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
# Create feature branch from develop
|
|
120
|
-
git checkout develop
|
|
121
|
-
git pull origin develop
|
|
122
|
-
git checkout -b feature/oauth-login
|
|
123
|
-
|
|
124
|
-
# Work on feature
|
|
125
|
-
git add .
|
|
126
|
-
git commit -m "feat(auth): add OAuth2 login"
|
|
127
|
-
|
|
128
|
-
# Push to remote
|
|
129
|
-
git push -u origin feature/oauth-login
|
|
130
|
-
|
|
131
|
-
# Create pull request to develop
|
|
132
|
-
# After review approval, merge to develop
|
|
133
|
-
git checkout develop
|
|
134
|
-
git merge --no-ff feature/oauth-login
|
|
135
|
-
git push origin develop
|
|
136
|
-
|
|
137
|
-
# Delete feature branch
|
|
138
|
-
git branch -d feature/oauth-login
|
|
139
|
-
git push origin --delete feature/oauth-login
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
#### 2. 發布準備
|
|
143
|
-
|
|
144
|
-
> **變更日誌更新**:將 `[Unreleased]` 的條目移至新版本區段並加上發布日期。詳細指南請參閱 [changelog-standards.md](../../../core/changelog-standards.md)。
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# Create release branch from develop
|
|
148
|
-
git checkout develop
|
|
149
|
-
git pull origin develop
|
|
150
|
-
git checkout -b release/v1.2.0
|
|
151
|
-
|
|
152
|
-
# Prepare release (version bump, changelog, etc.)
|
|
153
|
-
# 1. Update CHANGELOG.md: move [Unreleased] to [1.2.0] - YYYY-MM-DD
|
|
154
|
-
# 2. Update version in package.json (or equivalent)
|
|
155
|
-
npm version 1.2.0
|
|
156
|
-
git add package.json CHANGELOG.md
|
|
157
|
-
git commit -m "chore(release): prepare v1.2.0"
|
|
158
|
-
|
|
159
|
-
# Merge to main
|
|
160
|
-
git checkout main
|
|
161
|
-
git merge --no-ff release/v1.2.0
|
|
162
|
-
git tag -a v1.2.0 -m "Release version 1.2.0"
|
|
163
|
-
git push origin main --tags
|
|
164
|
-
|
|
165
|
-
# Merge back to develop
|
|
166
|
-
git checkout develop
|
|
167
|
-
git merge --no-ff release/v1.2.0
|
|
168
|
-
git push origin develop
|
|
169
|
-
|
|
170
|
-
# Delete release branch
|
|
171
|
-
git branch -d release/v1.2.0
|
|
172
|
-
git push origin --delete release/v1.2.0
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
#### 3. 緊急修復
|
|
176
|
-
|
|
177
|
-
```bash
|
|
178
|
-
# Create hotfix branch from main
|
|
179
|
-
git checkout main
|
|
180
|
-
git pull origin main
|
|
181
|
-
git checkout -b hotfix/critical-security-fix
|
|
182
|
-
|
|
183
|
-
# Fix the issue
|
|
184
|
-
git add .
|
|
185
|
-
git commit -m "fix(security): patch SQL injection vulnerability"
|
|
186
|
-
|
|
187
|
-
# Merge to main
|
|
188
|
-
git checkout main
|
|
189
|
-
git merge --no-ff hotfix/critical-security-fix
|
|
190
|
-
git tag -a v1.2.1 -m "Hotfix version 1.2.1"
|
|
191
|
-
git push origin main --tags
|
|
192
|
-
|
|
193
|
-
# Merge to develop
|
|
194
|
-
git checkout develop
|
|
195
|
-
git merge --no-ff hotfix/critical-security-fix
|
|
196
|
-
git push origin develop
|
|
197
|
-
|
|
198
|
-
# Delete hotfix branch
|
|
199
|
-
git branch -d hotfix/critical-security-fix
|
|
200
|
-
git push origin --delete hotfix/critical-security-fix
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## 策略 B: GitHub Flow
|
|
206
|
-
|
|
207
|
-
**最適合**:
|
|
208
|
-
持續部署、Web 應用程式、中小型團隊、快速迭代週期
|
|
209
|
-
|
|
210
|
-
### 分支結構
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
main ────●─────────●──────●── (Always deployable)
|
|
214
|
-
╲ ╱ ╱
|
|
215
|
-
feature/* ●───●───● ╱ (Feature + PR)
|
|
216
|
-
╱
|
|
217
|
-
bugfix/* ────● (Bug fixes)
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### 分支類型
|
|
221
|
-
|
|
222
|
-
| 分支類型 | 目的 | 基礎分支 | 合併目標 | 生命週期 |
|
|
223
|
-
|---------|------|---------|----------|---------|
|
|
224
|
-
| `main` | 正式環境程式碼 | - | - | 永久 |
|
|
225
|
-
| `feature/*` | 新功能 | `main` | `main` | 暫時 |
|
|
226
|
-
| `bugfix/*` | Bug 修復 | `main` | `main` | 暫時 |
|
|
227
|
-
| `hotfix/*` | 緊急修復 | `main` | `main` | 暫時 |
|
|
228
|
-
|
|
229
|
-
### 工作流程步驟
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
# 1. Create feature branch from main
|
|
233
|
-
git checkout main
|
|
234
|
-
git pull origin main
|
|
235
|
-
git checkout -b feature/user-profile
|
|
236
|
-
|
|
237
|
-
# 2. Work and commit frequently
|
|
238
|
-
git add .
|
|
239
|
-
git commit -m "feat(profile): add avatar upload"
|
|
240
|
-
git push -u origin feature/user-profile
|
|
241
|
-
|
|
242
|
-
# 3. Open pull request to main
|
|
243
|
-
# Use GitHub/GitLab UI to create PR
|
|
244
|
-
|
|
245
|
-
# 4. After CI passes and review approval, merge to main
|
|
246
|
-
# (Usually done via GitHub/GitLab UI with "Squash and merge")
|
|
247
|
-
|
|
248
|
-
# 5. Deploy main to production
|
|
249
|
-
git checkout main
|
|
250
|
-
git pull origin main
|
|
251
|
-
# Trigger deployment pipeline
|
|
252
|
-
|
|
253
|
-
# 6. Delete feature branch (auto-deleted by GitHub/GitLab)
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### 關鍵原則
|
|
257
|
-
|
|
258
|
-
1. **`main` 永遠可部署**
|
|
259
|
-
2. **從 `main` 分支**
|
|
260
|
-
3. **透過 PR 合併到 `main`**
|
|
261
|
-
4. **合併後立即部署**
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
|
|
265
|
-
## 策略 C: Trunk-Based Development
|
|
266
|
-
|
|
267
|
-
**最適合**:
|
|
268
|
-
成熟的 CI/CD 管道、高信任度且經驗豐富的團隊、頻繁整合(每天多次)、使用功能開關控制未完成功能
|
|
269
|
-
|
|
270
|
-
### 分支結構
|
|
271
|
-
|
|
272
|
-
```
|
|
273
|
-
main ────●─●─●─●─●─●─●──► (Single long-lived branch)
|
|
274
|
-
╲│╱ ╲│╱ ╲│╱
|
|
275
|
-
feature/* ● ● ● (Very short-lived, ≤2 days)
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
### 分支類型
|
|
279
|
-
|
|
280
|
-
| 分支類型 | 目的 | 基礎分支 | 合併目標 | 生命週期 |
|
|
281
|
-
|---------|------|---------|----------|---------|
|
|
282
|
-
| `main` | 主幹 | - | - | 永久 |
|
|
283
|
-
| `feature/*` | 小型變更 | `main` | `main` | ≤2 天 |
|
|
284
|
-
|
|
285
|
-
### 工作流程步驟
|
|
286
|
-
|
|
287
|
-
```bash
|
|
288
|
-
# 1. Create short-lived branch
|
|
289
|
-
git checkout main
|
|
290
|
-
git pull origin main
|
|
291
|
-
git checkout -b feature/add-validation
|
|
292
|
-
|
|
293
|
-
# 2. Make small, atomic change
|
|
294
|
-
git add .
|
|
295
|
-
git commit -m "feat(validation): add email format check"
|
|
296
|
-
|
|
297
|
-
# 3. Push and create PR (same day)
|
|
298
|
-
git push -u origin feature/add-validation
|
|
299
|
-
|
|
300
|
-
# 4. Merge quickly after review (within hours)
|
|
301
|
-
# Prefer rebase to keep linear history
|
|
302
|
-
git checkout main
|
|
303
|
-
git pull origin main
|
|
304
|
-
git rebase main feature/add-validation
|
|
305
|
-
git checkout main
|
|
306
|
-
git merge --ff-only feature/add-validation
|
|
307
|
-
git push origin main
|
|
308
|
-
|
|
309
|
-
# 5. Delete branch immediately
|
|
310
|
-
git branch -d feature/add-validation
|
|
311
|
-
git push origin --delete feature/add-validation
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
### 關鍵原則
|
|
315
|
-
|
|
316
|
-
1. **頻繁整合**(每天多次)
|
|
317
|
-
2. **保持分支短命**(≤2 天)
|
|
318
|
-
3. **使用功能開關**控制未完成功能
|
|
319
|
-
4. **自動化一切**(測試、建置、部署)
|
|
320
|
-
|
|
321
|
-
---
|
|
322
|
-
|
|
323
|
-
## 開新分支前檢查清單
|
|
324
|
-
|
|
325
|
-
開始新功能開發前,完成以下檢查以避免常見問題。
|
|
326
|
-
|
|
327
|
-
### 適用於 GitFlow 和 GitHub Flow
|
|
328
|
-
|
|
329
|
-
#### 1. 確認無未合併分支
|
|
330
|
-
|
|
331
|
-
```bash
|
|
332
|
-
git branch --no-merged main
|
|
333
|
-
# For GitFlow, also check:
|
|
334
|
-
git branch --no-merged develop
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
- **如有未合併分支,必須先處理**(合併或關閉)
|
|
338
|
-
- **禁止在有未合併分支的情況下開新功能分支**
|
|
339
|
-
|
|
340
|
-
#### 2. 同步最新程式碼
|
|
341
|
-
|
|
342
|
-
```bash
|
|
343
|
-
git checkout main # or develop for GitFlow
|
|
344
|
-
git pull origin main
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
#### 3. 確認測試通過
|
|
348
|
-
|
|
349
|
-
```bash
|
|
350
|
-
# Run your project's test suite
|
|
351
|
-
npm test # Node.js
|
|
352
|
-
pytest # Python
|
|
353
|
-
./gradlew test # Java/Kotlin
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
#### 4. 建立分支
|
|
357
|
-
|
|
358
|
-
```bash
|
|
359
|
-
git checkout -b feature/description
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### 為什麼重要
|
|
363
|
-
|
|
364
|
-
| 跳過檢查的後果 | 影響 |
|
|
365
|
-
|--------------|------|
|
|
366
|
-
| 修復散落各處 | `main` 仍有 bug |
|
|
367
|
-
| 功能互相依賴 | 新分支缺少前一個功能的程式碼 |
|
|
368
|
-
| 合併順序混亂 | 衝突變多、歷史難追蹤 |
|
|
369
|
-
| 測試不完整 | 每個分支只測自己的部分 |
|
|
370
|
-
|
|
371
|
-
### 適用於 Trunk-Based Development
|
|
372
|
-
|
|
373
|
-
Trunk-Based Development 因其短命分支特性(≤2 天)有**不同的要求**:
|
|
374
|
-
|
|
375
|
-
| 檢查項目 | 適用性 | 說明 |
|
|
376
|
-
|---------|-------|------|
|
|
377
|
-
| 確認無未合併分支 | ⚠️ **較不適用** | 設計上分支不應存在超過 2 天 |
|
|
378
|
-
| 同步最新程式碼 | ✅ **關鍵** | 因頻繁整合,更為重要 |
|
|
379
|
-
| 確認測試通過 | ✅ **關鍵** | 自動化是此工作流程的核心 |
|
|
380
|
-
|
|
381
|
-
**關鍵差異**:若在 Trunk-Based Development 中有超過 2 天的未合併分支,這本身就違反了工作流程原則。重點應放在**頻繁整合**而非檢查未合併分支。
|
|
14
|
+
本標準定義 Git 分支策略、合併規則和 PR 工作流程的強制性規則。關於詳細的教學、決策樹和不同工作流程的比較(如 GitFlow vs Trunk-Based),請參閱 **[Git 工作流程指南](guides/git-workflow-guide.md)**。
|
|
382
15
|
|
|
383
16
|
---
|
|
384
17
|
|
|
385
18
|
## 分支命名慣例
|
|
386
19
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
| 類型 | 用途 | 範例 |
|
|
396
|
-
|------|------|------|
|
|
397
|
-
| `feature/` | 新功能 | `feature/oauth-login` |
|
|
398
|
-
| `fix/` 或 `bugfix/` | Bug 修復 | `fix/memory-leak` |
|
|
399
|
-
| `hotfix/` | 緊急正式環境修復 | `hotfix/security-patch` |
|
|
400
|
-
| `refactor/` | 程式碼重構 | `refactor/extract-service` |
|
|
401
|
-
| `docs/` | 僅文件更新 | `docs/api-reference` |
|
|
402
|
-
| `test/` | 測試新增 | `test/integration-tests` |
|
|
403
|
-
| `chore/` | 維護任務 | `chore/update-dependencies` |
|
|
404
|
-
| `release/` | 發布準備 (僅 GitFlow) | `release/v1.2.0` |
|
|
405
|
-
|
|
406
|
-
### 命名規則
|
|
407
|
-
|
|
408
|
-
1. **使用小寫**
|
|
409
|
-
2. **使用連字號分隔單詞**
|
|
410
|
-
3. **具描述性但簡潔**
|
|
411
|
-
4. **避免僅用 issue 編號**
|
|
412
|
-
|
|
413
|
-
**良好範例**:
|
|
414
|
-
```
|
|
415
|
-
feature/user-authentication
|
|
416
|
-
fix/null-pointer-in-payment
|
|
417
|
-
hotfix/critical-data-loss
|
|
418
|
-
refactor/database-connection-pool
|
|
419
|
-
docs/update-installation-guide
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
**不良範例**:
|
|
423
|
-
```
|
|
424
|
-
feature/123 # ❌ 沒有描述性
|
|
425
|
-
Fix-Bug # ❌ 非小寫,過於籠統
|
|
426
|
-
feature/add_new_feature # ❌ 使用底線,過於籠統
|
|
427
|
-
myFeature # ❌ 駝峰式命名,無類型前綴
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
---
|
|
431
|
-
|
|
432
|
-
## 合併策略
|
|
433
|
-
|
|
434
|
-
**專案必須為每種分支類型選擇一種**。
|
|
435
|
-
|
|
436
|
-
### 選項 1: 合併提交 (--no-ff)
|
|
437
|
-
|
|
438
|
-
**保留分支歷史**
|
|
20
|
+
| 分支類型 | 前綴 | 範例 | 目的 |
|
|
21
|
+
|----------|------|------|------|
|
|
22
|
+
| **Feature** | `feature/` | `feature/user-login` | 新功能開發 |
|
|
23
|
+
| **Fix** | `fix/` | `fix/login-error` | Bug 修復 |
|
|
24
|
+
| **Documentation** | `docs/` | `docs/api-update` | 文件變更 |
|
|
25
|
+
| **Chore** | `chore/` | `chore/dep-update` | 維護任務 |
|
|
26
|
+
| **Refactor** | `refactor/` | `refactor/auth-module` | 程式碼重構 |
|
|
27
|
+
| **Test** | `test/` | `test/e2e-suite` | 新增或修復測試 |
|
|
439
28
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
**優點**:
|
|
445
|
-
- ✅ 完整保留歷史
|
|
446
|
-
- ✅ 易於還原整個功能
|
|
447
|
-
- ✅ 清楚的功能邊界
|
|
448
|
-
|
|
449
|
-
**缺點**:
|
|
450
|
-
- ❌ Git 日誌雜亂
|
|
451
|
-
- ❌ 複雜的圖形視覺化
|
|
452
|
-
|
|
453
|
-
**最適合**: GitFlow、長期功能分支
|
|
454
|
-
|
|
455
|
-
---
|
|
456
|
-
|
|
457
|
-
### 選項 2: 壓縮合併
|
|
458
|
-
|
|
459
|
-
**將所有提交合併為一個**
|
|
460
|
-
|
|
461
|
-
```bash
|
|
462
|
-
git merge --squash feature/user-auth
|
|
463
|
-
git commit -m "feat(auth): add user authentication"
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
**優點**:
|
|
467
|
-
- ✅ 乾淨、線性的歷史
|
|
468
|
-
- ✅ 每個功能一個提交
|
|
469
|
-
- ✅ 易於閱讀的 git 日誌
|
|
470
|
-
|
|
471
|
-
**缺點**:
|
|
472
|
-
- ❌ 失去詳細歷史
|
|
473
|
-
- ❌ 無法精選個別提交
|
|
474
|
-
|
|
475
|
-
**最適合**: GitHub Flow、功能分支
|
|
476
|
-
|
|
477
|
-
---
|
|
478
|
-
|
|
479
|
-
### 選項 3: 變基與快轉
|
|
480
|
-
|
|
481
|
-
**在目標分支上重播提交**
|
|
482
|
-
|
|
483
|
-
```bash
|
|
484
|
-
git rebase main feature/user-auth
|
|
485
|
-
git checkout main
|
|
486
|
-
git merge --ff-only feature/user-auth
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
**優點**:
|
|
490
|
-
- ✅ 線性、乾淨的歷史
|
|
491
|
-
- ✅ 保留個別提交
|
|
492
|
-
- ✅ 無合併提交
|
|
493
|
-
|
|
494
|
-
**缺點**:
|
|
495
|
-
- ❌ 改寫歷史(不要用於共享分支)
|
|
496
|
-
- ❌ 解決衝突可能繁瑣
|
|
497
|
-
|
|
498
|
-
**最適合**: Trunk-Based Development、短期分支
|
|
29
|
+
**規則**:
|
|
30
|
+
1. 使用小寫和 kebab-case
|
|
31
|
+
2. 包含票號 (如果適用): `feature/JIRA-123-user-login`
|
|
32
|
+
3. 嚴禁使用通用名稱如 `dev`, `wip`, `temp`
|
|
499
33
|
|
|
500
34
|
---
|
|
501
35
|
|
|
502
|
-
##
|
|
503
|
-
|
|
504
|
-
### 預防
|
|
505
|
-
|
|
506
|
-
1. **頻繁同步**
|
|
507
|
-
```bash
|
|
508
|
-
git checkout main
|
|
509
|
-
git pull origin main
|
|
510
|
-
git checkout feature/my-feature
|
|
511
|
-
git merge main # or git rebase main
|
|
512
|
-
```
|
|
513
|
-
|
|
514
|
-
2. **保持分支小型化**
|
|
515
|
-
- 避免長期功能分支
|
|
516
|
-
- 將大型功能拆分為小型 PR
|
|
517
|
-
|
|
518
|
-
3. **溝通**
|
|
519
|
-
- 宣告重大重構
|
|
520
|
-
- 協調共享檔案的修改
|
|
521
|
-
|
|
522
|
-
### 解決步驟
|
|
523
|
-
|
|
524
|
-
```bash
|
|
525
|
-
# 1. Attempt merge
|
|
526
|
-
git checkout main
|
|
527
|
-
git pull origin main
|
|
528
|
-
git checkout feature/my-feature
|
|
529
|
-
git merge main
|
|
530
|
-
|
|
531
|
-
# 2. Conflicts occur - Git marks them in files
|
|
532
|
-
# Open files and resolve conflicts:
|
|
533
|
-
# <<<<<<< HEAD
|
|
534
|
-
# Current branch changes
|
|
535
|
-
# =======
|
|
536
|
-
# Incoming changes
|
|
537
|
-
# >>>>>>> main
|
|
538
|
-
|
|
539
|
-
# 3. After resolving, stage files
|
|
540
|
-
git add resolved-file.js
|
|
541
|
-
|
|
542
|
-
# 4. Complete the merge
|
|
543
|
-
git commit -m "chore: resolve merge conflicts with main"
|
|
36
|
+
## 合併策略 (Merge Strategy)
|
|
544
37
|
|
|
545
|
-
|
|
546
|
-
|
|
38
|
+
| 策略 | 命令 | 使用時機 | 結果 |
|
|
39
|
+
|------|------|----------|------|
|
|
40
|
+
| **Squash Merge** | `git merge --squash` | Feature/Fix 分支合併回主幹 | 保持主幹歷史乾淨,單一提交代表一個功能 |
|
|
41
|
+
| **Rebase Merge** | `git rebase` + `merge` | 本地同步上游變更 | 線性歷史,無額外合併提交 |
|
|
42
|
+
| **Merge Commit** | `git merge --no-ff` | 發布分支 (Release) | 保留發布歷史節點 |
|
|
547
43
|
|
|
548
|
-
|
|
549
|
-
git push origin feature/my-feature
|
|
550
|
-
```
|
|
44
|
+
**預設規則**: 對於 PR/MR,預設使用 **Squash Merge**,除非專案另有規定。
|
|
551
45
|
|
|
552
46
|
---
|
|
553
47
|
|
|
554
|
-
##
|
|
48
|
+
## Commit 訊息規範
|
|
555
49
|
|
|
556
|
-
|
|
50
|
+
遵循 [Commit 訊息指南](commit-message-guide.md)。
|
|
557
51
|
|
|
558
|
-
|
|
52
|
+
格式: `<type>(<scope>): <subject>`
|
|
559
53
|
|
|
560
|
-
|
|
561
|
-
MAJOR.MINOR.PATCH
|
|
562
|
-
|
|
563
|
-
例如: v2.3.1
|
|
564
|
-
```
|
|
565
|
-
|
|
566
|
-
- **MAJOR**: 重大變更(不相容的 API 變更)
|
|
567
|
-
- **MINOR**: 新功能(向後相容)
|
|
568
|
-
- **PATCH**: Bug 修復(向後相容)
|
|
569
|
-
|
|
570
|
-
### 建立標籤
|
|
571
|
-
|
|
572
|
-
```bash
|
|
573
|
-
# Annotated tag (recommended)
|
|
574
|
-
git tag -a v1.2.0 -m "Release version 1.2.0: Add OAuth2 support"
|
|
575
|
-
|
|
576
|
-
# Push tag to remote
|
|
577
|
-
git push origin v1.2.0
|
|
578
|
-
|
|
579
|
-
# Push all tags
|
|
580
|
-
git push origin --tags
|
|
581
|
-
|
|
582
|
-
# List tags
|
|
583
|
-
git tag -l
|
|
584
|
-
```
|
|
585
|
-
|
|
586
|
-
### 預發布版本
|
|
587
|
-
|
|
588
|
-
```
|
|
589
|
-
v1.2.0-alpha.1 # Alpha release
|
|
590
|
-
v1.2.0-beta.2 # Beta release
|
|
591
|
-
v1.2.0-rc.1 # Release candidate
|
|
592
|
-
```
|
|
54
|
+
範例: `feat(auth): implement jwt validation`
|
|
593
55
|
|
|
594
56
|
---
|
|
595
57
|
|
|
596
|
-
##
|
|
597
|
-
|
|
598
|
-
設定分支保護規則:
|
|
599
|
-
|
|
600
|
-
### 建議的 `main`/`develop` 保護:
|
|
58
|
+
## 核心工作流程規則
|
|
601
59
|
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
- ❌ **不允許強制推送**
|
|
607
|
-
- ❌ **不允許刪除**
|
|
608
|
-
|
|
609
|
-
**設定範例 (GitHub)**:
|
|
610
|
-
```
|
|
611
|
-
Settings → Branches → Branch protection rules
|
|
612
|
-
|
|
613
|
-
Rule: main
|
|
614
|
-
☑ Require pull request before merging
|
|
615
|
-
☑ Require approvals: 1
|
|
616
|
-
☑ Require status checks before merging
|
|
617
|
-
☑ Require branches to be up to date
|
|
618
|
-
☑ Status checks: CI/Build, Lint, Tests
|
|
619
|
-
☑ Do not allow bypassing the above settings
|
|
620
|
-
☐ Allow force pushes
|
|
621
|
-
☐ Allow deletions
|
|
622
|
-
```
|
|
623
|
-
|
|
624
|
-
---
|
|
625
|
-
|
|
626
|
-
## Pull Request 工作流程
|
|
627
|
-
|
|
628
|
-
### PR 建立檢查清單
|
|
629
|
-
|
|
630
|
-
- [ ] **標題遵循提交慣例** (例如 `feat(auth): add OAuth2`)
|
|
631
|
-
- [ ] **描述說明原因** (不只是做了什麼)
|
|
632
|
-
- [ ] **連結到 issue** (例如 "Closes #123")
|
|
633
|
-
- [ ] **新功能包含測試**
|
|
634
|
-
- [ ] **必要時更新文件**
|
|
635
|
-
- [ ] **在描述中標示重大變更**
|
|
636
|
-
- [ ] **UI 變更包含截圖/GIF**
|
|
637
|
-
|
|
638
|
-
### PR 描述範本
|
|
639
|
-
|
|
640
|
-
```markdown
|
|
641
|
-
## What
|
|
642
|
-
|
|
643
|
-
[簡短描述此 PR 做了什麼]
|
|
644
|
-
|
|
645
|
-
## Why
|
|
646
|
-
|
|
647
|
-
[說明為什麼需要此變更]
|
|
648
|
-
|
|
649
|
-
## Changes
|
|
650
|
-
|
|
651
|
-
- [主要變更的條列清單]
|
|
652
|
-
- [用 ⚠️ 標記重大變更]
|
|
653
|
-
|
|
654
|
-
## Testing
|
|
655
|
-
|
|
656
|
-
- [ ] 已新增/更新單元測試
|
|
657
|
-
- [ ] 整合測試通過
|
|
658
|
-
- [ ] 已執行手動測試
|
|
659
|
-
|
|
660
|
-
## Screenshots (if applicable)
|
|
661
|
-
|
|
662
|
-
[為 UI 變更新增截圖]
|
|
663
|
-
|
|
664
|
-
## Related Issues
|
|
665
|
-
|
|
666
|
-
Closes #123
|
|
667
|
-
Refs #456
|
|
668
|
-
```
|
|
669
|
-
|
|
670
|
-
---
|
|
671
|
-
|
|
672
|
-
## Git 指令參考
|
|
673
|
-
|
|
674
|
-
### 日常操作
|
|
675
|
-
|
|
676
|
-
```bash
|
|
677
|
-
# Check status
|
|
678
|
-
git status
|
|
679
|
-
|
|
680
|
-
# View changes
|
|
681
|
-
git diff
|
|
682
|
-
git diff --staged
|
|
683
|
-
|
|
684
|
-
# Stage changes
|
|
685
|
-
git add file.js
|
|
686
|
-
git add .
|
|
687
|
-
|
|
688
|
-
# Commit
|
|
689
|
-
git commit -m "feat: add feature"
|
|
690
|
-
|
|
691
|
-
# Push
|
|
692
|
-
git push origin feature/my-feature
|
|
693
|
-
|
|
694
|
-
# Pull latest
|
|
695
|
-
git pull origin main
|
|
696
|
-
|
|
697
|
-
# View history
|
|
698
|
-
git log --oneline --graph --all
|
|
699
|
-
```
|
|
700
|
-
|
|
701
|
-
### 分支操作
|
|
702
|
-
|
|
703
|
-
```bash
|
|
704
|
-
# List branches
|
|
705
|
-
git branch -a
|
|
706
|
-
|
|
707
|
-
# Create branch
|
|
708
|
-
git checkout -b feature/new-feature
|
|
709
|
-
|
|
710
|
-
# Switch branch
|
|
711
|
-
git checkout main
|
|
712
|
-
|
|
713
|
-
# Delete local branch
|
|
714
|
-
git branch -d feature/old-feature
|
|
715
|
-
|
|
716
|
-
# Delete remote branch
|
|
717
|
-
git push origin --delete feature/old-feature
|
|
718
|
-
|
|
719
|
-
# Rename branch
|
|
720
|
-
git branch -m old-name new-name
|
|
721
|
-
```
|
|
722
|
-
|
|
723
|
-
### 進階操作
|
|
724
|
-
|
|
725
|
-
```bash
|
|
726
|
-
# Stash changes
|
|
727
|
-
git stash
|
|
728
|
-
git stash pop
|
|
729
|
-
|
|
730
|
-
# Cherry-pick commit
|
|
731
|
-
git cherry-pick <commit-hash>
|
|
732
|
-
|
|
733
|
-
# Revert commit
|
|
734
|
-
git revert <commit-hash>
|
|
735
|
-
|
|
736
|
-
# Reset to previous commit (dangerous!)
|
|
737
|
-
git reset --hard <commit-hash>
|
|
738
|
-
|
|
739
|
-
# Amend last commit
|
|
740
|
-
git commit --amend
|
|
741
|
-
|
|
742
|
-
# Interactive rebase (clean up commits)
|
|
743
|
-
git rebase -i HEAD~3
|
|
744
|
-
```
|
|
745
|
-
|
|
746
|
-
---
|
|
747
|
-
|
|
748
|
-
## 專案設定範本
|
|
749
|
-
|
|
750
|
-
在 `CONTRIBUTING.md` 中記錄您的工作流程:
|
|
751
|
-
|
|
752
|
-
```markdown
|
|
753
|
-
## Git Workflow
|
|
754
|
-
|
|
755
|
-
### Branching Strategy
|
|
756
|
-
This project uses **[GitFlow / GitHub Flow / Trunk-Based Development]**.
|
|
757
|
-
|
|
758
|
-
### Branch Types
|
|
759
|
-
- `main`: Production code
|
|
760
|
-
- `develop`: Development mainline (GitFlow only)
|
|
761
|
-
- `feature/*`: New features
|
|
762
|
-
- `fix/*`: Bug fixes
|
|
763
|
-
- `hotfix/*`: Urgent production fixes
|
|
764
|
-
|
|
765
|
-
### Branch Naming
|
|
766
|
-
Format: `<type>/<description>`
|
|
767
|
-
Example: `feature/oauth-login`, `fix/memory-leak`
|
|
768
|
-
|
|
769
|
-
### Merge Strategy
|
|
770
|
-
- Feature branches: **[Squash / Merge commit / Rebase]**
|
|
771
|
-
- Release branches: Merge commit (--no-ff)
|
|
772
|
-
- Hotfix branches: Merge commit (--no-ff)
|
|
773
|
-
|
|
774
|
-
### Protected Branches
|
|
775
|
-
- `main`: Requires 1 review, CI must pass
|
|
776
|
-
- `develop`: Requires 1 review (if using GitFlow)
|
|
777
|
-
|
|
778
|
-
### Pull Request Process
|
|
779
|
-
1. Create branch from `[main/develop]`
|
|
780
|
-
2. Make changes and push
|
|
781
|
-
3. Open PR with description
|
|
782
|
-
4. Wait for review approval
|
|
783
|
-
5. Ensure CI passes
|
|
784
|
-
6. Merge using **[strategy]**
|
|
785
|
-
```
|
|
786
|
-
|
|
787
|
-
---
|
|
788
|
-
|
|
789
|
-
## 疑難排解
|
|
790
|
-
|
|
791
|
-
### 不小心提交到錯誤的分支
|
|
792
|
-
|
|
793
|
-
```bash
|
|
794
|
-
# Undo last commit but keep changes
|
|
795
|
-
git reset --soft HEAD~1
|
|
796
|
-
|
|
797
|
-
# Switch to correct branch
|
|
798
|
-
git checkout correct-branch
|
|
799
|
-
|
|
800
|
-
# Commit changes
|
|
801
|
-
git add .
|
|
802
|
-
git commit -m "feat: add feature"
|
|
803
|
-
```
|
|
804
|
-
|
|
805
|
-
### 需要從 main 更新分支
|
|
806
|
-
|
|
807
|
-
```bash
|
|
808
|
-
# Option 1: Merge (preserves history)
|
|
809
|
-
git checkout feature/my-feature
|
|
810
|
-
git merge main
|
|
811
|
-
|
|
812
|
-
# Option 2: Rebase (cleaner history)
|
|
813
|
-
git checkout feature/my-feature
|
|
814
|
-
git rebase main
|
|
815
|
-
```
|
|
816
|
-
|
|
817
|
-
### 不小心強制推送到保護分支
|
|
818
|
-
|
|
819
|
-
```bash
|
|
820
|
-
# ⚠️ Contact team immediately
|
|
821
|
-
# ⚠️ Check if branch protection was enabled
|
|
822
|
-
# ⚠️ Restore from reflog if needed:
|
|
823
|
-
git reflog
|
|
824
|
-
git reset --hard <previous-commit-hash>
|
|
825
|
-
```
|
|
60
|
+
1. **永遠不要直接提交到 `main` 或 `master`** (除非是單人專案且有把握)。
|
|
61
|
+
2. **提交前執行測試**: `npm test` 或對應指令。
|
|
62
|
+
3. **保持分支生命週期短**: Feature 分支不應存活超過 2-3 天。
|
|
63
|
+
4. **同步更新**: 在合併前,先 rebase 或 merge `main` 的最新變更。
|
|
826
64
|
|
|
827
65
|
---
|
|
828
66
|
|
|
829
67
|
## 相關標準
|
|
830
68
|
|
|
831
|
-
- [
|
|
832
|
-
- [
|
|
833
|
-
- [
|
|
834
|
-
- [Changelog Standards](../../../core/changelog-standards.md) - 變更日誌標準
|
|
69
|
+
- [Git 工作流程指南](guides/git-workflow-guide.md) - 詳細教學與比較
|
|
70
|
+
- [Commit 訊息指南](commit-message-guide.md)
|
|
71
|
+
- [程式碼簽入標準](checkin-standards.md)
|
|
835
72
|
|
|
836
73
|
---
|
|
837
74
|
|
|
@@ -839,19 +76,8 @@ git reset --hard <previous-commit-hash>
|
|
|
839
76
|
|
|
840
77
|
| 版本 | 日期 | 變更 |
|
|
841
78
|
|------|------|------|
|
|
842
|
-
| 1.
|
|
843
|
-
| 1.2.0 | 2025-12-
|
|
844
|
-
| 1.1.0 | 2025-12-08 | 新增:開分支前檢查清單區段,含工作流程特定指引 |
|
|
845
|
-
| 1.0.0 | 2025-11-12 | 初始 Git 工作流程標準 |
|
|
846
|
-
|
|
847
|
-
---
|
|
848
|
-
|
|
849
|
-
## 參考資料
|
|
850
|
-
|
|
851
|
-
- [GitFlow Original Article](https://nvie.com/posts/a-successful-git-branching-model/)
|
|
852
|
-
- [GitHub Flow Guide](https://guides.github.com/introduction/flow/)
|
|
853
|
-
- [Trunk-Based Development](https://trunkbaseddevelopment.com/)
|
|
854
|
-
- [Semantic Versioning](https://semver.org/)
|
|
79
|
+
| 1.3.0 | 2026-01-29 | **重大重構**:拆分為規則(本文件)和指南(git-workflow-guide.md)。 |
|
|
80
|
+
| 1.2.0 | 2025-12-20 | 更新合併策略說明 |
|
|
855
81
|
|
|
856
82
|
---
|
|
857
83
|
|