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,935 @@
|
|
|
1
|
+
# Code Check-in Standards
|
|
2
|
+
|
|
3
|
+
> **Language**: English | [繁體中文](../locales/zh-TW/core/checkin-standards.md)
|
|
4
|
+
|
|
5
|
+
**Version**: 1.3.0
|
|
6
|
+
**Last Updated**: 2026-01-05
|
|
7
|
+
**Applicability**: All software projects using version control
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This standard defines quality gates that MUST be passed before committing code to version control. It ensures every commit maintains codebase stability and quality.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Core Philosophy
|
|
18
|
+
|
|
19
|
+
**Every commit should**:
|
|
20
|
+
- ✅ Be a complete logical unit of work
|
|
21
|
+
- ✅ Leave the codebase in a working state
|
|
22
|
+
- ✅ Be reversible without breaking functionality
|
|
23
|
+
- ✅ Contain its own tests (for new features)
|
|
24
|
+
- ✅ Be understandable to future developers
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Mandatory Checklist
|
|
29
|
+
|
|
30
|
+
### 1. Build Verification
|
|
31
|
+
|
|
32
|
+
- [ ] **Code compiles successfully**
|
|
33
|
+
- Zero build errors
|
|
34
|
+
- Zero build warnings (or documented exceptions)
|
|
35
|
+
|
|
36
|
+
- [ ] **Dependencies are satisfied**
|
|
37
|
+
- All package dependencies installed
|
|
38
|
+
- Dependency versions locked/documented
|
|
39
|
+
- No missing imports or modules
|
|
40
|
+
|
|
41
|
+
**Project-Specific Build Commands**:
|
|
42
|
+
```bash
|
|
43
|
+
# Example: .NET project
|
|
44
|
+
dotnet build --configuration Release --warnaserror
|
|
45
|
+
|
|
46
|
+
# Example: Node.js project
|
|
47
|
+
npm install && npm run build
|
|
48
|
+
|
|
49
|
+
# Example: Python project
|
|
50
|
+
pip install -r requirements.txt && python -m py_compile src/**/*.py
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Verification**:
|
|
54
|
+
- Run the build command locally before committing
|
|
55
|
+
- Ensure exit code is 0 (success)
|
|
56
|
+
- Check build output for warnings
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### 2. Test Verification
|
|
61
|
+
|
|
62
|
+
- [ ] **All existing tests pass**
|
|
63
|
+
- Unit tests: 100% pass rate
|
|
64
|
+
- Integration tests: 100% pass rate
|
|
65
|
+
- End-to-end tests (if applicable): 100% pass rate
|
|
66
|
+
|
|
67
|
+
- [ ] **New code is tested**
|
|
68
|
+
- New features have corresponding tests
|
|
69
|
+
- Bug fixes include regression tests
|
|
70
|
+
- Edge cases are covered
|
|
71
|
+
|
|
72
|
+
- [ ] **Test coverage maintained or improved**
|
|
73
|
+
- Coverage percentage not decreased
|
|
74
|
+
- Critical paths are tested
|
|
75
|
+
|
|
76
|
+
**Project-Specific Test Commands**:
|
|
77
|
+
```bash
|
|
78
|
+
# Example: .NET project
|
|
79
|
+
dotnet test --no-build --verbosity normal
|
|
80
|
+
|
|
81
|
+
# Example: Node.js project with Jest
|
|
82
|
+
npm test -- --coverage
|
|
83
|
+
|
|
84
|
+
# Example: Python project with pytest
|
|
85
|
+
pytest --cov=src tests/
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Verification**:
|
|
89
|
+
- Run all test suites locally
|
|
90
|
+
- Review test coverage report
|
|
91
|
+
- Ensure new code paths are tested
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### 3. Code Quality
|
|
96
|
+
|
|
97
|
+
- [ ] **Follows coding standards**
|
|
98
|
+
- Naming conventions adhered to
|
|
99
|
+
- Code formatting consistent
|
|
100
|
+
- Comments/documentation present
|
|
101
|
+
|
|
102
|
+
- [ ] **No code smells**
|
|
103
|
+
- Methods ≤50 lines (or project standard)
|
|
104
|
+
- Nesting depth ≤3 levels
|
|
105
|
+
- Cyclomatic complexity ≤10
|
|
106
|
+
- No duplicated code blocks
|
|
107
|
+
|
|
108
|
+
- [ ] **Security checked**
|
|
109
|
+
- No hardcoded secrets (passwords, API keys)
|
|
110
|
+
- No SQL injection vulnerabilities
|
|
111
|
+
- No XSS vulnerabilities
|
|
112
|
+
- No insecure dependencies
|
|
113
|
+
|
|
114
|
+
**Project-Specific Quality Tools**:
|
|
115
|
+
```bash
|
|
116
|
+
# Example: ESLint for JavaScript
|
|
117
|
+
npx eslint src/
|
|
118
|
+
|
|
119
|
+
# Example: Pylint for Python
|
|
120
|
+
pylint src/
|
|
121
|
+
|
|
122
|
+
# Example: ReSharper for C#
|
|
123
|
+
dotnet tool run jb inspectcode ProjectName.sln
|
|
124
|
+
|
|
125
|
+
# Example: Security scanner
|
|
126
|
+
npm audit
|
|
127
|
+
pip-audit
|
|
128
|
+
dotnet list package --vulnerable
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Verification**:
|
|
132
|
+
- Run linter/formatter tools
|
|
133
|
+
- Review static analysis reports
|
|
134
|
+
- Check for security warnings
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### 4. Documentation
|
|
139
|
+
|
|
140
|
+
- [ ] **API documentation updated**
|
|
141
|
+
- Public APIs have doc comments
|
|
142
|
+
- Parameter descriptions complete
|
|
143
|
+
- Return value documented
|
|
144
|
+
- Exceptions documented
|
|
145
|
+
|
|
146
|
+
- [ ] **README updated (if needed)**
|
|
147
|
+
- New features documented
|
|
148
|
+
- Breaking changes noted
|
|
149
|
+
- Setup instructions current
|
|
150
|
+
|
|
151
|
+
- [ ] **CHANGELOG updated (if applicable)**
|
|
152
|
+
- For user-facing changes: entry added to `[Unreleased]` section
|
|
153
|
+
- Breaking changes marked with **BREAKING** prefix
|
|
154
|
+
- Follow exclusion rules in [versioning.md](versioning.md) and [changelog-standards.md](changelog-standards.md)
|
|
155
|
+
- Note: Internal refactoring, test-only, docs-only changes typically don't need CHANGELOG entries
|
|
156
|
+
|
|
157
|
+
**Documentation Formats**:
|
|
158
|
+
```
|
|
159
|
+
// Example: C# XML documentation
|
|
160
|
+
/// <summary>
|
|
161
|
+
/// Validates user credentials and returns authentication token
|
|
162
|
+
/// </summary>
|
|
163
|
+
/// <param name="username">User login name</param>
|
|
164
|
+
/// <param name="password">User password</param>
|
|
165
|
+
/// <returns>JWT token if valid, null otherwise</returns>
|
|
166
|
+
/// <exception cref="ArgumentNullException">If username or password is null</exception>
|
|
167
|
+
public string Authenticate(string username, string password)
|
|
168
|
+
|
|
169
|
+
// Example: Python docstring
|
|
170
|
+
def authenticate(username: str, password: str) -> Optional[str]:
|
|
171
|
+
"""
|
|
172
|
+
Validates user credentials and returns authentication token.
|
|
173
|
+
|
|
174
|
+
Args:
|
|
175
|
+
username: User login name
|
|
176
|
+
password: User password
|
|
177
|
+
|
|
178
|
+
Returns:
|
|
179
|
+
JWT token if valid, None otherwise
|
|
180
|
+
|
|
181
|
+
Raises:
|
|
182
|
+
ValueError: If username or password is empty
|
|
183
|
+
"""
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### 5. Workflow Compliance
|
|
189
|
+
|
|
190
|
+
- [ ] **Branch naming correct**
|
|
191
|
+
- Follows project convention (e.g., `feature/`, `fix/`)
|
|
192
|
+
- Descriptive name used
|
|
193
|
+
|
|
194
|
+
- [ ] **Commit message formatted**
|
|
195
|
+
- Follows conventional commits or project standard
|
|
196
|
+
- Clear and descriptive
|
|
197
|
+
|
|
198
|
+
- [ ] **Synchronized with target branch**
|
|
199
|
+
- Merged latest changes from target branch
|
|
200
|
+
- No merge conflicts
|
|
201
|
+
- Rebase completed (if rebasing workflow)
|
|
202
|
+
|
|
203
|
+
**Verification**:
|
|
204
|
+
```bash
|
|
205
|
+
# Check branch name
|
|
206
|
+
git branch --show-current
|
|
207
|
+
|
|
208
|
+
# Sync with target branch (example: develop)
|
|
209
|
+
git fetch origin
|
|
210
|
+
git merge origin/develop
|
|
211
|
+
# OR
|
|
212
|
+
git rebase origin/develop
|
|
213
|
+
|
|
214
|
+
# Verify no conflicts
|
|
215
|
+
git status
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Check-in Timing Guidelines
|
|
221
|
+
|
|
222
|
+
### ✅ Appropriate Times to Commit
|
|
223
|
+
|
|
224
|
+
1. **Completed Functional Unit**
|
|
225
|
+
- Feature fully implemented
|
|
226
|
+
- Tests written and passing
|
|
227
|
+
- Documentation updated
|
|
228
|
+
|
|
229
|
+
2. **Specific Bug Fixed**
|
|
230
|
+
- Bug reproduced and fixed
|
|
231
|
+
- Regression test added
|
|
232
|
+
- Verified fix works
|
|
233
|
+
|
|
234
|
+
3. **Independent Refactor**
|
|
235
|
+
- Refactoring complete
|
|
236
|
+
- No functional changes
|
|
237
|
+
- All tests still pass
|
|
238
|
+
|
|
239
|
+
4. **Runnable State**
|
|
240
|
+
- Code compiles without errors
|
|
241
|
+
- Application can run/start
|
|
242
|
+
- Core functionality not broken
|
|
243
|
+
|
|
244
|
+
**Example Scenarios**:
|
|
245
|
+
```
|
|
246
|
+
✅ GOOD: "feat(auth): add OAuth2 Google login support"
|
|
247
|
+
- OAuth flow implemented
|
|
248
|
+
- Tests for happy path and errors
|
|
249
|
+
- README updated with setup instructions
|
|
250
|
+
- All existing tests pass
|
|
251
|
+
|
|
252
|
+
✅ GOOD: "fix(api): resolve memory leak in user session cache"
|
|
253
|
+
- Memory leak identified and fixed
|
|
254
|
+
- Regression test added
|
|
255
|
+
- Load test shows leak resolved
|
|
256
|
+
|
|
257
|
+
✅ GOOD: "refactor(service): extract email validation to helper"
|
|
258
|
+
- Email validation logic extracted
|
|
259
|
+
- All call sites updated
|
|
260
|
+
- Tests confirm identical behavior
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Commit Granularity Guidelines
|
|
266
|
+
|
|
267
|
+
### Ideal Commit Size
|
|
268
|
+
|
|
269
|
+
| Metric | Recommended | Description |
|
|
270
|
+
|--------|-------------|-------------|
|
|
271
|
+
| File Count | 1-10 files | Consider splitting if >10 files |
|
|
272
|
+
| Lines Changed | 50-300 lines | Too large is hard to review, too small lacks meaning |
|
|
273
|
+
| Scope | Single concern | One commit does one thing |
|
|
274
|
+
|
|
275
|
+
### Splitting Principles
|
|
276
|
+
|
|
277
|
+
**Should be combined into one commit**:
|
|
278
|
+
- Feature implementation + corresponding tests
|
|
279
|
+
- Tightly related multi-file changes
|
|
280
|
+
|
|
281
|
+
**Should be separate commits**:
|
|
282
|
+
- Feature A + Feature B → separate
|
|
283
|
+
- Refactoring + new feature → separate
|
|
284
|
+
- Bug fix + incidental refactoring → separate
|
|
285
|
+
|
|
286
|
+
### Frequency Recommendations
|
|
287
|
+
|
|
288
|
+
| Scenario | Recommended Frequency |
|
|
289
|
+
|----------|----------------------|
|
|
290
|
+
| Feature Development | Commit after each testable sub-feature |
|
|
291
|
+
| Bug Fix | Commit after each independent bug is fixed |
|
|
292
|
+
| Refactoring | Commit after each safe refactoring step (keep tests passing) |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Collaboration Scenarios
|
|
297
|
+
|
|
298
|
+
### Multiple Developers on Same Feature
|
|
299
|
+
|
|
300
|
+
When multiple developers work on the same feature (e.g., frontend/backend split):
|
|
301
|
+
|
|
302
|
+
1. **Branch Strategy**: Create sub-branches from feature branch
|
|
303
|
+
```
|
|
304
|
+
feature/order-book
|
|
305
|
+
├── feature/order-book-api (Developer A)
|
|
306
|
+
└── feature/order-book-ui (Developer B)
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
2. **Check-in Rhythm**:
|
|
310
|
+
- Commit and push after each integrable unit
|
|
311
|
+
- Frequently sync with main feature branch to reduce conflicts
|
|
312
|
+
|
|
313
|
+
3. **Integration Points**:
|
|
314
|
+
- Define clear interfaces/contracts
|
|
315
|
+
- Commit interface definitions first, then implement separately
|
|
316
|
+
|
|
317
|
+
### Before and After Code Review
|
|
318
|
+
|
|
319
|
+
**Before Review**:
|
|
320
|
+
- Ensure all commits are complete logical units
|
|
321
|
+
- Clean up commit history (squash WIP commits)
|
|
322
|
+
- Write clear PR description
|
|
323
|
+
|
|
324
|
+
**After Review**:
|
|
325
|
+
- After making changes based on review feedback, add new commit (don't amend already pushed commits)
|
|
326
|
+
- Commit message can note: `fix(auth): adjust error handling per review feedback`
|
|
327
|
+
|
|
328
|
+
### Conflict Avoidance Strategies
|
|
329
|
+
|
|
330
|
+
1. **Small batches, high frequency**: Small commits are easier to merge than large ones
|
|
331
|
+
2. **Frequent sync**: At least once daily `git pull origin main`
|
|
332
|
+
3. **Avoid long-lived branches**: Feature branch lifecycle should not exceed 1-2 weeks
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Check-in Trigger Points
|
|
337
|
+
|
|
338
|
+
### Automatic Trigger Timing
|
|
339
|
+
|
|
340
|
+
During development workflow execution, the following events should trigger check-in reminders:
|
|
341
|
+
|
|
342
|
+
| Trigger | Condition | Reminder Intensity |
|
|
343
|
+
|---------|-----------|-------------------|
|
|
344
|
+
| Phase Complete | Completed a development phase | Suggest |
|
|
345
|
+
| Checkpoint | Reached a defined checkpoint | Suggest |
|
|
346
|
+
| Change Accumulation | Files ≥5 or lines ≥200 | Suggest |
|
|
347
|
+
| Consecutive Skips | Skipped check-in 3 times | Warning |
|
|
348
|
+
| Work Complete | Uncommitted changes before finishing | Strongly Recommend |
|
|
349
|
+
|
|
350
|
+
### Reminder Behavior
|
|
351
|
+
|
|
352
|
+
- **Advisory nature**: User can choose to skip and continue working
|
|
353
|
+
- **Non-blocking**: After choosing "later", automatically continue to next stage
|
|
354
|
+
- **Manual execution**: AI only displays git commands, **must not auto-execute** git add/commit
|
|
355
|
+
|
|
356
|
+
### Reminder Format
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
┌────────────────────────────────────────────────┐
|
|
360
|
+
│ 🔔 Check-in Checkpoint │
|
|
361
|
+
├────────────────────────────────────────────────┤
|
|
362
|
+
│ Phase 1 completed │
|
|
363
|
+
│ │
|
|
364
|
+
│ Change Statistics: │
|
|
365
|
+
│ - Files: 5 │
|
|
366
|
+
│ - Added: 180 lines │
|
|
367
|
+
│ - Deleted: 12 lines │
|
|
368
|
+
│ │
|
|
369
|
+
│ Test Status: ✅ Passed │
|
|
370
|
+
│ │
|
|
371
|
+
│ Suggested commit message: │
|
|
372
|
+
│ feat(module): complete Phase 1 Setup │
|
|
373
|
+
│ │
|
|
374
|
+
│ Options: │
|
|
375
|
+
│ [1] Commit now (will show git commands) │
|
|
376
|
+
│ [2] Commit later, continue to next Phase │
|
|
377
|
+
│ [3] View detailed changes │
|
|
378
|
+
└────────────────────────────────────────────────┘
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Skip Tracking
|
|
382
|
+
|
|
383
|
+
When user chooses "commit later":
|
|
384
|
+
|
|
385
|
+
1. **Record skip count**
|
|
386
|
+
2. **After 3 consecutive skips** → Display warning:
|
|
387
|
+
```
|
|
388
|
+
⚠️ Warning: You have skipped check-in 3 times consecutively
|
|
389
|
+
Current accumulated changes: 15 files, +520 lines
|
|
390
|
+
Recommend committing soon to avoid changes becoming too large to review
|
|
391
|
+
```
|
|
392
|
+
3. **Before work completion** → If uncommitted changes exist, strongly recommend check-in
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## Special Scenarios
|
|
397
|
+
|
|
398
|
+
### Emergency Leave (End of Day)
|
|
399
|
+
|
|
400
|
+
When you need to leave temporarily with work incomplete:
|
|
401
|
+
|
|
402
|
+
**Option 1: Git Stash (Recommended)**
|
|
403
|
+
```bash
|
|
404
|
+
# Stash incomplete work
|
|
405
|
+
git stash save "WIP: matching engine - pending price validation"
|
|
406
|
+
|
|
407
|
+
# Resume next day
|
|
408
|
+
git stash pop
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
**Option 2: WIP Branch**
|
|
412
|
+
```bash
|
|
413
|
+
# Create temporary branch
|
|
414
|
+
git checkout -b wip/order-matching-temp
|
|
415
|
+
git add .
|
|
416
|
+
git commit -m "WIP: matching engine progress save (do not merge)"
|
|
417
|
+
|
|
418
|
+
# Return to main branch next day
|
|
419
|
+
git checkout feature/order-matching
|
|
420
|
+
git cherry-pick <wip-commit>
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
⚠️ **Prohibited**: Committing WIP code directly on feature branch
|
|
424
|
+
|
|
425
|
+
### Experimental Development
|
|
426
|
+
|
|
427
|
+
When doing technical exploration or POC:
|
|
428
|
+
|
|
429
|
+
1. **Create experiment branch**
|
|
430
|
+
```bash
|
|
431
|
+
git checkout -b experiment/redis-stream-poc
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
2. **Free commits during experiment** (no strict format required)
|
|
435
|
+
|
|
436
|
+
3. **After experiment succeeds**:
|
|
437
|
+
- Clean up commit history
|
|
438
|
+
- Squash into meaningful commits
|
|
439
|
+
- Merge to feature branch
|
|
440
|
+
|
|
441
|
+
4. **After experiment fails**:
|
|
442
|
+
- Document lessons learned (optional)
|
|
443
|
+
- Delete experiment branch
|
|
444
|
+
|
|
445
|
+
### Hotfix
|
|
446
|
+
|
|
447
|
+
For production emergency issues:
|
|
448
|
+
|
|
449
|
+
1. **Create hotfix branch from main**
|
|
450
|
+
```bash
|
|
451
|
+
git checkout main
|
|
452
|
+
git checkout -b hotfix/critical-null-pointer
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
2. **Minimize changes**: Only fix the problem, no additional refactoring
|
|
456
|
+
|
|
457
|
+
3. **Quick verification**: Ensure tests pass
|
|
458
|
+
|
|
459
|
+
4. **Mark urgency in commit message**:
|
|
460
|
+
```
|
|
461
|
+
fix(matching): [URGENT] fix null pointer causing match failures
|
|
462
|
+
|
|
463
|
+
- Issue: Market orders missing price field causes NullPointerException
|
|
464
|
+
- Impact: All market orders cannot be matched
|
|
465
|
+
- Fix: Add null check and default value handling
|
|
466
|
+
|
|
467
|
+
Fixes #456
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
### ❌ Inappropriate Times to Commit
|
|
473
|
+
|
|
474
|
+
1. **Build Failures**
|
|
475
|
+
- Compilation errors present
|
|
476
|
+
- Unresolved dependencies
|
|
477
|
+
|
|
478
|
+
2. **Test Failures**
|
|
479
|
+
- One or more tests failing
|
|
480
|
+
- Tests not yet written for new code
|
|
481
|
+
|
|
482
|
+
3. **Incomplete Features**
|
|
483
|
+
- Feature partially implemented
|
|
484
|
+
- Would break existing functionality
|
|
485
|
+
- Missing critical components
|
|
486
|
+
|
|
487
|
+
4. **Experimental Code**
|
|
488
|
+
- TODO comments scattered
|
|
489
|
+
- Debugging code left in
|
|
490
|
+
- Commented-out code blocks
|
|
491
|
+
|
|
492
|
+
**Example Scenarios**:
|
|
493
|
+
```
|
|
494
|
+
❌ BAD: "WIP: trying to fix login"
|
|
495
|
+
- Build has errors
|
|
496
|
+
- Tests fail
|
|
497
|
+
- Unclear what was attempted
|
|
498
|
+
|
|
499
|
+
❌ BAD: "feat(api): new endpoint (incomplete)"
|
|
500
|
+
- Endpoint returns hardcoded data
|
|
501
|
+
- No validation implemented
|
|
502
|
+
- Tests say "TODO: write tests"
|
|
503
|
+
|
|
504
|
+
❌ BAD: "refactor: experimenting with new structure"
|
|
505
|
+
- Half the files moved
|
|
506
|
+
- Old code commented out instead of deleted
|
|
507
|
+
- Multiple TODOs in code
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## AI Assistant Integration
|
|
513
|
+
|
|
514
|
+
When AI assistants complete code changes, they MUST follow this workflow:
|
|
515
|
+
|
|
516
|
+
### Step 1: Evaluate Check-in Timing
|
|
517
|
+
|
|
518
|
+
**AI must assess**:
|
|
519
|
+
- Is this a complete logical unit?
|
|
520
|
+
- Is the codebase in a working state?
|
|
521
|
+
- Are there incomplete TODOs?
|
|
522
|
+
|
|
523
|
+
**Example Assessment**:
|
|
524
|
+
```
|
|
525
|
+
✅ Complete: "Implemented user registration with validation, tests, and docs"
|
|
526
|
+
⚠️ Incomplete: "Added registration form but backend validation pending"
|
|
527
|
+
❌ Not Ready: "Started working on registration, several TODOs remain"
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
---
|
|
531
|
+
|
|
532
|
+
### Step 2: Run Checklist
|
|
533
|
+
|
|
534
|
+
**AI must verify**:
|
|
535
|
+
- [ ] Build command succeeds
|
|
536
|
+
- [ ] Tests pass (or note if tests need user verification)
|
|
537
|
+
- [ ] Code follows project standards
|
|
538
|
+
- [ ] Documentation updated
|
|
539
|
+
- [ ] Commit message prepared
|
|
540
|
+
|
|
541
|
+
**Checklist Output Format**:
|
|
542
|
+
```
|
|
543
|
+
### Checklist Results
|
|
544
|
+
|
|
545
|
+
✅ Build: dotnet build --no-warnings succeeded
|
|
546
|
+
✅ Code Quality: Follows project C# standards
|
|
547
|
+
⚠️ Tests: Unit tests pass, integration tests need user verification
|
|
548
|
+
✅ Documentation: XML comments added to all public methods
|
|
549
|
+
✅ Commit Message: Prepared following conventional commits format
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
---
|
|
553
|
+
|
|
554
|
+
### Step 3: Prompt User for Confirmation
|
|
555
|
+
|
|
556
|
+
**AI MUST use this mandatory prompt format**:
|
|
557
|
+
|
|
558
|
+
```
|
|
559
|
+
## Please Confirm Check-in
|
|
560
|
+
|
|
561
|
+
Completed: [Brief description of work completed]
|
|
562
|
+
|
|
563
|
+
### Checklist Results
|
|
564
|
+
✅ Item 1
|
|
565
|
+
✅ Item 2
|
|
566
|
+
⚠️ Item 3 (needs user verification)
|
|
567
|
+
✅ Item 4
|
|
568
|
+
|
|
569
|
+
Suggested commit message:
|
|
570
|
+
```
|
|
571
|
+
<type>(<scope>): <description>
|
|
572
|
+
|
|
573
|
+
<detailed explanation>
|
|
574
|
+
|
|
575
|
+
<footer>
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
Proceed with commit now?
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
---
|
|
582
|
+
|
|
583
|
+
### Step 4: Wait for Confirmation
|
|
584
|
+
|
|
585
|
+
**AI must NOT**:
|
|
586
|
+
- ❌ Automatically execute `git add`
|
|
587
|
+
- ❌ Automatically execute `git commit`
|
|
588
|
+
- ❌ Automatically execute `git push`
|
|
589
|
+
|
|
590
|
+
**AI must**:
|
|
591
|
+
- ✅ Wait for explicit user approval
|
|
592
|
+
- ✅ Provide clear checklist summary
|
|
593
|
+
- ✅ Allow user to decline or request changes
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
## Project-Specific Customization
|
|
598
|
+
|
|
599
|
+
Each project should customize this standard by:
|
|
600
|
+
|
|
601
|
+
### 1. Define Build Commands
|
|
602
|
+
|
|
603
|
+
Create a `BUILD.md` or add to `CONTRIBUTING.md`:
|
|
604
|
+
```markdown
|
|
605
|
+
## Build Commands
|
|
606
|
+
|
|
607
|
+
### Development Build
|
|
608
|
+
```bash
|
|
609
|
+
npm run build:dev
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
### Production Build
|
|
613
|
+
```bash
|
|
614
|
+
npm run build:prod
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
### Build with Warnings as Errors
|
|
618
|
+
```bash
|
|
619
|
+
npm run build:strict
|
|
620
|
+
```
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
---
|
|
624
|
+
|
|
625
|
+
### 2. Define Test Commands
|
|
626
|
+
|
|
627
|
+
```markdown
|
|
628
|
+
## Test Commands
|
|
629
|
+
|
|
630
|
+
### Run All Tests
|
|
631
|
+
```bash
|
|
632
|
+
npm test
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
### Run Unit Tests Only
|
|
636
|
+
```bash
|
|
637
|
+
npm run test:unit
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
### Run with Coverage
|
|
641
|
+
```bash
|
|
642
|
+
npm run test:coverage
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
### Minimum Coverage Required
|
|
646
|
+
- Line Coverage: 80%
|
|
647
|
+
- Branch Coverage: 75%
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
---
|
|
651
|
+
|
|
652
|
+
### 3. Define Quality Tools
|
|
653
|
+
|
|
654
|
+
```markdown
|
|
655
|
+
## Code Quality Tools
|
|
656
|
+
|
|
657
|
+
### Linter
|
|
658
|
+
```bash
|
|
659
|
+
npm run lint
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
### Formatter
|
|
663
|
+
```bash
|
|
664
|
+
npm run format
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
### Security Audit
|
|
668
|
+
```bash
|
|
669
|
+
npm audit
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
### Acceptable Warnings
|
|
673
|
+
- ESLint `no-console` warnings in development files
|
|
674
|
+
- Deprecated dependency X (upgrading in Q2 2025)
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
---
|
|
678
|
+
|
|
679
|
+
### 4. Define "Definition of Done"
|
|
680
|
+
|
|
681
|
+
```markdown
|
|
682
|
+
## Definition of Done
|
|
683
|
+
|
|
684
|
+
A feature is considered "done" when:
|
|
685
|
+
1. ✅ All acceptance criteria met
|
|
686
|
+
2. ✅ Code reviewed by 2 team members
|
|
687
|
+
3. ✅ Tests written (min 80% coverage)
|
|
688
|
+
4. ✅ Documentation updated
|
|
689
|
+
5. ✅ Deployed to staging environment
|
|
690
|
+
6. ✅ Product owner approved
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
---
|
|
694
|
+
|
|
695
|
+
## Enforcement Mechanisms
|
|
696
|
+
|
|
697
|
+
### Pre-commit Hooks
|
|
698
|
+
|
|
699
|
+
Use Git hooks to automate checks:
|
|
700
|
+
|
|
701
|
+
```bash
|
|
702
|
+
# .git/hooks/pre-commit
|
|
703
|
+
#!/bin/sh
|
|
704
|
+
|
|
705
|
+
echo "Running pre-commit checks..."
|
|
706
|
+
|
|
707
|
+
# Build check
|
|
708
|
+
npm run build
|
|
709
|
+
if [ $? -ne 0 ]; then
|
|
710
|
+
echo "❌ Build failed. Commit rejected."
|
|
711
|
+
exit 1
|
|
712
|
+
fi
|
|
713
|
+
|
|
714
|
+
# Test check
|
|
715
|
+
npm test
|
|
716
|
+
if [ $? -ne 0 ]; then
|
|
717
|
+
echo "❌ Tests failed. Commit rejected."
|
|
718
|
+
exit 1
|
|
719
|
+
fi
|
|
720
|
+
|
|
721
|
+
# Linter check
|
|
722
|
+
npm run lint
|
|
723
|
+
if [ $? -ne 0 ]; then
|
|
724
|
+
echo "❌ Linter failed. Commit rejected."
|
|
725
|
+
exit 1
|
|
726
|
+
fi
|
|
727
|
+
|
|
728
|
+
echo "✅ All checks passed. Proceeding with commit."
|
|
729
|
+
exit 0
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
---
|
|
733
|
+
|
|
734
|
+
### CI/CD Integration
|
|
735
|
+
|
|
736
|
+
Configure CI to reject commits that fail checks:
|
|
737
|
+
|
|
738
|
+
```yaml
|
|
739
|
+
# Example: GitHub Actions
|
|
740
|
+
name: Code Quality Gate
|
|
741
|
+
|
|
742
|
+
on: [push, pull_request]
|
|
743
|
+
|
|
744
|
+
jobs:
|
|
745
|
+
quality:
|
|
746
|
+
runs-on: ubuntu-latest
|
|
747
|
+
steps:
|
|
748
|
+
- uses: actions/checkout@v4
|
|
749
|
+
|
|
750
|
+
- name: Build
|
|
751
|
+
run: npm run build
|
|
752
|
+
|
|
753
|
+
- name: Test
|
|
754
|
+
run: npm test
|
|
755
|
+
|
|
756
|
+
- name: Lint
|
|
757
|
+
run: npm run lint
|
|
758
|
+
|
|
759
|
+
- name: Security Audit
|
|
760
|
+
run: npm audit --audit-level=moderate
|
|
761
|
+
```
|
|
762
|
+
|
|
763
|
+
---
|
|
764
|
+
|
|
765
|
+
## Pre-commit Directory Hygiene
|
|
766
|
+
|
|
767
|
+
### IDE and Tool Artifacts
|
|
768
|
+
|
|
769
|
+
Before committing, verify no unwanted files are staged:
|
|
770
|
+
|
|
771
|
+
**Common Artifacts to Check**:
|
|
772
|
+
|
|
773
|
+
| Pattern | Source | Action |
|
|
774
|
+
|---------|--------|--------|
|
|
775
|
+
| `.idea/` | JetBrains IDEs | Should be gitignored |
|
|
776
|
+
| `.vs/` | Visual Studio | Should be gitignored |
|
|
777
|
+
| `*.user`, `*.suo` | Visual Studio | Should be gitignored |
|
|
778
|
+
| `.vscode/` | VS Code | Usually gitignored (except shared settings) |
|
|
779
|
+
| `${workspaceFolder}/` | VS Code variable expansion error | Delete immediately |
|
|
780
|
+
| `.DS_Store` | macOS | Should be gitignored |
|
|
781
|
+
| `Thumbs.db` | Windows | Should be gitignored |
|
|
782
|
+
|
|
783
|
+
### Verification Commands
|
|
784
|
+
|
|
785
|
+
```bash
|
|
786
|
+
# Check for common unwanted files in staging area
|
|
787
|
+
git diff --cached --name-only | grep -E '\.idea|\.vs/|\.user$|\.suo$|\.DS_Store|Thumbs\.db'
|
|
788
|
+
|
|
789
|
+
# Check for abnormal directories (e.g., ${workspaceFolder})
|
|
790
|
+
git ls-files | grep -E '^\$'
|
|
791
|
+
|
|
792
|
+
# If abnormal files found, unstage them
|
|
793
|
+
git reset HEAD <file>
|
|
794
|
+
|
|
795
|
+
# If abnormal directories exist but not tracked, remove them
|
|
796
|
+
rm -rf '${workspaceFolder}'
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
### Prevention
|
|
800
|
+
|
|
801
|
+
Ensure your `.gitignore` includes:
|
|
802
|
+
|
|
803
|
+
```gitignore
|
|
804
|
+
# IDE
|
|
805
|
+
.idea/
|
|
806
|
+
.vs/
|
|
807
|
+
*.user
|
|
808
|
+
*.suo
|
|
809
|
+
.vscode/
|
|
810
|
+
|
|
811
|
+
# OS
|
|
812
|
+
.DS_Store
|
|
813
|
+
Thumbs.db
|
|
814
|
+
desktop.ini
|
|
815
|
+
|
|
816
|
+
# Build outputs
|
|
817
|
+
dist/
|
|
818
|
+
build/
|
|
819
|
+
bin/
|
|
820
|
+
obj/
|
|
821
|
+
node_modules/
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
---
|
|
825
|
+
|
|
826
|
+
## Common Violations and Solutions
|
|
827
|
+
|
|
828
|
+
### Violation 1: "WIP" Commits
|
|
829
|
+
|
|
830
|
+
**Problem**:
|
|
831
|
+
```bash
|
|
832
|
+
git commit -m "WIP"
|
|
833
|
+
git commit -m "save work"
|
|
834
|
+
git commit -m "trying stuff"
|
|
835
|
+
```
|
|
836
|
+
|
|
837
|
+
**Why it's bad**:
|
|
838
|
+
- No clear purpose
|
|
839
|
+
- Likely contains broken code
|
|
840
|
+
- Pollutes git history
|
|
841
|
+
|
|
842
|
+
**Solution**:
|
|
843
|
+
- Use `git stash` for temporary saves
|
|
844
|
+
- Only commit when work is complete
|
|
845
|
+
- Squash WIP commits before merging
|
|
846
|
+
|
|
847
|
+
---
|
|
848
|
+
|
|
849
|
+
### Violation 2: Committing Commented Code
|
|
850
|
+
|
|
851
|
+
**Problem**:
|
|
852
|
+
```javascript
|
|
853
|
+
function calculateTotal(items) {
|
|
854
|
+
// Old implementation
|
|
855
|
+
// return items.reduce((sum, item) => sum + item.price, 0);
|
|
856
|
+
|
|
857
|
+
// New implementation
|
|
858
|
+
return items.reduce((sum, item) => sum + item.price * item.quantity, 0);
|
|
859
|
+
}
|
|
860
|
+
```
|
|
861
|
+
|
|
862
|
+
**Why it's bad**:
|
|
863
|
+
- Clutters codebase
|
|
864
|
+
- Git history already preserves old code
|
|
865
|
+
- Confuses future developers
|
|
866
|
+
|
|
867
|
+
**Solution**:
|
|
868
|
+
- Delete commented code
|
|
869
|
+
- Rely on git history for old versions
|
|
870
|
+
- Add commit message explaining what changed
|
|
871
|
+
|
|
872
|
+
---
|
|
873
|
+
|
|
874
|
+
### Violation 3: Mixing Concerns
|
|
875
|
+
|
|
876
|
+
**Problem**:
|
|
877
|
+
```bash
|
|
878
|
+
git commit -m "fix bug and refactor and add feature"
|
|
879
|
+
```
|
|
880
|
+
One commit contains:
|
|
881
|
+
- Bug fix in module A
|
|
882
|
+
- Refactoring in module B
|
|
883
|
+
- New feature in module C
|
|
884
|
+
|
|
885
|
+
**Why it's bad**:
|
|
886
|
+
- Hard to review
|
|
887
|
+
- Can't cherry-pick specific changes
|
|
888
|
+
- Difficult to revert
|
|
889
|
+
|
|
890
|
+
**Solution**:
|
|
891
|
+
Separate into multiple commits:
|
|
892
|
+
```bash
|
|
893
|
+
git commit -m "fix(module-a): resolve null pointer error"
|
|
894
|
+
git commit -m "refactor(module-b): extract validation logic"
|
|
895
|
+
git commit -m "feat(module-c): add export to CSV feature"
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
---
|
|
899
|
+
|
|
900
|
+
## Version History
|
|
901
|
+
|
|
902
|
+
| Version | Date | Changes |
|
|
903
|
+
|---------|------|---------|
|
|
904
|
+
| 1.3.0 | 2026-01-05 | Added: SWEBOK v4.0 Chapter 6 (Software Configuration Management) to References |
|
|
905
|
+
| 1.2.5 | 2025-12-16 | Clarified: CHANGELOG update is for user-facing changes only, added to [Unreleased] section |
|
|
906
|
+
| 1.2.4 | 2025-12-11 | Added: Pre-commit directory hygiene section (IDE artifacts, verification commands) |
|
|
907
|
+
| 1.2.3 | 2025-12-05 | Added: Reference to testing-standards.md |
|
|
908
|
+
| 1.2.2 | 2025-12-04 | Updated: GitHub Actions checkout to v4 |
|
|
909
|
+
| 1.2.1 | 2025-12-04 | Added: Cross-reference to versioning.md CHANGELOG exclusion rules |
|
|
910
|
+
| 1.2.0 | 2025-11-28 | Added: Commit granularity guidelines, collaboration scenarios, check-in trigger points, special scenarios (emergency leave, experimental dev, hotfix) |
|
|
911
|
+
| 1.0.0 | 2025-11-12 | Initial standard published |
|
|
912
|
+
|
|
913
|
+
---
|
|
914
|
+
|
|
915
|
+
## Related Standards
|
|
916
|
+
|
|
917
|
+
- [Project Structure Standard](project-structure.md)
|
|
918
|
+
- [Testing Standards](testing-standards.md) (or use `/testing-guide` skill)
|
|
919
|
+
- [Commit Message Guide](commit-message-guide.md)
|
|
920
|
+
- [Code Review Checklist](code-review-checklist.md)
|
|
921
|
+
|
|
922
|
+
---
|
|
923
|
+
|
|
924
|
+
## References
|
|
925
|
+
|
|
926
|
+
- [Conventional Commits](https://www.conventionalcommits.org/)
|
|
927
|
+
- [The Art of the Commit](https://alistapart.com/article/the-art-of-the-commit/)
|
|
928
|
+
- [Git Best Practices](https://sethrobertson.github.io/GitBestPractices/)
|
|
929
|
+
- [SWEBOK v4.0 - Chapter 6: Software Configuration Management](https://www.computer.org/education/bodies-of-knowledge/software-engineering) - IEEE Computer Society
|
|
930
|
+
|
|
931
|
+
---
|
|
932
|
+
|
|
933
|
+
## License
|
|
934
|
+
|
|
935
|
+
This standard is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|