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,943 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: core/checkin-standards.md
|
|
3
|
+
source_version: 1.3.0
|
|
4
|
+
translation_version: 1.3.0
|
|
5
|
+
last_synced: 2026-01-05
|
|
6
|
+
status: current
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# 程序码签入检查点标准
|
|
10
|
+
|
|
11
|
+
> **语言**: [English](../../../core/checkin-standards.md) | 繁体中文
|
|
12
|
+
|
|
13
|
+
**版本**: 1.3.0
|
|
14
|
+
**最后更新**: 2026-01-05
|
|
15
|
+
**适用范围**: 所有使用版本控制的软体专案
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 目的
|
|
20
|
+
|
|
21
|
+
本标准定义提交程序码到版本控制前必须通过的品质关卡。确保每次提交都维持程序码库的稳定性与品质。
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 核心哲学
|
|
26
|
+
|
|
27
|
+
**每次提交应该**:
|
|
28
|
+
- ✅ 是完整的逻辑工作单元
|
|
29
|
+
- ✅ 让程序码库处于可运作状态
|
|
30
|
+
- ✅ 可回退而不破坏功能
|
|
31
|
+
- ✅ 包含自己的测试(新功能)
|
|
32
|
+
- ✅ 让未来开发者能理解
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 必检清单
|
|
37
|
+
|
|
38
|
+
### 1. 建置验证
|
|
39
|
+
|
|
40
|
+
- [ ] **程序码成功编译**
|
|
41
|
+
- Zero build errors
|
|
42
|
+
- Zero build warnings (or documented exceptions)
|
|
43
|
+
|
|
44
|
+
- [ ] **依赖已满足**
|
|
45
|
+
- All package dependencies installed
|
|
46
|
+
- Dependency versions locked/documented
|
|
47
|
+
- No missing imports or modules
|
|
48
|
+
|
|
49
|
+
**专案特定建置指令**:
|
|
50
|
+
```bash
|
|
51
|
+
# Example: .NET project
|
|
52
|
+
dotnet build --configuration Release --warnaserror
|
|
53
|
+
|
|
54
|
+
# Example: Node.js project
|
|
55
|
+
npm install && npm run build
|
|
56
|
+
|
|
57
|
+
# Example: Python project
|
|
58
|
+
pip install -r requirements.txt && python -m py_compile src/**/*.py
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**验证**:
|
|
62
|
+
- Run the build command locally before committing
|
|
63
|
+
- Ensure exit code is 0 (success)
|
|
64
|
+
- Check build output for warnings
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### 2. 测试验证
|
|
69
|
+
|
|
70
|
+
- [ ] **所有现有测试通过**
|
|
71
|
+
- Unit tests: 100% pass rate
|
|
72
|
+
- Integration tests: 100% pass rate
|
|
73
|
+
- End-to-end tests (if applicable): 100% pass rate
|
|
74
|
+
|
|
75
|
+
- [ ] **新程序码已测试**
|
|
76
|
+
- New features have corresponding tests
|
|
77
|
+
- Bug fixes include regression tests
|
|
78
|
+
- Edge cases are covered
|
|
79
|
+
|
|
80
|
+
- [ ] **测试覆盖率维持或提升**
|
|
81
|
+
- Coverage percentage not decreased
|
|
82
|
+
- Critical paths are tested
|
|
83
|
+
|
|
84
|
+
**专案特定测试指令**:
|
|
85
|
+
```bash
|
|
86
|
+
# Example: .NET project
|
|
87
|
+
dotnet test --no-build --verbosity normal
|
|
88
|
+
|
|
89
|
+
# Example: Node.js project with Jest
|
|
90
|
+
npm test -- --coverage
|
|
91
|
+
|
|
92
|
+
# Example: Python project with pytest
|
|
93
|
+
pytest --cov=src tests/
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**验证**:
|
|
97
|
+
- Run all test suites locally
|
|
98
|
+
- Review test coverage report
|
|
99
|
+
- Ensure new code paths are tested
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### 3. 程序码品质
|
|
104
|
+
|
|
105
|
+
- [ ] **遵循编码标准**
|
|
106
|
+
- Naming conventions adhered to
|
|
107
|
+
- Code formatting consistent
|
|
108
|
+
- Comments/documentation present
|
|
109
|
+
|
|
110
|
+
- [ ] **无程序码异味**
|
|
111
|
+
- Methods ≤50 lines (or project standard)
|
|
112
|
+
- Nesting depth ≤3 levels
|
|
113
|
+
- Cyclomatic complexity ≤10
|
|
114
|
+
- No duplicated code blocks
|
|
115
|
+
|
|
116
|
+
- [ ] **安全性已检查**
|
|
117
|
+
- No hardcoded secrets (passwords, API keys)
|
|
118
|
+
- No SQL injection vulnerabilities
|
|
119
|
+
- No XSS vulnerabilities
|
|
120
|
+
- No insecure dependencies
|
|
121
|
+
|
|
122
|
+
**专案特定品质工具**:
|
|
123
|
+
```bash
|
|
124
|
+
# Example: ESLint for JavaScript
|
|
125
|
+
npx eslint src/
|
|
126
|
+
|
|
127
|
+
# Example: Pylint for Python
|
|
128
|
+
pylint src/
|
|
129
|
+
|
|
130
|
+
# Example: ReSharper for C#
|
|
131
|
+
dotnet tool run jb inspectcode ProjectName.sln
|
|
132
|
+
|
|
133
|
+
# Example: Security scanner
|
|
134
|
+
npm audit
|
|
135
|
+
pip-audit
|
|
136
|
+
dotnet list package --vulnerable
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**验证**:
|
|
140
|
+
- Run linter/formatter tools
|
|
141
|
+
- Review static analysis reports
|
|
142
|
+
- Check for security warnings
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### 4. 文件
|
|
147
|
+
|
|
148
|
+
- [ ] **API 文件已更新**
|
|
149
|
+
- Public APIs have doc comments
|
|
150
|
+
- Parameter descriptions complete
|
|
151
|
+
- Return value documented
|
|
152
|
+
- Exceptions documented
|
|
153
|
+
|
|
154
|
+
- [ ] **README 已更新(如需要)**
|
|
155
|
+
- New features documented
|
|
156
|
+
- Breaking changes noted
|
|
157
|
+
- Setup instructions current
|
|
158
|
+
|
|
159
|
+
- [ ] **CHANGELOG 已更新(如适用)**
|
|
160
|
+
- 对于使用者可感知的变更:已新增条目至 `[Unreleased]` 区段
|
|
161
|
+
- Breaking changes marked with **BREAKING** prefix
|
|
162
|
+
- 遵循 [versioning.md](versioning.md) 和 [changelog-standards.md](changelog-standards.md) 排除规则
|
|
163
|
+
- 注意:内部重构、仅测试、仅文件的变更通常不需要 CHANGELOG 条目
|
|
164
|
+
|
|
165
|
+
**文件格式**:
|
|
166
|
+
```
|
|
167
|
+
// Example: C# XML documentation
|
|
168
|
+
/// <summary>
|
|
169
|
+
/// Validates user credentials and returns authentication token
|
|
170
|
+
/// </summary>
|
|
171
|
+
/// <param name="username">User login name</param>
|
|
172
|
+
/// <param name="password">User password</param>
|
|
173
|
+
/// <returns>JWT token if valid, null otherwise</returns>
|
|
174
|
+
/// <exception cref="ArgumentNullException">If username or password is null</exception>
|
|
175
|
+
public string Authenticate(string username, string password)
|
|
176
|
+
|
|
177
|
+
// Example: Python docstring
|
|
178
|
+
def authenticate(username: str, password: str) -> Optional[str]:
|
|
179
|
+
"""
|
|
180
|
+
Validates user credentials and returns authentication token.
|
|
181
|
+
|
|
182
|
+
Args:
|
|
183
|
+
username: User login name
|
|
184
|
+
password: User password
|
|
185
|
+
|
|
186
|
+
Returns:
|
|
187
|
+
JWT token if valid, None otherwise
|
|
188
|
+
|
|
189
|
+
Raises:
|
|
190
|
+
ValueError: If username or password is empty
|
|
191
|
+
"""
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
### 5. 工作流程合规
|
|
197
|
+
|
|
198
|
+
- [ ] **分支命名正确**
|
|
199
|
+
- Follows project convention (e.g., `feature/`, `fix/`)
|
|
200
|
+
- Descriptive name used
|
|
201
|
+
|
|
202
|
+
- [ ] **Commit 讯息已格式化**
|
|
203
|
+
- Follows conventional commits or project standard
|
|
204
|
+
- Clear and descriptive
|
|
205
|
+
|
|
206
|
+
- [ ] **已与目标分支同步**
|
|
207
|
+
- Merged latest changes from target branch
|
|
208
|
+
- No merge conflicts
|
|
209
|
+
- Rebase completed (if rebasing workflow)
|
|
210
|
+
|
|
211
|
+
**验证**:
|
|
212
|
+
```bash
|
|
213
|
+
# Check branch name
|
|
214
|
+
git branch --show-current
|
|
215
|
+
|
|
216
|
+
# Sync with target branch (example: develop)
|
|
217
|
+
git fetch origin
|
|
218
|
+
git merge origin/develop
|
|
219
|
+
# OR
|
|
220
|
+
git rebase origin/develop
|
|
221
|
+
|
|
222
|
+
# Verify no conflicts
|
|
223
|
+
git status
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 签入时机指引
|
|
229
|
+
|
|
230
|
+
### ✅ 适合提交的时机
|
|
231
|
+
|
|
232
|
+
1. **完成功能单元**
|
|
233
|
+
- Feature fully implemented
|
|
234
|
+
- Tests written and passing
|
|
235
|
+
- Documentation updated
|
|
236
|
+
|
|
237
|
+
2. **修复特定 Bug**
|
|
238
|
+
- Bug reproduced and fixed
|
|
239
|
+
- Regression test added
|
|
240
|
+
- Verified fix works
|
|
241
|
+
|
|
242
|
+
3. **独立重构**
|
|
243
|
+
- Refactoring complete
|
|
244
|
+
- No functional changes
|
|
245
|
+
- All tests still pass
|
|
246
|
+
|
|
247
|
+
4. **可执行状态**
|
|
248
|
+
- Code compiles without errors
|
|
249
|
+
- Application can run/start
|
|
250
|
+
- Core functionality not broken
|
|
251
|
+
|
|
252
|
+
**范例情境**:
|
|
253
|
+
```
|
|
254
|
+
✅ GOOD: "feat(auth): add OAuth2 Google login support"
|
|
255
|
+
- OAuth flow implemented
|
|
256
|
+
- Tests for happy path and errors
|
|
257
|
+
- README updated with setup instructions
|
|
258
|
+
- All existing tests pass
|
|
259
|
+
|
|
260
|
+
✅ GOOD: "fix(api): resolve memory leak in user session cache"
|
|
261
|
+
- Memory leak identified and fixed
|
|
262
|
+
- Regression test added
|
|
263
|
+
- Load test shows leak resolved
|
|
264
|
+
|
|
265
|
+
✅ GOOD: "refactor(service): extract email validation to helper"
|
|
266
|
+
- Email validation logic extracted
|
|
267
|
+
- All call sites updated
|
|
268
|
+
- Tests confirm identical behavior
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Commit 粒度指引
|
|
274
|
+
|
|
275
|
+
### 理想的 Commit 大小
|
|
276
|
+
|
|
277
|
+
| 指标 | 建议值 | 说明 |
|
|
278
|
+
|------|--------|------|
|
|
279
|
+
| 档案数量 | 1-10 个 | 超过 10 个档案应考虑拆分 |
|
|
280
|
+
| 变更行数 | 50-300 行 | 过大难以 review,过小缺乏意义 |
|
|
281
|
+
| 功能范围 | 单一关注点 | 一个 commit 只做一件事 |
|
|
282
|
+
|
|
283
|
+
### 拆分原则
|
|
284
|
+
|
|
285
|
+
**应该合并为一个 commit**:
|
|
286
|
+
- Feature implementation + corresponding tests
|
|
287
|
+
- Tightly related multi-file changes
|
|
288
|
+
|
|
289
|
+
**应该分开 commit**:
|
|
290
|
+
- Feature A + Feature B → separate
|
|
291
|
+
- Refactoring + new feature → separate
|
|
292
|
+
- Bug fix + incidental refactoring → separate
|
|
293
|
+
|
|
294
|
+
### 频率建议
|
|
295
|
+
|
|
296
|
+
| 情境 | 建议频率 |
|
|
297
|
+
|------|---------|
|
|
298
|
+
| 功能开发 | 每完成一个可测试的子功能即 commit |
|
|
299
|
+
| Bug 修复 | 每修复一个独立的 bug 即 commit |
|
|
300
|
+
| 重构 | 每完成一个安全的重构步骤即 commit(保持测试通过) |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 协作情境
|
|
305
|
+
|
|
306
|
+
### 多人开发同一功能
|
|
307
|
+
|
|
308
|
+
当多人同时开发同一功能(例如前后端分工):
|
|
309
|
+
|
|
310
|
+
1. **分支策略**: Create sub-branches from feature branch
|
|
311
|
+
```
|
|
312
|
+
feature/order-book
|
|
313
|
+
├── feature/order-book-api (Developer A)
|
|
314
|
+
└── feature/order-book-ui (Developer B)
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
2. **签入节奏**:
|
|
318
|
+
- Commit and push after each integrable unit
|
|
319
|
+
- Frequently sync with main feature branch to reduce conflicts
|
|
320
|
+
|
|
321
|
+
3. **集成点**:
|
|
322
|
+
- Define clear interfaces/contracts
|
|
323
|
+
- Commit interface definitions first, then implement separately
|
|
324
|
+
|
|
325
|
+
### Code Review 前后
|
|
326
|
+
|
|
327
|
+
**Review 前**:
|
|
328
|
+
- Ensure all commits are complete logical units
|
|
329
|
+
- Clean up commit history (squash WIP commits)
|
|
330
|
+
- Write clear PR description
|
|
331
|
+
|
|
332
|
+
**Review 后**:
|
|
333
|
+
- After making changes based on review feedback, add new commit (don't amend already pushed commits)
|
|
334
|
+
- Commit message can note: `fix(auth): adjust error handling per review feedback`
|
|
335
|
+
|
|
336
|
+
### 避免冲突的签入策略
|
|
337
|
+
|
|
338
|
+
1. **小批量、高频率**: Small commits are easier to merge than large ones
|
|
339
|
+
2. **频繁同步**: At least once daily `git pull origin main`
|
|
340
|
+
3. **避免长时间分支**: Feature branch lifecycle should not exceed 1-2 weeks
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 签入检查触发点
|
|
345
|
+
|
|
346
|
+
### 自动触发时机
|
|
347
|
+
|
|
348
|
+
在开发工作流程执行过程中,以下时机应触发签入提醒:
|
|
349
|
+
|
|
350
|
+
| 触发点 | 条件 | 提醒强度 |
|
|
351
|
+
|--------|------|---------|
|
|
352
|
+
| Phase 完成 | 完成一个开发阶段 | 建议 |
|
|
353
|
+
| Checkpoint | 到达定义的检查点 | 建议 |
|
|
354
|
+
| 变更累积 | 档案 ≥5 个 或 行数 ≥200 行 | 建议 |
|
|
355
|
+
| 连续跳过 | 连续跳过签入 3 次 | 警告 |
|
|
356
|
+
| 工作完成 | 结束前有未 commit 变更 | 强烈建议 |
|
|
357
|
+
|
|
358
|
+
### 提醒行为
|
|
359
|
+
|
|
360
|
+
- **建议性质**: User can choose to skip and continue working
|
|
361
|
+
- **不中断流程**: After choosing "later", automatically continue to next stage
|
|
362
|
+
- **手动执行**: AI only displays git commands, **must not auto-execute** git add/commit
|
|
363
|
+
|
|
364
|
+
### 提醒格式
|
|
365
|
+
|
|
366
|
+
```
|
|
367
|
+
┌────────────────────────────────────────────────┐
|
|
368
|
+
│ 🔔 签入检查点 │
|
|
369
|
+
├────────────────────────────────────────────────┤
|
|
370
|
+
│ Phase 1 已完成 │
|
|
371
|
+
│ │
|
|
372
|
+
│ 变更统计: │
|
|
373
|
+
│ - Files: 5 │
|
|
374
|
+
│ - Added: 180 lines │
|
|
375
|
+
│ - Deleted: 12 lines │
|
|
376
|
+
│ │
|
|
377
|
+
│ Test Status: ✅ Passed │
|
|
378
|
+
│ │
|
|
379
|
+
│ Suggested commit message: │
|
|
380
|
+
│ feat(module): complete Phase 1 Setup │
|
|
381
|
+
│ │
|
|
382
|
+
│ Options: │
|
|
383
|
+
│ [1] Commit now (will show git commands) │
|
|
384
|
+
│ [2] Commit later, continue to next Phase │
|
|
385
|
+
│ [3] View detailed changes │
|
|
386
|
+
└────────────────────────────────────────────────┘
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### 跳过后的追踪
|
|
390
|
+
|
|
391
|
+
当用户选择「稍后再 commit」时:
|
|
392
|
+
|
|
393
|
+
1. **记录跳过次数**
|
|
394
|
+
2. **连续跳过 3 次** → Display warning:
|
|
395
|
+
```
|
|
396
|
+
⚠️ Warning: You have skipped check-in 3 times consecutively
|
|
397
|
+
Current accumulated changes: 15 files, +520 lines
|
|
398
|
+
Recommend committing soon to avoid changes becoming too large to review
|
|
399
|
+
```
|
|
400
|
+
3. **工作结束前** → If uncommitted changes exist, strongly recommend check-in
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## 特殊情境处理
|
|
405
|
+
|
|
406
|
+
### 紧急离开
|
|
407
|
+
|
|
408
|
+
当需要暂时离开但工作未完成时:
|
|
409
|
+
|
|
410
|
+
**选项 1: Git Stash(推荐)**
|
|
411
|
+
```bash
|
|
412
|
+
# Stash incomplete work
|
|
413
|
+
git stash save "WIP: matching engine - pending price validation"
|
|
414
|
+
|
|
415
|
+
# Resume next day
|
|
416
|
+
git stash pop
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
**选项 2: WIP 分支**
|
|
420
|
+
```bash
|
|
421
|
+
# Create temporary branch
|
|
422
|
+
git checkout -b wip/order-matching-temp
|
|
423
|
+
git add .
|
|
424
|
+
git commit -m "WIP: matching engine progress save (do not merge)"
|
|
425
|
+
|
|
426
|
+
# Return to main branch next day
|
|
427
|
+
git checkout feature/order-matching
|
|
428
|
+
git cherry-pick <wip-commit>
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
⚠️ **禁止**: Committing WIP code directly on feature branch
|
|
432
|
+
|
|
433
|
+
### 实验性开发
|
|
434
|
+
|
|
435
|
+
进行技术探索或 POC 时:
|
|
436
|
+
|
|
437
|
+
1. **建立实验分支**
|
|
438
|
+
```bash
|
|
439
|
+
git checkout -b experiment/redis-stream-poc
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
2. **实验中可自由 commit** (no strict format required)
|
|
443
|
+
|
|
444
|
+
3. **实验成功后**:
|
|
445
|
+
- Clean up commit history
|
|
446
|
+
- Squash into meaningful commits
|
|
447
|
+
- Merge to feature branch
|
|
448
|
+
|
|
449
|
+
4. **实验失败后**:
|
|
450
|
+
- Document lessons learned (optional)
|
|
451
|
+
- Delete experiment branch
|
|
452
|
+
|
|
453
|
+
### 紧急修复
|
|
454
|
+
|
|
455
|
+
生产环境紧急问题:
|
|
456
|
+
|
|
457
|
+
1. **从 main 建立 hotfix 分支**
|
|
458
|
+
```bash
|
|
459
|
+
git checkout main
|
|
460
|
+
git checkout -b hotfix/critical-null-pointer
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
2. **最小化变更**: Only fix the problem, no additional refactoring
|
|
464
|
+
|
|
465
|
+
3. **快速验证**: Ensure tests pass
|
|
466
|
+
|
|
467
|
+
4. **Commit 讯息标注紧急性**:
|
|
468
|
+
```
|
|
469
|
+
fix(matching): [URGENT] fix null pointer causing match failures
|
|
470
|
+
|
|
471
|
+
- Issue: Market orders missing price field causes NullPointerException
|
|
472
|
+
- Impact: All market orders cannot be matched
|
|
473
|
+
- Fix: Add null check and default value handling
|
|
474
|
+
|
|
475
|
+
Fixes #456
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
### ❌ 不适合提交的时机
|
|
481
|
+
|
|
482
|
+
1. **建置失败**
|
|
483
|
+
- Compilation errors present
|
|
484
|
+
- Unresolved dependencies
|
|
485
|
+
|
|
486
|
+
2. **测试失败**
|
|
487
|
+
- One or more tests failing
|
|
488
|
+
- Tests not yet written for new code
|
|
489
|
+
|
|
490
|
+
3. **未完成功能**
|
|
491
|
+
- Feature partially implemented
|
|
492
|
+
- Would break existing functionality
|
|
493
|
+
- Missing critical components
|
|
494
|
+
|
|
495
|
+
4. **实验性程序码**
|
|
496
|
+
- TODO comments scattered
|
|
497
|
+
- Debugging code left in
|
|
498
|
+
- Commented-out code blocks
|
|
499
|
+
|
|
500
|
+
**范例情境**:
|
|
501
|
+
```
|
|
502
|
+
❌ BAD: "WIP: trying to fix login"
|
|
503
|
+
- Build has errors
|
|
504
|
+
- Tests fail
|
|
505
|
+
- Unclear what was attempted
|
|
506
|
+
|
|
507
|
+
❌ BAD: "feat(api): new endpoint (incomplete)"
|
|
508
|
+
- Endpoint returns hardcoded data
|
|
509
|
+
- No validation implemented
|
|
510
|
+
- Tests say "TODO: write tests"
|
|
511
|
+
|
|
512
|
+
❌ BAD: "refactor: experimenting with new structure"
|
|
513
|
+
- Half the files moved
|
|
514
|
+
- Old code commented out instead of deleted
|
|
515
|
+
- Multiple TODOs in code
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
---
|
|
519
|
+
|
|
520
|
+
## AI 助理集成
|
|
521
|
+
|
|
522
|
+
当 AI 助理完成程序码变更时,必须遵循此工作流程:
|
|
523
|
+
|
|
524
|
+
### Step 1: 评估签入时机
|
|
525
|
+
|
|
526
|
+
**AI must assess**:
|
|
527
|
+
- Is this a complete logical unit?
|
|
528
|
+
- Is the codebase in a working state?
|
|
529
|
+
- Are there incomplete TODOs?
|
|
530
|
+
|
|
531
|
+
**评估范例**:
|
|
532
|
+
```
|
|
533
|
+
✅ Complete: "Implemented user registration with validation, tests, and docs"
|
|
534
|
+
⚠️ Incomplete: "Added registration form but backend validation pending"
|
|
535
|
+
❌ Not Ready: "Started working on registration, several TODOs remain"
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
|
|
540
|
+
### Step 2: 执行检查清单
|
|
541
|
+
|
|
542
|
+
**AI must verify**:
|
|
543
|
+
- [ ] Build command succeeds
|
|
544
|
+
- [ ] Tests pass (or note if tests need user verification)
|
|
545
|
+
- [ ] Code follows project standards
|
|
546
|
+
- [ ] Documentation updated
|
|
547
|
+
- [ ] Commit message prepared
|
|
548
|
+
|
|
549
|
+
**检查清单输出格式**:
|
|
550
|
+
```
|
|
551
|
+
### 检查结果
|
|
552
|
+
|
|
553
|
+
✅ Build: dotnet build --no-warnings succeeded
|
|
554
|
+
✅ Code Quality: Follows project C# standards
|
|
555
|
+
⚠️ Tests: Unit tests pass, integration tests need user verification
|
|
556
|
+
✅ Documentation: XML comments added to all public methods
|
|
557
|
+
✅ Commit Message: Prepared following conventional commits format
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
### Step 3: 提示使用者确认
|
|
563
|
+
|
|
564
|
+
**AI MUST use this mandatory prompt format**:
|
|
565
|
+
|
|
566
|
+
```
|
|
567
|
+
## 请确认是否签入
|
|
568
|
+
|
|
569
|
+
已完成: [Brief description of work completed]
|
|
570
|
+
|
|
571
|
+
### 检查结果
|
|
572
|
+
✅ Item 1
|
|
573
|
+
✅ Item 2
|
|
574
|
+
⚠️ Item 3 (needs user verification)
|
|
575
|
+
✅ Item 4
|
|
576
|
+
|
|
577
|
+
建议 commit message:
|
|
578
|
+
```
|
|
579
|
+
<type>(<scope>): <description>
|
|
580
|
+
|
|
581
|
+
<detailed explanation>
|
|
582
|
+
|
|
583
|
+
<footer>
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
是否立即建立 commit?
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
---
|
|
590
|
+
|
|
591
|
+
### Step 4: 等待确认
|
|
592
|
+
|
|
593
|
+
**AI must NOT**:
|
|
594
|
+
- ❌ Automatically execute `git add`
|
|
595
|
+
- ❌ Automatically execute `git commit`
|
|
596
|
+
- ❌ Automatically execute `git push`
|
|
597
|
+
|
|
598
|
+
**AI must**:
|
|
599
|
+
- ✅ Wait for explicit user approval
|
|
600
|
+
- ✅ Provide clear checklist summary
|
|
601
|
+
- ✅ Allow user to decline or request changes
|
|
602
|
+
|
|
603
|
+
---
|
|
604
|
+
|
|
605
|
+
## 专案特定化
|
|
606
|
+
|
|
607
|
+
每个专案应透过以下方式自订此标准:
|
|
608
|
+
|
|
609
|
+
### 1. 定义建置指令
|
|
610
|
+
|
|
611
|
+
Create a `BUILD.md` or add to `CONTRIBUTING.md`:
|
|
612
|
+
```markdown
|
|
613
|
+
## Build Commands
|
|
614
|
+
|
|
615
|
+
### Development Build
|
|
616
|
+
```bash
|
|
617
|
+
npm run build:dev
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
### Production Build
|
|
621
|
+
```bash
|
|
622
|
+
npm run build:prod
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### Build with Warnings as Errors
|
|
626
|
+
```bash
|
|
627
|
+
npm run build:strict
|
|
628
|
+
```
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
---
|
|
632
|
+
|
|
633
|
+
### 2. 定义测试指令
|
|
634
|
+
|
|
635
|
+
```markdown
|
|
636
|
+
## Test Commands
|
|
637
|
+
|
|
638
|
+
### Run All Tests
|
|
639
|
+
```bash
|
|
640
|
+
npm test
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
### Run Unit Tests Only
|
|
644
|
+
```bash
|
|
645
|
+
npm run test:unit
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
### Run with Coverage
|
|
649
|
+
```bash
|
|
650
|
+
npm run test:coverage
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
### Minimum Coverage Required
|
|
654
|
+
- Line Coverage: 80%
|
|
655
|
+
- Branch Coverage: 75%
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
---
|
|
659
|
+
|
|
660
|
+
### 3. 定义品质工具
|
|
661
|
+
|
|
662
|
+
```markdown
|
|
663
|
+
## Code Quality Tools
|
|
664
|
+
|
|
665
|
+
### Linter
|
|
666
|
+
```bash
|
|
667
|
+
npm run lint
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
### Formatter
|
|
671
|
+
```bash
|
|
672
|
+
npm run format
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
### Security Audit
|
|
676
|
+
```bash
|
|
677
|
+
npm audit
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
### Acceptable Warnings
|
|
681
|
+
- ESLint `no-console` warnings in development files
|
|
682
|
+
- Deprecated dependency X (upgrading in Q2 2025)
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
### 4. 定义「完成定义」
|
|
688
|
+
|
|
689
|
+
```markdown
|
|
690
|
+
## 功能完成定义
|
|
691
|
+
|
|
692
|
+
功能完成定义:
|
|
693
|
+
1. ✅ 所有验收标准达成
|
|
694
|
+
2. ✅ 2 位团队成员已审查程序码
|
|
695
|
+
3. ✅ 已撰写测试(最低 80% 覆盖率)
|
|
696
|
+
4. ✅ 文件已更新
|
|
697
|
+
5. ✅ 已部署至测试环境
|
|
698
|
+
6. ✅ 产品负责人已核准
|
|
699
|
+
```
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
## 执行机制
|
|
704
|
+
|
|
705
|
+
### 提交前挂钩
|
|
706
|
+
|
|
707
|
+
Use Git hooks to automate checks:
|
|
708
|
+
|
|
709
|
+
```bash
|
|
710
|
+
# .git/hooks/pre-commit
|
|
711
|
+
#!/bin/sh
|
|
712
|
+
|
|
713
|
+
echo "Running pre-commit checks..."
|
|
714
|
+
|
|
715
|
+
# Build check
|
|
716
|
+
npm run build
|
|
717
|
+
if [ $? -ne 0 ]; then
|
|
718
|
+
echo "❌ Build failed. Commit rejected."
|
|
719
|
+
exit 1
|
|
720
|
+
fi
|
|
721
|
+
|
|
722
|
+
# Test check
|
|
723
|
+
npm test
|
|
724
|
+
if [ $? -ne 0 ]; then
|
|
725
|
+
echo "❌ Tests failed. Commit rejected."
|
|
726
|
+
exit 1
|
|
727
|
+
fi
|
|
728
|
+
|
|
729
|
+
# Linter check
|
|
730
|
+
npm run lint
|
|
731
|
+
if [ $? -ne 0 ]; then
|
|
732
|
+
echo "❌ Linter failed. Commit rejected."
|
|
733
|
+
exit 1
|
|
734
|
+
fi
|
|
735
|
+
|
|
736
|
+
echo "✅ All checks passed. Proceeding with commit."
|
|
737
|
+
exit 0
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
---
|
|
741
|
+
|
|
742
|
+
### CI/CD 集成
|
|
743
|
+
|
|
744
|
+
Configure CI to reject commits that fail checks:
|
|
745
|
+
|
|
746
|
+
```yaml
|
|
747
|
+
# Example: GitHub Actions
|
|
748
|
+
name: Code Quality Gate
|
|
749
|
+
|
|
750
|
+
on: [push, pull_request]
|
|
751
|
+
|
|
752
|
+
jobs:
|
|
753
|
+
quality:
|
|
754
|
+
runs-on: ubuntu-latest
|
|
755
|
+
steps:
|
|
756
|
+
- uses: actions/checkout@v4
|
|
757
|
+
|
|
758
|
+
- name: Build
|
|
759
|
+
run: npm run build
|
|
760
|
+
|
|
761
|
+
- name: Test
|
|
762
|
+
run: npm test
|
|
763
|
+
|
|
764
|
+
- name: Lint
|
|
765
|
+
run: npm run lint
|
|
766
|
+
|
|
767
|
+
- name: Security Audit
|
|
768
|
+
run: npm audit --audit-level=moderate
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
---
|
|
772
|
+
|
|
773
|
+
## 提交前目录卫生
|
|
774
|
+
|
|
775
|
+
### IDE 与工具产生档案
|
|
776
|
+
|
|
777
|
+
提交前,验证没有不需要的档案被加入暂存区:
|
|
778
|
+
|
|
779
|
+
**常见需检查的档案**:
|
|
780
|
+
|
|
781
|
+
| Pattern | Source | Action |
|
|
782
|
+
|---------|--------|--------|
|
|
783
|
+
| `.idea/` | JetBrains IDEs | Should be gitignored |
|
|
784
|
+
| `.vs/` | Visual Studio | Should be gitignored |
|
|
785
|
+
| `*.user`, `*.suo` | Visual Studio | Should be gitignored |
|
|
786
|
+
| `.vscode/` | VS Code | Usually gitignored (except shared settings) |
|
|
787
|
+
| `${workspaceFolder}/` | VS Code variable expansion error | Delete immediately |
|
|
788
|
+
| `.DS_Store` | macOS | Should be gitignored |
|
|
789
|
+
| `Thumbs.db` | Windows | Should be gitignored |
|
|
790
|
+
|
|
791
|
+
### 验证指令
|
|
792
|
+
|
|
793
|
+
```bash
|
|
794
|
+
# Check for common unwanted files in staging area
|
|
795
|
+
git diff --cached --name-only | grep -E '\.idea|\.vs/|\.user$|\.suo$|\.DS_Store|Thumbs\.db'
|
|
796
|
+
|
|
797
|
+
# Check for abnormal directories (e.g., ${workspaceFolder})
|
|
798
|
+
git ls-files | grep -E '^\$'
|
|
799
|
+
|
|
800
|
+
# If abnormal files found, unstage them
|
|
801
|
+
git reset HEAD <file>
|
|
802
|
+
|
|
803
|
+
# If abnormal directories exist but not tracked, remove them
|
|
804
|
+
rm -rf '${workspaceFolder}'
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
### 预防
|
|
808
|
+
|
|
809
|
+
Ensure your `.gitignore` includes:
|
|
810
|
+
|
|
811
|
+
```gitignore
|
|
812
|
+
# IDE
|
|
813
|
+
.idea/
|
|
814
|
+
.vs/
|
|
815
|
+
*.user
|
|
816
|
+
*.suo
|
|
817
|
+
.vscode/
|
|
818
|
+
|
|
819
|
+
# OS
|
|
820
|
+
.DS_Store
|
|
821
|
+
Thumbs.db
|
|
822
|
+
desktop.ini
|
|
823
|
+
|
|
824
|
+
# Build outputs
|
|
825
|
+
dist/
|
|
826
|
+
build/
|
|
827
|
+
bin/
|
|
828
|
+
obj/
|
|
829
|
+
node_modules/
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
---
|
|
833
|
+
|
|
834
|
+
## 常见违规与解决方案
|
|
835
|
+
|
|
836
|
+
### 违规 1: "WIP" 提交
|
|
837
|
+
|
|
838
|
+
**问题**:
|
|
839
|
+
```bash
|
|
840
|
+
git commit -m "WIP"
|
|
841
|
+
git commit -m "save work"
|
|
842
|
+
git commit -m "trying stuff"
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
**为何不好**:
|
|
846
|
+
- No clear purpose
|
|
847
|
+
- Likely contains broken code
|
|
848
|
+
- Pollutes git history
|
|
849
|
+
|
|
850
|
+
**解决方案**:
|
|
851
|
+
- Use `git stash` for temporary saves
|
|
852
|
+
- Only commit when work is complete
|
|
853
|
+
- Squash WIP commits before merging
|
|
854
|
+
|
|
855
|
+
---
|
|
856
|
+
|
|
857
|
+
### 违规 2: 提交注解程序码
|
|
858
|
+
|
|
859
|
+
**问题**:
|
|
860
|
+
```javascript
|
|
861
|
+
function calculateTotal(items) {
|
|
862
|
+
// Old implementation
|
|
863
|
+
// return items.reduce((sum, item) => sum + item.price, 0);
|
|
864
|
+
|
|
865
|
+
// New implementation
|
|
866
|
+
return items.reduce((sum, item) => sum + item.price * item.quantity, 0);
|
|
867
|
+
}
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
**为何不好**:
|
|
871
|
+
- Clutters codebase
|
|
872
|
+
- Git history already preserves old code
|
|
873
|
+
- Confuses future developers
|
|
874
|
+
|
|
875
|
+
**解决方案**:
|
|
876
|
+
- Delete commented code
|
|
877
|
+
- Rely on git history for old versions
|
|
878
|
+
- Add commit message explaining what changed
|
|
879
|
+
|
|
880
|
+
---
|
|
881
|
+
|
|
882
|
+
### 违规 3: 混合关注点
|
|
883
|
+
|
|
884
|
+
**问题**:
|
|
885
|
+
```bash
|
|
886
|
+
git commit -m "fix bug and refactor and add feature"
|
|
887
|
+
```
|
|
888
|
+
One commit contains:
|
|
889
|
+
- Bug fix in module A
|
|
890
|
+
- Refactoring in module B
|
|
891
|
+
- New feature in module C
|
|
892
|
+
|
|
893
|
+
**为何不好**:
|
|
894
|
+
- Hard to review
|
|
895
|
+
- Can't cherry-pick specific changes
|
|
896
|
+
- Difficult to revert
|
|
897
|
+
|
|
898
|
+
**解决方案**:
|
|
899
|
+
Separate into multiple commits:
|
|
900
|
+
```bash
|
|
901
|
+
git commit -m "fix(module-a): resolve null pointer error"
|
|
902
|
+
git commit -m "refactor(module-b): extract validation logic"
|
|
903
|
+
git commit -m "feat(module-c): add export to CSV feature"
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
---
|
|
907
|
+
|
|
908
|
+
## 版本历史
|
|
909
|
+
|
|
910
|
+
| 版本 | 日期 | 变更 |
|
|
911
|
+
|---------|------|---------|
|
|
912
|
+
| 1.3.0 | 2026-01-05 | 新增:SWEBOK v4.0 第 6 章(软体配置管理)至参考资料 |
|
|
913
|
+
| 1.2.5 | 2025-12-16 | Clarified: CHANGELOG update is for user-facing changes only, added to [Unreleased] section |
|
|
914
|
+
| 1.2.4 | 2025-12-11 | Added: Pre-commit directory hygiene section (IDE artifacts, verification commands) |
|
|
915
|
+
| 1.2.3 | 2025-12-05 | Added: Reference to testing-standards.md |
|
|
916
|
+
| 1.2.2 | 2025-12-04 | Updated: GitHub Actions checkout to v4 |
|
|
917
|
+
| 1.2.1 | 2025-12-04 | Added: Cross-reference to versioning.md CHANGELOG exclusion rules |
|
|
918
|
+
| 1.2.0 | 2025-11-28 | Added: Commit granularity guidelines, collaboration scenarios, check-in trigger points, special scenarios (emergency leave, experimental dev, hotfix) |
|
|
919
|
+
| 1.0.0 | 2025-11-12 | Initial standard published |
|
|
920
|
+
|
|
921
|
+
---
|
|
922
|
+
|
|
923
|
+
## 相关标准
|
|
924
|
+
|
|
925
|
+
- [专案结构标准](project-structure.md)
|
|
926
|
+
- [测试标准](testing-standards.md)(或使用 `/testing-guide` 技能)
|
|
927
|
+
- [Commit 讯息规范](commit-message-guide.md)
|
|
928
|
+
- [程序码审查清单](code-review-checklist.md)
|
|
929
|
+
|
|
930
|
+
---
|
|
931
|
+
|
|
932
|
+
## 参考资料
|
|
933
|
+
|
|
934
|
+
- [Conventional Commits](https://www.conventionalcommits.org/)
|
|
935
|
+
- [The Art of the Commit](https://alistapart.com/article/the-art-of-the-commit/)
|
|
936
|
+
- [Git Best Practices](https://sethrobertson.github.io/GitBestPractices/)
|
|
937
|
+
- [SWEBOK v4.0 - 第 6 章:软体配置管理](https://www.computer.org/education/bodies-of-knowledge/software-engineering) - IEEE Computer Society
|
|
938
|
+
|
|
939
|
+
---
|
|
940
|
+
|
|
941
|
+
## 授权
|
|
942
|
+
|
|
943
|
+
本标准以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权发布。
|