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,323 @@
|
|
|
1
|
+
# Logging Standards
|
|
2
|
+
|
|
3
|
+
> **Language**: English | [繁體中文](../locales/zh-TW/core/logging-standards.md)
|
|
4
|
+
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-01-05
|
|
7
|
+
**Applicability**: All software projects
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This document defines logging standards for consistent, structured, and actionable application logs across all environments.
|
|
14
|
+
|
|
15
|
+
## Log Levels
|
|
16
|
+
|
|
17
|
+
### Standard Log Levels
|
|
18
|
+
|
|
19
|
+
| Level | Code | When to Use | Production |
|
|
20
|
+
|-------|------|-------------|------------|
|
|
21
|
+
| TRACE | 10 | Very detailed debugging info | Off |
|
|
22
|
+
| DEBUG | 20 | Detailed debugging info | Off |
|
|
23
|
+
| INFO | 30 | Normal operation events | On |
|
|
24
|
+
| WARN | 40 | Potential issues, recoverable errors | On |
|
|
25
|
+
| ERROR | 50 | Errors that need attention | On |
|
|
26
|
+
| FATAL | 60 | Critical failures, app termination | On |
|
|
27
|
+
|
|
28
|
+
### Level Selection Guide
|
|
29
|
+
|
|
30
|
+
**TRACE**: Use for very detailed diagnostic output
|
|
31
|
+
- Function entry/exit
|
|
32
|
+
- Loop iterations
|
|
33
|
+
- Variable values during debugging
|
|
34
|
+
|
|
35
|
+
**DEBUG**: Use for diagnostic information
|
|
36
|
+
- State changes
|
|
37
|
+
- Configuration values
|
|
38
|
+
- Query parameters
|
|
39
|
+
|
|
40
|
+
**INFO**: Use for normal operational events
|
|
41
|
+
- Application startup/shutdown
|
|
42
|
+
- User actions completed
|
|
43
|
+
- Scheduled tasks executed
|
|
44
|
+
- External service calls completed
|
|
45
|
+
|
|
46
|
+
**WARN**: Use for potential issues
|
|
47
|
+
- Deprecated API usage
|
|
48
|
+
- Retry attempts
|
|
49
|
+
- Resource approaching limits
|
|
50
|
+
- Fallback behavior triggered
|
|
51
|
+
|
|
52
|
+
**ERROR**: Use for errors that need attention
|
|
53
|
+
- Failed operations that need investigation
|
|
54
|
+
- Caught exceptions with impact
|
|
55
|
+
- Integration failures
|
|
56
|
+
- Data validation failures
|
|
57
|
+
|
|
58
|
+
**FATAL**: Use for critical failures
|
|
59
|
+
- Unrecoverable errors
|
|
60
|
+
- Startup failures
|
|
61
|
+
- Loss of critical resources
|
|
62
|
+
|
|
63
|
+
## Structured Logging
|
|
64
|
+
|
|
65
|
+
### Required Fields
|
|
66
|
+
|
|
67
|
+
All log entries should include:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"timestamp": "2025-01-15T10:30:00.123Z",
|
|
72
|
+
"level": "INFO",
|
|
73
|
+
"message": "User login successful",
|
|
74
|
+
"service": "auth-service",
|
|
75
|
+
"environment": "production"
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Recommended Fields
|
|
80
|
+
|
|
81
|
+
Add context-specific fields:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"timestamp": "2025-01-15T10:30:00.123Z",
|
|
86
|
+
"level": "INFO",
|
|
87
|
+
"message": "User login successful",
|
|
88
|
+
"service": "auth-service",
|
|
89
|
+
"environment": "production",
|
|
90
|
+
"trace_id": "abc123",
|
|
91
|
+
"span_id": "def456",
|
|
92
|
+
"user_id": "usr_12345",
|
|
93
|
+
"request_id": "req_67890",
|
|
94
|
+
"duration_ms": 150,
|
|
95
|
+
"http_method": "POST",
|
|
96
|
+
"http_path": "/api/v1/login",
|
|
97
|
+
"http_status": 200
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Field Naming Conventions
|
|
102
|
+
|
|
103
|
+
- Use `snake_case` for field names
|
|
104
|
+
- Use consistent names across services
|
|
105
|
+
- Prefix with domain: `http_`, `db_`, `queue_`
|
|
106
|
+
|
|
107
|
+
| Domain | Common Fields |
|
|
108
|
+
|--------|---------------|
|
|
109
|
+
| HTTP | http_method, http_path, http_status, http_duration_ms |
|
|
110
|
+
| Database | db_query_type, db_table, db_duration_ms, db_rows_affected |
|
|
111
|
+
| Queue | queue_name, queue_message_id, queue_delay_ms |
|
|
112
|
+
| User | user_id, user_role, user_action |
|
|
113
|
+
| Request | request_id, trace_id, span_id |
|
|
114
|
+
|
|
115
|
+
## Sensitive Data Handling
|
|
116
|
+
|
|
117
|
+
### Never Log
|
|
118
|
+
|
|
119
|
+
- Passwords or secrets
|
|
120
|
+
- API keys or tokens
|
|
121
|
+
- Credit card numbers
|
|
122
|
+
- Social security numbers
|
|
123
|
+
- Authentication tokens (full)
|
|
124
|
+
|
|
125
|
+
### Mask or Redact
|
|
126
|
+
|
|
127
|
+
```javascript
|
|
128
|
+
// Bad
|
|
129
|
+
logger.info('Login attempt', { password: userPassword });
|
|
130
|
+
|
|
131
|
+
// Good
|
|
132
|
+
logger.info('Login attempt', { password: '***REDACTED***' });
|
|
133
|
+
|
|
134
|
+
// Good - mask partial
|
|
135
|
+
logger.info('Card processed', { last_four: '4242' });
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### PII Handling
|
|
139
|
+
|
|
140
|
+
- Log user IDs, not email addresses when possible
|
|
141
|
+
- Use hashed identifiers for sensitive lookups
|
|
142
|
+
- Configure data retention policies
|
|
143
|
+
|
|
144
|
+
## Log Format Standards
|
|
145
|
+
|
|
146
|
+
### JSON Format (Recommended for Production)
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{"timestamp":"2025-01-15T10:30:00.123Z","level":"INFO","message":"Request completed","request_id":"req_123","duration_ms":45}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Human-Readable Format (Development)
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
2025-01-15T10:30:00.123Z [INFO] Request completed request_id=req_123 duration_ms=45
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Multi-line Messages
|
|
159
|
+
|
|
160
|
+
For stack traces or large payloads:
|
|
161
|
+
- Keep the main log entry on one line
|
|
162
|
+
- Include stack traces in a `stack` field
|
|
163
|
+
- Truncate large payloads with `...(truncated)`
|
|
164
|
+
|
|
165
|
+
## Error Logging
|
|
166
|
+
|
|
167
|
+
### Required Error Fields
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"level": "ERROR",
|
|
172
|
+
"message": "Database connection failed",
|
|
173
|
+
"error_type": "ConnectionError",
|
|
174
|
+
"error_message": "Connection refused",
|
|
175
|
+
"error_code": "ECONNREFUSED",
|
|
176
|
+
"stack": "Error: Connection refused\n at connect (/app/db.js:45:11)..."
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Error Context
|
|
181
|
+
|
|
182
|
+
Always include:
|
|
183
|
+
- What operation was attempted
|
|
184
|
+
- Relevant identifiers (user_id, request_id)
|
|
185
|
+
- Input parameters (sanitized)
|
|
186
|
+
- Retry count if applicable
|
|
187
|
+
|
|
188
|
+
```javascript
|
|
189
|
+
logger.error('Failed to process order', {
|
|
190
|
+
error_type: err.name,
|
|
191
|
+
error_message: err.message,
|
|
192
|
+
order_id: orderId,
|
|
193
|
+
user_id: userId,
|
|
194
|
+
retry_count: 2,
|
|
195
|
+
stack: err.stack
|
|
196
|
+
});
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Correlation and Tracing
|
|
200
|
+
|
|
201
|
+
### Request Correlation
|
|
202
|
+
|
|
203
|
+
Use `request_id` to correlate all logs within a single request:
|
|
204
|
+
|
|
205
|
+
```javascript
|
|
206
|
+
// Middleware sets request_id
|
|
207
|
+
app.use((req, res, next) => {
|
|
208
|
+
req.requestId = req.headers['x-request-id'] || generateId();
|
|
209
|
+
res.setHeader('x-request-id', req.requestId);
|
|
210
|
+
next();
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
// All subsequent logs include it
|
|
214
|
+
logger.info('Processing request', { request_id: req.requestId });
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Distributed Tracing
|
|
218
|
+
|
|
219
|
+
For microservices, include:
|
|
220
|
+
- `trace_id`: Unique ID for the entire request flow
|
|
221
|
+
- `span_id`: ID for this specific operation
|
|
222
|
+
- `parent_span_id`: ID of the calling operation
|
|
223
|
+
|
|
224
|
+
## Performance Considerations
|
|
225
|
+
|
|
226
|
+
### Log Volume Management
|
|
227
|
+
|
|
228
|
+
| Environment | Level | Volume Strategy |
|
|
229
|
+
|-------------|-------|-----------------|
|
|
230
|
+
| Development | DEBUG | All logs |
|
|
231
|
+
| Staging | INFO | Most logs |
|
|
232
|
+
| Production | INFO | Sampling for high-volume |
|
|
233
|
+
|
|
234
|
+
### High-Volume Endpoints
|
|
235
|
+
|
|
236
|
+
For endpoints called thousands of times per second:
|
|
237
|
+
- Use sampling (log 1 in 100)
|
|
238
|
+
- Aggregate metrics instead of individual logs
|
|
239
|
+
- Use separate log streams
|
|
240
|
+
|
|
241
|
+
### Async Logging
|
|
242
|
+
|
|
243
|
+
- Use async/buffered logging in production
|
|
244
|
+
- Set appropriate buffer sizes
|
|
245
|
+
- Handle buffer overflow gracefully
|
|
246
|
+
|
|
247
|
+
## Log Aggregation
|
|
248
|
+
|
|
249
|
+
### Recommended Stack
|
|
250
|
+
|
|
251
|
+
| Component | Options |
|
|
252
|
+
|-----------|---------|
|
|
253
|
+
| Collection | Fluentd, Filebeat, Vector |
|
|
254
|
+
| Storage | Elasticsearch, Loki, CloudWatch |
|
|
255
|
+
| Visualization | Kibana, Grafana, Datadog |
|
|
256
|
+
| Alerting | PagerDuty, OpsGenie, Slack |
|
|
257
|
+
|
|
258
|
+
### Retention Policy
|
|
259
|
+
|
|
260
|
+
| Log Level | Retention |
|
|
261
|
+
|-----------|-----------|
|
|
262
|
+
| DEBUG | 7 days |
|
|
263
|
+
| INFO | 30 days |
|
|
264
|
+
| WARN | 90 days |
|
|
265
|
+
| ERROR/FATAL | 1 year |
|
|
266
|
+
|
|
267
|
+
## Quick Reference Card
|
|
268
|
+
|
|
269
|
+
### Log Level Selection
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
Is it debugging only? → DEBUG (off in prod)
|
|
273
|
+
Normal operation completed? → INFO
|
|
274
|
+
Something unexpected but OK? → WARN
|
|
275
|
+
Operation failed? → ERROR
|
|
276
|
+
App cannot continue? → FATAL
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Required Fields Checklist
|
|
280
|
+
|
|
281
|
+
- [ ] timestamp (ISO 8601)
|
|
282
|
+
- [ ] level
|
|
283
|
+
- [ ] message
|
|
284
|
+
- [ ] service name
|
|
285
|
+
- [ ] request_id or trace_id
|
|
286
|
+
|
|
287
|
+
### Security Checklist
|
|
288
|
+
|
|
289
|
+
- [ ] No passwords or secrets
|
|
290
|
+
- [ ] No full tokens
|
|
291
|
+
- [ ] PII masked or hashed
|
|
292
|
+
- [ ] Credit cards never logged
|
|
293
|
+
- [ ] Retention policies configured
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
**Related Standards:**
|
|
298
|
+
- [Testing Standards](testing-standards.md) - Testing logging output (or use `/testing-guide` skill)
|
|
299
|
+
- [Code Review Checklist](code-review-checklist.md) - Reviewing logging practices
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Version History
|
|
304
|
+
|
|
305
|
+
| Version | Date | Changes |
|
|
306
|
+
|---------|------|---------|
|
|
307
|
+
| 1.1.0 | 2026-01-05 | Added: References section with OWASP, RFC 5424, OpenTelemetry, and 12 Factor App |
|
|
308
|
+
| 1.0.0 | 2025-12-30 | Initial logging standards |
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## References
|
|
313
|
+
|
|
314
|
+
- [OWASP Logging Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html) - Security logging best practices
|
|
315
|
+
- [RFC 5424 - The Syslog Protocol](https://datatracker.ietf.org/doc/html/rfc5424) - Standard log message format
|
|
316
|
+
- [OpenTelemetry Logging](https://opentelemetry.io/docs/specs/otel/logs/) - Modern observability standard
|
|
317
|
+
- [12 Factor App - Logs](https://12factor.net/logs) - Cloud-native logging principles
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## License
|
|
322
|
+
|
|
323
|
+
This standard is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
# Project Structure Standard
|
|
2
|
+
|
|
3
|
+
**Version**: 1.0.1
|
|
4
|
+
**Last Updated**: 2025-12-24
|
|
5
|
+
**Applicability**: All software projects
|
|
6
|
+
|
|
7
|
+
**English** | [繁體中文](../locales/zh-TW/core/project-structure.md)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This standard defines conventions for project directory structure beyond documentation files. It covers common directories for tools, build outputs, and language-specific conventions.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Common Project Directories
|
|
18
|
+
|
|
19
|
+
### Recommended Directory Structure
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
project-root/
|
|
23
|
+
├── README.md # Project overview
|
|
24
|
+
├── CONTRIBUTING.md # Contribution guidelines
|
|
25
|
+
├── CHANGELOG.md # Version history
|
|
26
|
+
├── LICENSE # License file
|
|
27
|
+
│
|
|
28
|
+
├── .standards/ or .claude/ # Development standards
|
|
29
|
+
│ └── ...
|
|
30
|
+
│
|
|
31
|
+
├── docs/ # Documentation
|
|
32
|
+
│ └── ...
|
|
33
|
+
│
|
|
34
|
+
├── src/ # Source code (language-dependent)
|
|
35
|
+
│ └── ...
|
|
36
|
+
│
|
|
37
|
+
├── tests/ # Test files (if separate from src)
|
|
38
|
+
│ └── ...
|
|
39
|
+
│
|
|
40
|
+
├── tools/ # Development/deployment scripts
|
|
41
|
+
│ ├── deployment/ # Deployment scripts
|
|
42
|
+
│ ├── migration/ # Database migration tools
|
|
43
|
+
│ └── scripts/ # Utility scripts
|
|
44
|
+
│
|
|
45
|
+
├── examples/ # Usage examples
|
|
46
|
+
│ └── ...
|
|
47
|
+
│
|
|
48
|
+
├── dist/ # Build output (gitignored)
|
|
49
|
+
├── build/ # Compiled artifacts (gitignored)
|
|
50
|
+
└── publish/ # Release packages (partially gitignored)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Directory Definitions
|
|
56
|
+
|
|
57
|
+
### Source and Build Directories
|
|
58
|
+
|
|
59
|
+
| Directory | Purpose | gitignore? | Notes |
|
|
60
|
+
|-----------|---------|------------|-------|
|
|
61
|
+
| `src/` | Source code | No | Language-dependent; see conventions below |
|
|
62
|
+
| `lib/` | Library/dependency code | Depends | Vendored deps may be committed |
|
|
63
|
+
| `dist/` | Distribution/build output | **Yes** | Generated files, never commit |
|
|
64
|
+
| `build/` | Compiled artifacts | **Yes** | Intermediate build files |
|
|
65
|
+
| `out/` | Output directory | **Yes** | Alternative to dist/build |
|
|
66
|
+
| `bin/` | Binary executables | **Yes** | Compiled binaries |
|
|
67
|
+
| `obj/` | Object files | **Yes** | .NET intermediate files |
|
|
68
|
+
|
|
69
|
+
### Tool and Script Directories
|
|
70
|
+
|
|
71
|
+
| Directory | Purpose | gitignore? | Notes |
|
|
72
|
+
|-----------|---------|------------|-------|
|
|
73
|
+
| `tools/` | Development/deployment tools | No | Shell scripts, Python tools, etc. |
|
|
74
|
+
| `scripts/` | Build/CI scripts | No | Often at root or under tools/ |
|
|
75
|
+
| `.github/` | GitHub-specific configs | No | Actions, templates, workflows |
|
|
76
|
+
| `.gitlab/` | GitLab-specific configs | No | CI templates |
|
|
77
|
+
|
|
78
|
+
### Data and Configuration Directories
|
|
79
|
+
|
|
80
|
+
| Directory | Purpose | gitignore? | Notes |
|
|
81
|
+
|-----------|---------|------------|-------|
|
|
82
|
+
| `data/` | Test/seed data | Depends | Large files should be gitignored |
|
|
83
|
+
| `config/` | Configuration files | Depends | Secrets must be gitignored |
|
|
84
|
+
| `assets/` | Static assets | No | Images, templates, etc. |
|
|
85
|
+
| `resources/` | Resource files | No | Alternative to assets/ |
|
|
86
|
+
|
|
87
|
+
### Release and Publish Directories
|
|
88
|
+
|
|
89
|
+
| Directory | Purpose | gitignore? | Notes |
|
|
90
|
+
|-----------|---------|------------|-------|
|
|
91
|
+
| `publish/` | Release packages | Partial | May keep release notes, gitignore binaries |
|
|
92
|
+
| `release/` | Release artifacts | **Yes** | Generated release files |
|
|
93
|
+
| `packages/` | Monorepo packages | No | For monorepo projects |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Language-Specific Conventions
|
|
98
|
+
|
|
99
|
+
### .NET / C#
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
project-root/
|
|
103
|
+
├── ProjectName.sln # Solution file at root
|
|
104
|
+
├── ProjectName/ # Main project
|
|
105
|
+
│ ├── ProjectName.csproj
|
|
106
|
+
│ ├── Program.cs
|
|
107
|
+
│ ├── Controllers/
|
|
108
|
+
│ └── ...
|
|
109
|
+
├── ProjectName.Domain/ # Domain layer (Clean Architecture)
|
|
110
|
+
├── ProjectName.Application/ # Application layer
|
|
111
|
+
├── ProjectName.Infrastructure/ # Infrastructure layer
|
|
112
|
+
├── ProjectName.Tests/ # Test project
|
|
113
|
+
└── docs/
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Convention**: Projects are subdirectories of root, not under `src/`. Solution file (`.sln`) stays at root.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### Node.js / TypeScript
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
project-root/
|
|
124
|
+
├── package.json
|
|
125
|
+
├── tsconfig.json # If TypeScript
|
|
126
|
+
├── src/ # Source code
|
|
127
|
+
│ ├── index.ts
|
|
128
|
+
│ ├── controllers/
|
|
129
|
+
│ └── services/
|
|
130
|
+
├── dist/ # Compiled output (gitignored)
|
|
131
|
+
├── tests/ or __tests__/ # Test files
|
|
132
|
+
├── node_modules/ # Dependencies (gitignored)
|
|
133
|
+
└── docs/
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Convention**: Source in `src/`, compiled output in `dist/`. Tests can be in `tests/`, `__tests__/`, or colocated with source.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### Python
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
project-root/
|
|
144
|
+
├── pyproject.toml or setup.py
|
|
145
|
+
├── src/ # src-layout (recommended)
|
|
146
|
+
│ └── package_name/
|
|
147
|
+
│ ├── __init__.py
|
|
148
|
+
│ └── module.py
|
|
149
|
+
├── tests/
|
|
150
|
+
│ └── test_module.py
|
|
151
|
+
├── docs/
|
|
152
|
+
├── .venv/ # Virtual environment (gitignored)
|
|
153
|
+
└── dist/ # Built packages (gitignored)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Convention**: Use src-layout (`src/package_name/`) for libraries. Flat layout (`package_name/` at root) acceptable for applications.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
### Java / Maven
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
project-root/
|
|
164
|
+
├── pom.xml
|
|
165
|
+
├── src/
|
|
166
|
+
│ ├── main/
|
|
167
|
+
│ │ ├── java/
|
|
168
|
+
│ │ │ └── com/example/
|
|
169
|
+
│ │ └── resources/
|
|
170
|
+
│ └── test/
|
|
171
|
+
│ ├── java/
|
|
172
|
+
│ └── resources/
|
|
173
|
+
├── target/ # Build output (gitignored)
|
|
174
|
+
└── docs/
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Convention**: Maven standard directory layout. Do not deviate.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Go
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
project-root/
|
|
185
|
+
├── go.mod
|
|
186
|
+
├── go.sum
|
|
187
|
+
├── main.go # Or cmd/app/main.go for multiple binaries
|
|
188
|
+
├── cmd/ # Application entry points
|
|
189
|
+
│ └── myapp/
|
|
190
|
+
│ └── main.go
|
|
191
|
+
├── pkg/ # Public library code
|
|
192
|
+
│ └── mylib/
|
|
193
|
+
├── internal/ # Private application code
|
|
194
|
+
│ └── ...
|
|
195
|
+
├── api/ # API definitions (protobuf, OpenAPI)
|
|
196
|
+
└── docs/
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Convention**: Use `cmd/` for binaries, `internal/` for private code, `pkg/` for public libraries.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Monorepo Structure
|
|
204
|
+
|
|
205
|
+
For projects with multiple packages/applications:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
project-root/
|
|
209
|
+
├── package.json # Root package.json (if using npm/yarn workspaces)
|
|
210
|
+
├── packages/ # Shared packages
|
|
211
|
+
│ ├── shared-utils/
|
|
212
|
+
│ ├── ui-components/
|
|
213
|
+
│ └── api-client/
|
|
214
|
+
├── apps/ # Applications
|
|
215
|
+
│ ├── web/
|
|
216
|
+
│ ├── mobile/
|
|
217
|
+
│ └── api-server/
|
|
218
|
+
├── tools/ # Shared build tools
|
|
219
|
+
├── docs/ # Shared documentation
|
|
220
|
+
└── README.md
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## IDE and Editor Artifacts
|
|
226
|
+
|
|
227
|
+
### Common Artifacts to Gitignore
|
|
228
|
+
|
|
229
|
+
```gitignore
|
|
230
|
+
# IDE - JetBrains (IntelliJ, Rider, WebStorm)
|
|
231
|
+
.idea/
|
|
232
|
+
*.iml
|
|
233
|
+
|
|
234
|
+
# IDE - Visual Studio
|
|
235
|
+
.vs/
|
|
236
|
+
*.user
|
|
237
|
+
*.suo
|
|
238
|
+
|
|
239
|
+
# IDE - VS Code (optional, some teams commit .vscode/)
|
|
240
|
+
.vscode/
|
|
241
|
+
!.vscode/settings.json # May commit shared settings
|
|
242
|
+
!.vscode/extensions.json # May commit recommended extensions
|
|
243
|
+
|
|
244
|
+
# IDE - Eclipse
|
|
245
|
+
.project
|
|
246
|
+
.classpath
|
|
247
|
+
.settings/
|
|
248
|
+
|
|
249
|
+
# macOS
|
|
250
|
+
.DS_Store
|
|
251
|
+
|
|
252
|
+
# Windows
|
|
253
|
+
Thumbs.db
|
|
254
|
+
desktop.ini
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Detecting Uncommitted Artifacts
|
|
258
|
+
|
|
259
|
+
Before committing, verify no IDE artifacts are tracked:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
# Check for common IDE artifacts in git
|
|
263
|
+
git ls-files | grep -E '^\$|^\.idea|^\.vs/|\.user$|\.suo$'
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
**Known Issue**: VSCode variable expansion errors can create directories like `${workspaceFolder}/`. If found, remove them:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# Remove if exists and not tracked
|
|
270
|
+
rm -rf '${workspaceFolder}'
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Anti-Patterns
|
|
276
|
+
|
|
277
|
+
### ❌ Avoid These Patterns
|
|
278
|
+
|
|
279
|
+
1. **Nested src directories without purpose**
|
|
280
|
+
```
|
|
281
|
+
❌ project/src/src/main/...
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
2. **Mixing build outputs with source**
|
|
285
|
+
```
|
|
286
|
+
❌ src/
|
|
287
|
+
├── app.ts
|
|
288
|
+
└── app.js # Compiled file mixed with source
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
3. **Multiple unrelated projects in one repo without monorepo structure**
|
|
292
|
+
```
|
|
293
|
+
❌ project/
|
|
294
|
+
├── backend/ # Unrelated project
|
|
295
|
+
└── frontend/ # Another unrelated project
|
|
296
|
+
# No shared tooling, no workspace config
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
4. **Committing generated files**
|
|
300
|
+
```
|
|
301
|
+
❌ dist/ tracked in git
|
|
302
|
+
❌ node_modules/ tracked in git
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
5. **Secrets in repository**
|
|
306
|
+
```
|
|
307
|
+
❌ config/secrets.json committed
|
|
308
|
+
❌ .env with real credentials committed
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Verification Checklist
|
|
314
|
+
|
|
315
|
+
Before committing, verify:
|
|
316
|
+
|
|
317
|
+
- [ ] Build outputs (`dist/`, `build/`, `bin/`, `obj/`) are gitignored
|
|
318
|
+
- [ ] Dependencies (`node_modules/`, `.venv/`, `vendor/`) are gitignored
|
|
319
|
+
- [ ] IDE artifacts (`.idea/`, `.vs/`) are gitignored
|
|
320
|
+
- [ ] No secrets in committed files
|
|
321
|
+
- [ ] Source structure follows language conventions
|
|
322
|
+
- [ ] No abnormal directories (e.g., `${workspaceFolder}/`)
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Related Standards
|
|
327
|
+
|
|
328
|
+
- [Documentation Structure Standard](documentation-structure.md)
|
|
329
|
+
- [Code Check-in Standards](checkin-standards.md)
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## Version History
|
|
334
|
+
|
|
335
|
+
| Version | Date | Changes |
|
|
336
|
+
|---------|------|---------|
|
|
337
|
+
| 1.0.1 | 2025-12-24 | Added: Related Standards section |
|
|
338
|
+
| 1.0.0 | 2025-12-11 | Initial project structure standard |
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## References
|
|
343
|
+
|
|
344
|
+
- [.NET Project Structure](https://docs.microsoft.com/en-us/dotnet/core/porting/project-structure)
|
|
345
|
+
- [Node.js Project Structure Best Practices](https://github.com/goldbergyoni/nodebestpractices)
|
|
346
|
+
- [Python Packaging User Guide](https://packaging.python.org/en/latest/)
|
|
347
|
+
- [Standard Go Project Layout](https://github.com/golang-standards/project-layout)
|
|
348
|
+
- [Maven Standard Directory Layout](https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html)
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## License
|
|
353
|
+
|
|
354
|
+
This standard is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|