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,1125 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: core/documentation-structure.md
|
|
3
|
+
source_version: 1.2.2
|
|
4
|
+
translation_version: 1.2.2
|
|
5
|
+
last_synced: 2025-12-25
|
|
6
|
+
status: current
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# 文件結構標準
|
|
10
|
+
|
|
11
|
+
> **語言**: [English](../../../core/documentation-structure.md) | 繁體中文
|
|
12
|
+
|
|
13
|
+
**版本**: 1.2.2
|
|
14
|
+
**最後更新**: 2025-12-24
|
|
15
|
+
**適用範圍**: 所有需要文件的軟體專案
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 目的
|
|
20
|
+
|
|
21
|
+
本標準定義軟體專案的一致文件結構,確保資訊的組織性、可發現性與可維護性。
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 標準文件結構
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
project-root/
|
|
29
|
+
├── README.md # Project overview (REQUIRED)
|
|
30
|
+
├── CONTRIBUTING.md # Contribution guidelines
|
|
31
|
+
├── CHANGELOG.md # Version history
|
|
32
|
+
├── LICENSE # License file
|
|
33
|
+
├── .claude/ or .standards/ # Development standards
|
|
34
|
+
│ ├── anti-hallucination.md
|
|
35
|
+
│ ├── checkin-standards.md
|
|
36
|
+
│ ├── commit-guide.md
|
|
37
|
+
│ └── ...
|
|
38
|
+
├── docs/ # Detailed documentation
|
|
39
|
+
│ ├── index.md # Documentation index
|
|
40
|
+
│ ├── getting-started.md # Quick start guide
|
|
41
|
+
│ ├── architecture.md # System architecture
|
|
42
|
+
│ ├── api-reference.md # API documentation
|
|
43
|
+
│ ├── deployment.md # Deployment guide
|
|
44
|
+
│ ├── troubleshooting.md # Common issues
|
|
45
|
+
│ ├── flows/ # Flow documentation (NEW)
|
|
46
|
+
│ │ ├── README.md # Flow index (REQUIRED when >5 flows)
|
|
47
|
+
│ │ ├── templates/
|
|
48
|
+
│ │ │ └── flow-template.md
|
|
49
|
+
│ │ └── {module}/
|
|
50
|
+
│ │ └── {module}-flow.md
|
|
51
|
+
│ ├── ADR/ # Architecture Decision Records
|
|
52
|
+
│ │ ├── README.md
|
|
53
|
+
│ │ └── NNN-title.md
|
|
54
|
+
│ └── diagrams/ # Architecture diagrams
|
|
55
|
+
│ ├── system-overview.mmd
|
|
56
|
+
│ ├── data-flow.mmd
|
|
57
|
+
│ └── README.md
|
|
58
|
+
└── examples/ # Code examples
|
|
59
|
+
├── basic-usage/
|
|
60
|
+
├── advanced-usage/
|
|
61
|
+
└── README.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 檔案命名規範
|
|
67
|
+
|
|
68
|
+
### 根目錄檔案
|
|
69
|
+
|
|
70
|
+
根目錄的文件檔案應使用**大寫**命名,以便 GitHub/GitLab 自動識別:
|
|
71
|
+
|
|
72
|
+
| File | Naming | Reason |
|
|
73
|
+
|------|--------|--------|
|
|
74
|
+
| `README.md` | UPPERCASE | GitHub/GitLab auto-displays on repo page |
|
|
75
|
+
| `CONTRIBUTING.md` | UPPERCASE | GitHub auto-links in PR creation |
|
|
76
|
+
| `CHANGELOG.md` | UPPERCASE | Keep a Changelog convention |
|
|
77
|
+
| `LICENSE` | UPPERCASE (no extension) | GitHub auto-detects license type |
|
|
78
|
+
| `CODE_OF_CONDUCT.md` | UPPERCASE | GitHub community standard |
|
|
79
|
+
| `SECURITY.md` | UPPERCASE | GitHub security advisory standard |
|
|
80
|
+
|
|
81
|
+
### docs/ 目錄檔案
|
|
82
|
+
|
|
83
|
+
`docs/` 目錄內的所有檔案應使用 **lowercase-kebab-case** 以確保 URL 友善:
|
|
84
|
+
|
|
85
|
+
✅ **正確**:
|
|
86
|
+
```
|
|
87
|
+
docs/
|
|
88
|
+
├── index.md
|
|
89
|
+
├── getting-started.md
|
|
90
|
+
├── api-reference.md
|
|
91
|
+
└── user-guide.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
❌ **錯誤**:
|
|
95
|
+
```
|
|
96
|
+
docs/
|
|
97
|
+
├── INDEX.md # Inconsistent casing
|
|
98
|
+
├── GettingStarted.md # PascalCase not URL-friendly
|
|
99
|
+
├── API_Reference.md # snake_case inconsistent
|
|
100
|
+
└── User Guide.md # Spaces cause URL issues
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**理由**:
|
|
104
|
+
- Lowercase avoids case-sensitivity issues across OS (Windows vs Linux)
|
|
105
|
+
- Kebab-case produces clean URLs: `docs/getting-started` vs `docs/GettingStarted`
|
|
106
|
+
- Consistent naming improves discoverability and automation
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 文件需求矩陣
|
|
111
|
+
|
|
112
|
+
不同專案類型需要不同的文件:
|
|
113
|
+
|
|
114
|
+
| Document | New Project | Refactor | Migration | Maintenance | Description |
|
|
115
|
+
|----------|:-----------:|:--------:|:---------:|:-----------:|-------------|
|
|
116
|
+
| **README.md** | ✅ | ✅ | ✅ | ✅ | Project entry point |
|
|
117
|
+
| **ARCHITECTURE.md** | ✅ | ✅ | ✅ | ⚪ | System architecture |
|
|
118
|
+
| **API.md** | ⚪ | ✅ | ✅ | ⚪ | External API specs |
|
|
119
|
+
| **DATABASE.md** | ⚪ | ✅ | ✅ | ⚪ | Database structure |
|
|
120
|
+
| **DEPLOYMENT.md** | ✅ | ✅ | ✅ | ⚪ | Deployment guide |
|
|
121
|
+
| **MIGRATION.md** | ❌ | ✅ | ✅ | ❌ | Migration plan |
|
|
122
|
+
| **ADR/** | ⚪ | ✅ | ✅ | ⚪ | Decision records |
|
|
123
|
+
| **CHANGELOG.md** | ✅ | ✅ | ✅ | ✅ | Change history |
|
|
124
|
+
| **flows/README.md** | ⚪ | ✅ | ✅ | ⚪ | Flow index (when >5 flows) |
|
|
125
|
+
|
|
126
|
+
**圖例**: ✅ Required | ⚪ Recommended | ❌ Not needed
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 文件交叉連結規範 (NEW)
|
|
131
|
+
|
|
132
|
+
### 為何需要交叉連結
|
|
133
|
+
|
|
134
|
+
孤立的文件會造成導覽問題。交叉連結可以:
|
|
135
|
+
- 提供上下文發現
|
|
136
|
+
- 減少重複內容
|
|
137
|
+
- 確保資訊一致性
|
|
138
|
+
|
|
139
|
+
### 必要連結矩陣
|
|
140
|
+
|
|
141
|
+
新增文件時,必須更新相關文件的參考資料區段:
|
|
142
|
+
|
|
143
|
+
| When Adding... | Must Update |
|
|
144
|
+
|----------------|-------------|
|
|
145
|
+
| `flows/*.md` | ARCHITECTURE.md, index.md, related API.md / DATABASE.md |
|
|
146
|
+
| `ADR/*.md` | index.md, ARCHITECTURE.md, MIGRATION.md |
|
|
147
|
+
| Any new document | docs/index.md |
|
|
148
|
+
|
|
149
|
+
### 連結方向原則
|
|
150
|
+
|
|
151
|
+
1. **Upward Links**: Flow docs should link to ARCHITECTURE.md (overall view)
|
|
152
|
+
2. **Horizontal Links**: Related flows should link to each other (e.g., sms-flow → credit-flow)
|
|
153
|
+
3. **Downward Links**: Architecture docs should link to flow index
|
|
154
|
+
|
|
155
|
+
### 參考資料區段格式
|
|
156
|
+
|
|
157
|
+
每份文件結尾應有參考資料區段:
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
## 參考資料
|
|
161
|
+
|
|
162
|
+
- [ARCHITECTURE.md](../ARCHITECTURE.md) - System architecture
|
|
163
|
+
- [Related Flow](flows/xxx-flow.md) - Related flow documentation
|
|
164
|
+
- [API Reference](api-reference.md) - API specifications
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 流程文件 (NEW)
|
|
170
|
+
|
|
171
|
+
### 目的
|
|
172
|
+
|
|
173
|
+
流程文件描述系統的動態行為—特定操作中資料如何在元件間流動。
|
|
174
|
+
|
|
175
|
+
### 何時建立流程文件
|
|
176
|
+
|
|
177
|
+
| Priority | Flow Type | Criteria | Examples |
|
|
178
|
+
|:--------:|-----------|----------|----------|
|
|
179
|
+
| **P0** | Financial | Involves billing, credits, refunds | Credit deduction, fee calculation |
|
|
180
|
+
| **P0** | Integration | External system API interaction | SSO login, gateway integration |
|
|
181
|
+
| **P1** | Core Business | Main functional flows | Message sending, report queries |
|
|
182
|
+
| **P2** | Batch Processing | Background services, scheduled jobs | Daemon services, cleanup jobs |
|
|
183
|
+
| **P3** | Management | Admin and maintenance functions | Account management, system config |
|
|
184
|
+
|
|
185
|
+
### 流程文件結構
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
docs/flows/
|
|
189
|
+
├── README.md # Flow index (REQUIRED when >5 flows)
|
|
190
|
+
├── templates/
|
|
191
|
+
│ └── flow-template.md # Standard template
|
|
192
|
+
└── {module}/
|
|
193
|
+
└── {module}-flow.md
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 流程索引必要內容
|
|
197
|
+
|
|
198
|
+
當流程文件超過 5 份時,`flows/README.md` 為**必要**,且必須包含:
|
|
199
|
+
|
|
200
|
+
| Section | Description | Required |
|
|
201
|
+
|---------|-------------|:--------:|
|
|
202
|
+
| System Architecture Overview | ASCII or Mermaid diagram | ✅ |
|
|
203
|
+
| Flow Document List | With status (✅ Complete / 🚧 In Progress / ⏳ Planned) | ✅ |
|
|
204
|
+
| Module Relationship Diagram | Mermaid flowchart showing module interactions | ✅ |
|
|
205
|
+
| Status Code Reference | Centralized definitions to avoid duplication | ⚪ |
|
|
206
|
+
| Directory Structure | File organization | ✅ |
|
|
207
|
+
|
|
208
|
+
### 流程文件必要章節
|
|
209
|
+
|
|
210
|
+
| Section | Description | Required |
|
|
211
|
+
|---------|-------------|:--------:|
|
|
212
|
+
| Overview | Purpose, scope, pre/post conditions | ✅ |
|
|
213
|
+
| Triggers | What initiates this flow | ✅ |
|
|
214
|
+
| Components | Component list, relationships, code links | ✅ |
|
|
215
|
+
| Flow Diagram | Sequence diagram for main flow | ✅ |
|
|
216
|
+
| Step Details | Input/output/code location per step | ✅ |
|
|
217
|
+
| Error Handling | Error codes, retry mechanisms | ✅ |
|
|
218
|
+
| Data Changes | Affected tables + DFD diagram | ✅ |
|
|
219
|
+
| Performance | TPS, response time, bottlenecks | ⚪ |
|
|
220
|
+
| Monitoring | Log points, metrics | ⚪ |
|
|
221
|
+
| References | Links to API.md, DATABASE.md | ✅ |
|
|
222
|
+
|
|
223
|
+
### 狀態碼集中管理
|
|
224
|
+
|
|
225
|
+
**問題**:狀態碼散落在各流程文件中容易不一致。
|
|
226
|
+
|
|
227
|
+
**解決方案**:
|
|
228
|
+
|
|
229
|
+
1. **Define centrally** in `flows/README.md` or `DATABASE.md`
|
|
230
|
+
2. **Reference in flow docs**: List only relevant codes, with note:
|
|
231
|
+
> Complete definitions at [flows/README.md](../README.md#status-codes)
|
|
232
|
+
3. **Version control**: Status code changes must be recorded in CHANGELOG.md
|
|
233
|
+
|
|
234
|
+
**狀態碼定義格式**:
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
### 狀態碼
|
|
238
|
+
|
|
239
|
+
| Code | Name | Description | Used By |
|
|
240
|
+
|------|------|-------------|---------|
|
|
241
|
+
| 0000 | Success | Operation successful | All modules |
|
|
242
|
+
| 9997 | AuthFailed | Authentication failed | API, WebService |
|
|
243
|
+
| 9998 | NotFound | Resource not found | All modules |
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 索引文件規範 (NEW)
|
|
249
|
+
|
|
250
|
+
### docs/index.md 必要章節
|
|
251
|
+
|
|
252
|
+
| Section | Description | Required |
|
|
253
|
+
|---------|-------------|:--------:|
|
|
254
|
+
| Directory Structure | Document tree (ASCII or table) | ✅ |
|
|
255
|
+
| By Role | Developer/Reviewer/Admin/QA perspectives | ⚪ |
|
|
256
|
+
| By Topic | Architecture/API/Database/Flows/Migration/ADR | ✅ |
|
|
257
|
+
| Flow Documentation | flows/ directory index | ✅ (when flows exist) |
|
|
258
|
+
| External Resources | Related tech doc links | ⚪ |
|
|
259
|
+
| Maintenance Guide | Update principles, contribution guidelines | ⚪ |
|
|
260
|
+
| Last Updated | Index maintenance date | ✅ |
|
|
261
|
+
|
|
262
|
+
### 索引範本
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
# 文件導覽
|
|
266
|
+
|
|
267
|
+
## 目錄結構
|
|
268
|
+
[Document tree diagram]
|
|
269
|
+
|
|
270
|
+
## 依主題分類
|
|
271
|
+
|
|
272
|
+
### 架構文件
|
|
273
|
+
- [architecture.md](architecture.md) - System architecture
|
|
274
|
+
- [ADR/](ADR/) - Architecture Decision Records
|
|
275
|
+
|
|
276
|
+
### 系統流程文件
|
|
277
|
+
Located in `flows/`, full index at [flows/README.md](flows/README.md):
|
|
278
|
+
|
|
279
|
+
| Module | Document | Description |
|
|
280
|
+
|--------|----------|-------------|
|
|
281
|
+
| SMS | [sms-flow.md](flows/sms/sms-flow.md) | Message sending flow |
|
|
282
|
+
| Auth | [auth-flow.md](flows/auth/auth-flow.md) | Authentication flow |
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
*Last Updated: YYYY-MM-DD*
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## CHANGELOG 文件變更整合 (NEW)
|
|
291
|
+
|
|
292
|
+
### 何時記錄文件變更
|
|
293
|
+
|
|
294
|
+
| Change Type | Record In | Example |
|
|
295
|
+
|-------------|-----------|---------|
|
|
296
|
+
| New document | Added | New flow documentation `docs/flows/xxx.md` |
|
|
297
|
+
| Major update | Changed | Updated `docs/API.md` with v2 API specs |
|
|
298
|
+
| Restructure | Changed | Reorganized `docs/` directory structure |
|
|
299
|
+
| Deprecated | Deprecated | `docs/old-api.md` marked as deprecated |
|
|
300
|
+
| Removed | Removed | Removed outdated `docs/legacy.md` |
|
|
301
|
+
|
|
302
|
+
### 不需記錄
|
|
303
|
+
|
|
304
|
+
- Typo fixes
|
|
305
|
+
- Formatting adjustments (indentation, spacing)
|
|
306
|
+
- Link repairs
|
|
307
|
+
- Date stamp updates
|
|
308
|
+
|
|
309
|
+
### 記錄格式
|
|
310
|
+
|
|
311
|
+
```markdown
|
|
312
|
+
## [Unreleased]
|
|
313
|
+
|
|
314
|
+
### 新增
|
|
315
|
+
- New flow documentation (Mermaid sequence/flowchart/DFD)
|
|
316
|
+
- `docs/flows/README.md` - Flow index with module relationship diagram
|
|
317
|
+
- `docs/flows/sms/sms-flow.md` - SMS sending flow
|
|
318
|
+
|
|
319
|
+
### 變更
|
|
320
|
+
- Updated existing documents with flow references
|
|
321
|
+
- `docs/ARCHITECTURE.md` - Added flow index link in references
|
|
322
|
+
- `docs/index.md` - Added flow documentation section
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 核心文件檔案
|
|
328
|
+
|
|
329
|
+
### 1. README.md (必要)
|
|
330
|
+
|
|
331
|
+
**目的**: 第一印象、快速概覽
|
|
332
|
+
|
|
333
|
+
**範本**:
|
|
334
|
+
```markdown
|
|
335
|
+
# Project Name
|
|
336
|
+
|
|
337
|
+
Brief one-liner description
|
|
338
|
+
|
|
339
|
+
## Features
|
|
340
|
+
|
|
341
|
+
- Feature 1
|
|
342
|
+
- Feature 2
|
|
343
|
+
- Feature 3
|
|
344
|
+
|
|
345
|
+
## Quick Start
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
# Installation
|
|
349
|
+
npm install your-package
|
|
350
|
+
|
|
351
|
+
# Usage
|
|
352
|
+
npm start
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Documentation
|
|
356
|
+
|
|
357
|
+
See [docs/](docs/) for full documentation.
|
|
358
|
+
|
|
359
|
+
## Contributing
|
|
360
|
+
|
|
361
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
362
|
+
|
|
363
|
+
## License
|
|
364
|
+
|
|
365
|
+
[License Name](LICENSE)
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**必須包含**:
|
|
369
|
+
- [ ] Project name and description
|
|
370
|
+
- [ ] Quick start / installation
|
|
371
|
+
- [ ] Link to full docs
|
|
372
|
+
- [ ] License information
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
### 2. CONTRIBUTING.md (建議)
|
|
377
|
+
|
|
378
|
+
**目的**: 如何貢獻專案
|
|
379
|
+
|
|
380
|
+
**範本**:
|
|
381
|
+
```markdown
|
|
382
|
+
# Contributing Guidelines
|
|
383
|
+
|
|
384
|
+
## Development Setup
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
git clone https://github.com/org/repo
|
|
388
|
+
cd repo
|
|
389
|
+
npm install
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
## Workflow
|
|
393
|
+
|
|
394
|
+
1. Fork the repository
|
|
395
|
+
2. Create feature branch: `git checkout -b feature/my-feature`
|
|
396
|
+
3. Commit changes: `git commit -m "feat: add feature"`
|
|
397
|
+
4. Push branch: `git push origin feature/my-feature`
|
|
398
|
+
5. Create pull request
|
|
399
|
+
|
|
400
|
+
## Coding Standards
|
|
401
|
+
|
|
402
|
+
- Follow [.claude/csharp-style.md](.claude/csharp-style.md)
|
|
403
|
+
- Run `npm run lint` before committing
|
|
404
|
+
- Ensure tests pass: `npm test`
|
|
405
|
+
|
|
406
|
+
## Commit Message Format
|
|
407
|
+
|
|
408
|
+
See [.claude/commit-guide.md](.claude/commit-guide.md)
|
|
409
|
+
|
|
410
|
+
## Code Review Process
|
|
411
|
+
|
|
412
|
+
See [.claude/code-review-checklist.md](.claude/code-review-checklist.md)
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**必須包含**:
|
|
416
|
+
- [ ] Development setup instructions
|
|
417
|
+
- [ ] Contribution workflow
|
|
418
|
+
- [ ] Coding standards reference
|
|
419
|
+
- [ ] Testing requirements
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
### 3. CHANGELOG.md (建議)
|
|
424
|
+
|
|
425
|
+
**目的**: 追蹤版本間變更
|
|
426
|
+
|
|
427
|
+
**格式**: Follow [Keep a Changelog](https://keepachangelog.com/)
|
|
428
|
+
|
|
429
|
+
```markdown
|
|
430
|
+
# Changelog
|
|
431
|
+
|
|
432
|
+
## [Unreleased]
|
|
433
|
+
|
|
434
|
+
### Added
|
|
435
|
+
- New feature X
|
|
436
|
+
|
|
437
|
+
### Fixed
|
|
438
|
+
- Bug fix Y
|
|
439
|
+
|
|
440
|
+
## [1.2.0] - 2025-11-12
|
|
441
|
+
|
|
442
|
+
### Added
|
|
443
|
+
- OAuth2 authentication support
|
|
444
|
+
|
|
445
|
+
### Changed
|
|
446
|
+
- Updated API response format
|
|
447
|
+
|
|
448
|
+
### Deprecated
|
|
449
|
+
- Old API endpoint (will be removed in v2.0)
|
|
450
|
+
|
|
451
|
+
## [1.1.0] - 2025-10-01
|
|
452
|
+
|
|
453
|
+
### Added
|
|
454
|
+
- Email notification system
|
|
455
|
+
|
|
456
|
+
[Unreleased]: https://github.com/org/repo/compare/v1.2.0...HEAD
|
|
457
|
+
[1.2.0]: https://github.com/org/repo/compare/v1.1.0...v1.2.0
|
|
458
|
+
[1.1.0]: https://github.com/org/repo/releases/tag/v1.1.0
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
### 4. LICENSE (開源必要)
|
|
464
|
+
|
|
465
|
+
**常見授權**:
|
|
466
|
+
- MIT: Permissive
|
|
467
|
+
- Apache 2.0: Permissive with patent grant
|
|
468
|
+
- GPL v3: Copyleft
|
|
469
|
+
- BSD: Permissive
|
|
470
|
+
- CC BY 4.0: Documentation/content
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## 文件版本對齊
|
|
475
|
+
|
|
476
|
+
### 原則
|
|
477
|
+
|
|
478
|
+
**文件版本必須與軟體版本對齊。**
|
|
479
|
+
|
|
480
|
+
文件中的版本號代表「適用於軟體版本 X.Y.Z」,而非獨立的文件修訂號。
|
|
481
|
+
|
|
482
|
+
### 理由
|
|
483
|
+
|
|
484
|
+
| Approach | Problems |
|
|
485
|
+
|----------|----------|
|
|
486
|
+
| Independent doc version | Requires tracking "which doc version maps to which software version"; confusing |
|
|
487
|
+
| **Aligned version** ✓ | Clear: doc v1.2.0 = applies to software v1.2.0 |
|
|
488
|
+
|
|
489
|
+
### 文件標頭範本
|
|
490
|
+
|
|
491
|
+
```markdown
|
|
492
|
+
# 文件標題
|
|
493
|
+
|
|
494
|
+
**適用版本**: 1.2.0 ← Aligned with software version
|
|
495
|
+
**文件類型**: [指南/參考/規格]
|
|
496
|
+
**目標讀者**: [開發者/維運/使用者]
|
|
497
|
+
**文件更新日期**: 2025-12-11 ← Date of last edit
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### 欄位定義
|
|
503
|
+
|
|
504
|
+
| Field | Required | Description |
|
|
505
|
+
|-------|----------|-------------|
|
|
506
|
+
| 適用版本 | ✅ Yes | The software version this document applies to |
|
|
507
|
+
| 文件類型 | Recommended | Category: Guide, Reference, Specification, Tutorial |
|
|
508
|
+
| 目標讀者 | Recommended | Intended readers |
|
|
509
|
+
| 文件更新日期 | ✅ Yes | Date of last edit |
|
|
510
|
+
|
|
511
|
+
### 何時更新版本
|
|
512
|
+
|
|
513
|
+
| Scenario | Action |
|
|
514
|
+
|----------|--------|
|
|
515
|
+
| Software releases new version with feature changes | Update doc version to match |
|
|
516
|
+
| Minor doc typo fix (no software change) | Keep version, update Last Updated date only |
|
|
517
|
+
| Doc updated for upcoming release | Use new version number |
|
|
518
|
+
|
|
519
|
+
### 範例
|
|
520
|
+
|
|
521
|
+
✅ **正確**:
|
|
522
|
+
```markdown
|
|
523
|
+
# Upgrade Guide
|
|
524
|
+
|
|
525
|
+
**適用版本**: 1.2.0
|
|
526
|
+
**文件更新日期**: 2025-12-11
|
|
527
|
+
```
|
|
528
|
+
This means: "Use this guide when upgrading to v1.2.0"
|
|
529
|
+
|
|
530
|
+
❌ **錯誤**:
|
|
531
|
+
```markdown
|
|
532
|
+
# Upgrade Guide
|
|
533
|
+
|
|
534
|
+
**Version**: 1.1 ← Ambiguous: document revision or software version?
|
|
535
|
+
**Updated**: 2025-12-11
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
|
|
540
|
+
## 詳細文件 (`docs/`)
|
|
541
|
+
|
|
542
|
+
### docs/index.md
|
|
543
|
+
|
|
544
|
+
**目的**: 所有文件的導覽中心
|
|
545
|
+
|
|
546
|
+
**範本**:
|
|
547
|
+
```markdown
|
|
548
|
+
# Documentation Index
|
|
549
|
+
|
|
550
|
+
## By Role
|
|
551
|
+
|
|
552
|
+
### For Users
|
|
553
|
+
- [Getting Started](getting-started.md)
|
|
554
|
+
- [User Guide](user-guide.md)
|
|
555
|
+
- [FAQ](faq.md)
|
|
556
|
+
|
|
557
|
+
### For Developers
|
|
558
|
+
- [Architecture](architecture.md)
|
|
559
|
+
- [API Reference](api-reference.md)
|
|
560
|
+
- [Development Guide](development-guide.md)
|
|
561
|
+
|
|
562
|
+
### For Operators
|
|
563
|
+
- [Deployment Guide](deployment.md)
|
|
564
|
+
- [Configuration](configuration.md)
|
|
565
|
+
- [Troubleshooting](troubleshooting.md)
|
|
566
|
+
|
|
567
|
+
## By Topic
|
|
568
|
+
|
|
569
|
+
### Authentication
|
|
570
|
+
- [Architecture](architecture.md#authentication)
|
|
571
|
+
- [API Endpoints](api-reference.md#authentication)
|
|
572
|
+
|
|
573
|
+
### Database
|
|
574
|
+
- [Schema](architecture.md#database-schema)
|
|
575
|
+
- [Migrations](development-guide.md#database-migrations)
|
|
576
|
+
|
|
577
|
+
### Flow Documentation
|
|
578
|
+
See [flows/README.md](flows/README.md) for complete index.
|
|
579
|
+
|
|
580
|
+
## Quick Links
|
|
581
|
+
|
|
582
|
+
- [GitHub Repository](https://github.com/org/repo)
|
|
583
|
+
- [Issue Tracker](https://github.com/org/repo/issues)
|
|
584
|
+
- [Changelog](../CHANGELOG.md)
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
---
|
|
588
|
+
|
|
589
|
+
### docs/getting-started.md
|
|
590
|
+
|
|
591
|
+
**目的**: 新使用者快速入門
|
|
592
|
+
|
|
593
|
+
**結構**:
|
|
594
|
+
1. Prerequisites
|
|
595
|
+
2. Installation
|
|
596
|
+
3. Basic Configuration
|
|
597
|
+
4. First Example
|
|
598
|
+
5. Next Steps
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
### docs/architecture.md
|
|
603
|
+
|
|
604
|
+
**目的**: 系統設計與技術架構
|
|
605
|
+
|
|
606
|
+
**結構**:
|
|
607
|
+
1. Overview
|
|
608
|
+
2. System Components
|
|
609
|
+
3. Data Flow
|
|
610
|
+
4. Design Decisions
|
|
611
|
+
5. Technology Stack
|
|
612
|
+
6. Security Architecture
|
|
613
|
+
7. Performance Considerations
|
|
614
|
+
|
|
615
|
+
**包含圖表**:
|
|
616
|
+
- System overview diagram
|
|
617
|
+
- Component diagram
|
|
618
|
+
- Data flow diagram
|
|
619
|
+
- Deployment diagram
|
|
620
|
+
|
|
621
|
+
**必須包含在參考資料中**:
|
|
622
|
+
- Link to `flows/README.md` for detailed flow documentation
|
|
623
|
+
|
|
624
|
+
---
|
|
625
|
+
|
|
626
|
+
### docs/api-reference.md
|
|
627
|
+
|
|
628
|
+
**目的**: 完整 API 文件
|
|
629
|
+
|
|
630
|
+
**結構**:
|
|
631
|
+
1. API Overview
|
|
632
|
+
2. Authentication
|
|
633
|
+
3. Endpoints (grouped by resource)
|
|
634
|
+
4. Request/Response Examples
|
|
635
|
+
5. Error Codes
|
|
636
|
+
6. Rate Limiting
|
|
637
|
+
|
|
638
|
+
**Endpoint 範本**:
|
|
639
|
+
```markdown
|
|
640
|
+
## POST /api/users/authenticate
|
|
641
|
+
|
|
642
|
+
Authenticates a user and returns access token.
|
|
643
|
+
|
|
644
|
+
### Request
|
|
645
|
+
|
|
646
|
+
**Headers**:
|
|
647
|
+
```
|
|
648
|
+
Content-Type: application/json
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
**Body**:
|
|
652
|
+
```json
|
|
653
|
+
{
|
|
654
|
+
"username": "string",
|
|
655
|
+
"password": "string"
|
|
656
|
+
}
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
### Response
|
|
660
|
+
|
|
661
|
+
**Success (200 OK)**:
|
|
662
|
+
```json
|
|
663
|
+
{
|
|
664
|
+
"accessToken": "string",
|
|
665
|
+
"expiresIn": 3600
|
|
666
|
+
}
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
**Error (401 Unauthorized)**:
|
|
670
|
+
```json
|
|
671
|
+
{
|
|
672
|
+
"error": "INVALID_CREDENTIALS",
|
|
673
|
+
"message": "Invalid username or password"
|
|
674
|
+
}
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
### Examples
|
|
678
|
+
|
|
679
|
+
```bash
|
|
680
|
+
curl -X POST https://api.example.com/api/users/authenticate \
|
|
681
|
+
-H "Content-Type: application/json" \
|
|
682
|
+
-d '{"username":"user@example.com","password":"secret"}'
|
|
683
|
+
```
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
**必須包含在參考資料中**:
|
|
687
|
+
- Link to relevant flow documentation (e.g., `flows/auth/auth-flow.md`)
|
|
688
|
+
|
|
689
|
+
---
|
|
690
|
+
|
|
691
|
+
### docs/deployment.md
|
|
692
|
+
|
|
693
|
+
**目的**: 如何部署應用程式
|
|
694
|
+
|
|
695
|
+
**結構**:
|
|
696
|
+
1. Prerequisites
|
|
697
|
+
2. Environment Setup
|
|
698
|
+
3. Configuration
|
|
699
|
+
4. Deployment Steps
|
|
700
|
+
5. Verification
|
|
701
|
+
6. Rollback Procedure
|
|
702
|
+
7. Monitoring
|
|
703
|
+
|
|
704
|
+
**必須包含在參考資料中**:
|
|
705
|
+
- Link to relevant daemon/service flow documentation
|
|
706
|
+
|
|
707
|
+
---
|
|
708
|
+
|
|
709
|
+
### docs/troubleshooting.md
|
|
710
|
+
|
|
711
|
+
**目的**: 常見問題與解決方案
|
|
712
|
+
|
|
713
|
+
**結構**:
|
|
714
|
+
```markdown
|
|
715
|
+
# Troubleshooting Guide
|
|
716
|
+
|
|
717
|
+
## Installation Issues
|
|
718
|
+
|
|
719
|
+
### Problem: npm install fails with EACCES error
|
|
720
|
+
|
|
721
|
+
**Symptoms**:
|
|
722
|
+
```
|
|
723
|
+
Error: EACCES: permission denied
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
**Solution**:
|
|
727
|
+
```bash
|
|
728
|
+
sudo chown -R $(whoami) ~/.npm
|
|
729
|
+
npm install
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
---
|
|
733
|
+
|
|
734
|
+
## Runtime Issues
|
|
735
|
+
|
|
736
|
+
### Problem: Application crashes with "Cannot find module"
|
|
737
|
+
|
|
738
|
+
**Symptoms**:
|
|
739
|
+
- Error: Cannot find module 'express'
|
|
740
|
+
- Application exits immediately
|
|
741
|
+
|
|
742
|
+
**Solution**:
|
|
743
|
+
1. Check node_modules exists
|
|
744
|
+
2. Run `npm install`
|
|
745
|
+
3. Verify package.json dependencies
|
|
746
|
+
|
|
747
|
+
**Prevention**:
|
|
748
|
+
- Always run `npm install` after pulling changes
|
|
749
|
+
- Commit package-lock.json to version control
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
---
|
|
753
|
+
|
|
754
|
+
## 圖表文件
|
|
755
|
+
|
|
756
|
+
### 流程與圖表分離
|
|
757
|
+
|
|
758
|
+
理解 `flows/` 與 `diagrams/` 目錄的區別:
|
|
759
|
+
|
|
760
|
+
- **`docs/diagrams/`**: Static architecture diagrams (DFD, ER, C4 Model, Deployment, Class diagrams)
|
|
761
|
+
- **`docs/flows/`**: Dynamic flow documentation (Sequence Diagrams, API call flows, Job scheduling flows)
|
|
762
|
+
|
|
763
|
+
| Type | Description | Directory | Examples |
|
|
764
|
+
|------|-------------|-----------|----------|
|
|
765
|
+
| **Flow** | Dynamic behavior: how data flows, step sequences | `docs/flows/` | Sequence diagrams, API call flows, job scheduling |
|
|
766
|
+
| **Diagram** | Static structure: system composition, relationships, data models | `docs/diagrams/` | DFD, ER diagrams, C4 architecture, deployment diagrams |
|
|
767
|
+
|
|
768
|
+
**理由**:
|
|
769
|
+
- Clear separation reduces confusion about where to place new documentation
|
|
770
|
+
- Static diagrams rarely change; dynamic flows may update with feature changes
|
|
771
|
+
- Different audiences: diagrams for architects, flows for developers and operators
|
|
772
|
+
|
|
773
|
+
### 建議工具
|
|
774
|
+
|
|
775
|
+
- **Mermaid**: Text-based diagrams (GitHub/GitLab native support)
|
|
776
|
+
- **PlantUML**: UML diagrams from text
|
|
777
|
+
- **Draw.io / Excalidraw**: Visual diagram editors
|
|
778
|
+
- **ASCII Art**: Simple text diagrams
|
|
779
|
+
|
|
780
|
+
### Mermaid 範例
|
|
781
|
+
|
|
782
|
+
**System Flow**:
|
|
783
|
+
```mermaid
|
|
784
|
+
graph LR
|
|
785
|
+
A[User] --> B[API Gateway]
|
|
786
|
+
B --> C[Auth Service]
|
|
787
|
+
B --> D[Business Logic]
|
|
788
|
+
D --> E[Database]
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
**Sequence Diagram**:
|
|
792
|
+
```mermaid
|
|
793
|
+
sequenceDiagram
|
|
794
|
+
User->>+API: POST /login
|
|
795
|
+
API->>+Auth: Validate credentials
|
|
796
|
+
Auth->>+DB: Query user
|
|
797
|
+
DB-->>-Auth: User data
|
|
798
|
+
Auth-->>-API: Token
|
|
799
|
+
API-->>-User: 200 OK + Token
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
### DFD 規範
|
|
803
|
+
|
|
804
|
+
Flow documents should include DFD diagrams:
|
|
805
|
+
|
|
806
|
+
| DFD Level | Description | Required |
|
|
807
|
+
|-----------|-------------|:--------:|
|
|
808
|
+
| Context Diagram | System and external entity relationships | ✅ |
|
|
809
|
+
| Level 0 DFD | Main processes and data stores | ✅ |
|
|
810
|
+
| Level 1 DFD | Expanded sub-processes | ⚪ (based on complexity) |
|
|
811
|
+
| Physical DFD | Implementation mapping (technology stack, DB tables, API endpoints) | ⚪ (advanced) |
|
|
812
|
+
|
|
813
|
+
**邏輯與實體 DFD**:
|
|
814
|
+
|
|
815
|
+
| Type | Describes | Audience | Example Content |
|
|
816
|
+
|------|-----------|----------|-----------------|
|
|
817
|
+
| **Logical DFD** (Level 0/1) | WHAT the system does (business processes) | Business analysts, PMs, new developers | Process names, data flows, business rules |
|
|
818
|
+
| **Physical DFD** | HOW it's implemented (technology details) | Operations engineers, DBAs, system integrators | Database tables, API endpoints, file paths, config parameters |
|
|
819
|
+
|
|
820
|
+
**DFD Symbol Standards (Mermaid)**:
|
|
821
|
+
|
|
822
|
+
| Symbol | Represents | Mermaid Syntax |
|
|
823
|
+
|--------|------------|----------------|
|
|
824
|
+
| Rectangle | External Entity | `[Name]` |
|
|
825
|
+
| Double Circle | Process | `((ID<br/>Name))` |
|
|
826
|
+
| Cylinder | Data Store | `[(D# Name)]` |
|
|
827
|
+
| Solid Arrow | Data Flow | `-->|label|` |
|
|
828
|
+
| Dashed Arrow | Error/Exception | `-.->|label|` |
|
|
829
|
+
|
|
830
|
+
**DFD Color Standards**:
|
|
831
|
+
|
|
832
|
+
| Color | Usage | Mermaid Style |
|
|
833
|
+
|-------|-------|---------------|
|
|
834
|
+
| 🟦 Blue | External Entity | `fill:#e3f2fd,stroke:#1976d2` |
|
|
835
|
+
| 🟩 Green | Primary Data Table | `fill:#c8e6c9,stroke:#388e3c` |
|
|
836
|
+
| 🟨 Yellow | Cache/Tracking Data | `fill:#fff9c4,stroke:#f9a825` |
|
|
837
|
+
| 🟧 Orange | Updated Data | `fill:#ffccbc,stroke:#e64a19` |
|
|
838
|
+
|
|
839
|
+
---
|
|
840
|
+
|
|
841
|
+
## 程式碼範例 (`examples/`)
|
|
842
|
+
|
|
843
|
+
### 結構
|
|
844
|
+
|
|
845
|
+
```
|
|
846
|
+
examples/
|
|
847
|
+
├── README.md # Overview of examples
|
|
848
|
+
├── basic-usage/
|
|
849
|
+
│ ├── simple-auth.js # Simple authentication example
|
|
850
|
+
│ ├── README.md # Explanation
|
|
851
|
+
│ └── package.json # Dependencies
|
|
852
|
+
├── advanced-usage/
|
|
853
|
+
│ ├── custom-auth.js # Advanced authentication
|
|
854
|
+
│ ├── README.md
|
|
855
|
+
│ └── package.json
|
|
856
|
+
└── integration-tests/
|
|
857
|
+
└── ...
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
### 範例 README 範本
|
|
861
|
+
|
|
862
|
+
```markdown
|
|
863
|
+
# Basic Usage Examples
|
|
864
|
+
|
|
865
|
+
## Simple Authentication
|
|
866
|
+
|
|
867
|
+
Demonstrates basic user authentication flow.
|
|
868
|
+
|
|
869
|
+
### Prerequisites
|
|
870
|
+
|
|
871
|
+
- Node.js 18+
|
|
872
|
+
- npm 9+
|
|
873
|
+
|
|
874
|
+
### Setup
|
|
875
|
+
|
|
876
|
+
```bash
|
|
877
|
+
cd examples/basic-usage
|
|
878
|
+
npm install
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
### Run
|
|
882
|
+
|
|
883
|
+
```bash
|
|
884
|
+
node simple-auth.js
|
|
885
|
+
```
|
|
886
|
+
|
|
887
|
+
### Expected Output
|
|
888
|
+
|
|
889
|
+
```
|
|
890
|
+
User authenticated successfully!
|
|
891
|
+
Token: eyJhbGc...
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
### Code Walkthrough
|
|
895
|
+
|
|
896
|
+
```javascript
|
|
897
|
+
// 1. Import library
|
|
898
|
+
const { AuthClient } = require('your-lib');
|
|
899
|
+
|
|
900
|
+
// 2. Create client
|
|
901
|
+
const client = new AuthClient({
|
|
902
|
+
apiUrl: 'https://api.example.com'
|
|
903
|
+
});
|
|
904
|
+
|
|
905
|
+
// 3. Authenticate
|
|
906
|
+
const token = await client.authenticate('user', 'pass');
|
|
907
|
+
console.log('Token:', token);
|
|
908
|
+
```
|
|
909
|
+
```
|
|
910
|
+
|
|
911
|
+
---
|
|
912
|
+
|
|
913
|
+
## 文件維護
|
|
914
|
+
|
|
915
|
+
### 文件更新檢查清單
|
|
916
|
+
|
|
917
|
+
When making code changes, update documentation:
|
|
918
|
+
|
|
919
|
+
- [ ] **README.md** if:
|
|
920
|
+
- Installation process changed
|
|
921
|
+
- Quick start example changed
|
|
922
|
+
- New major feature added
|
|
923
|
+
|
|
924
|
+
- [ ] **API Reference** if:
|
|
925
|
+
- API endpoints added/changed/removed
|
|
926
|
+
- Request/response format changed
|
|
927
|
+
- New error codes introduced
|
|
928
|
+
|
|
929
|
+
- [ ] **Architecture Docs** if:
|
|
930
|
+
- System design changed
|
|
931
|
+
- New components added
|
|
932
|
+
- Technology stack changed
|
|
933
|
+
|
|
934
|
+
- [ ] **Flow Documentation** if:
|
|
935
|
+
- Business logic changed
|
|
936
|
+
- New integration added
|
|
937
|
+
- Data flow modified
|
|
938
|
+
|
|
939
|
+
- [ ] **CHANGELOG.md** (always):
|
|
940
|
+
- Add entry for every release
|
|
941
|
+
- Document breaking changes
|
|
942
|
+
- List new features and fixes
|
|
943
|
+
- **Record documentation additions/changes**
|
|
944
|
+
|
|
945
|
+
- [ ] **Cross-References**:
|
|
946
|
+
- Update related documents' reference sections
|
|
947
|
+
- Update index.md if new documents added
|
|
948
|
+
|
|
949
|
+
---
|
|
950
|
+
|
|
951
|
+
## 文件品質標準
|
|
952
|
+
|
|
953
|
+
### 可讀性
|
|
954
|
+
|
|
955
|
+
- [ ] Clear, concise language
|
|
956
|
+
- [ ] Short paragraphs (≤5 sentences)
|
|
957
|
+
- [ ] Active voice preferred
|
|
958
|
+
- [ ] Technical jargon explained
|
|
959
|
+
|
|
960
|
+
### 準確性
|
|
961
|
+
|
|
962
|
+
- [ ] Code examples tested and working
|
|
963
|
+
- [ ] Screenshots/diagrams up-to-date
|
|
964
|
+
- [ ] Version numbers correct
|
|
965
|
+
- [ ] Links not broken
|
|
966
|
+
|
|
967
|
+
### 完整性
|
|
968
|
+
|
|
969
|
+
- [ ] Prerequisites listed
|
|
970
|
+
- [ ] All steps documented
|
|
971
|
+
- [ ] Expected outcomes described
|
|
972
|
+
- [ ] Troubleshooting included
|
|
973
|
+
|
|
974
|
+
### 交叉連結
|
|
975
|
+
|
|
976
|
+
- [ ] Related documents linked
|
|
977
|
+
- [ ] Index updated
|
|
978
|
+
- [ ] References section complete
|
|
979
|
+
|
|
980
|
+
---
|
|
981
|
+
|
|
982
|
+
## 本地化
|
|
983
|
+
|
|
984
|
+
### 雙語文件
|
|
985
|
+
|
|
986
|
+
For international projects:
|
|
987
|
+
|
|
988
|
+
```
|
|
989
|
+
docs/
|
|
990
|
+
├── en/ # English documentation
|
|
991
|
+
│ ├── README.md
|
|
992
|
+
│ ├── getting-started.md
|
|
993
|
+
│ └── ...
|
|
994
|
+
├── zh-tw/ # Traditional Chinese
|
|
995
|
+
│ ├── README.md
|
|
996
|
+
│ ├── getting-started.md
|
|
997
|
+
│ └── ...
|
|
998
|
+
└── README.md # Language selector
|
|
999
|
+
```
|
|
1000
|
+
|
|
1001
|
+
**Language Selector (root docs/README.md)**:
|
|
1002
|
+
```markdown
|
|
1003
|
+
# Documentation
|
|
1004
|
+
|
|
1005
|
+
Select your language:
|
|
1006
|
+
- [English](en/README.md)
|
|
1007
|
+
- [繁體中文](zh-tw/README.md)
|
|
1008
|
+
- [日本語](ja/README.md)
|
|
1009
|
+
```
|
|
1010
|
+
|
|
1011
|
+
---
|
|
1012
|
+
|
|
1013
|
+
## 文件自動化
|
|
1014
|
+
|
|
1015
|
+
### API 文件自動生成
|
|
1016
|
+
|
|
1017
|
+
**工具**:
|
|
1018
|
+
- **Swagger/OpenAPI**: REST API documentation
|
|
1019
|
+
- **GraphQL**: Auto-generated schema docs
|
|
1020
|
+
- **JSDoc**: JavaScript API docs
|
|
1021
|
+
- **Doxygen**: C/C++ documentation
|
|
1022
|
+
- **Sphinx**: Python documentation
|
|
1023
|
+
- **Docusaurus**: Full documentation sites
|
|
1024
|
+
|
|
1025
|
+
### Example: Swagger Integration
|
|
1026
|
+
|
|
1027
|
+
```yaml
|
|
1028
|
+
# openapi.yaml
|
|
1029
|
+
openapi: 3.0.0
|
|
1030
|
+
info:
|
|
1031
|
+
title: User API
|
|
1032
|
+
version: 1.0.0
|
|
1033
|
+
|
|
1034
|
+
paths:
|
|
1035
|
+
/users/authenticate:
|
|
1036
|
+
post:
|
|
1037
|
+
summary: Authenticate user
|
|
1038
|
+
requestBody:
|
|
1039
|
+
required: true
|
|
1040
|
+
content:
|
|
1041
|
+
application/json:
|
|
1042
|
+
schema:
|
|
1043
|
+
type: object
|
|
1044
|
+
properties:
|
|
1045
|
+
username:
|
|
1046
|
+
type: string
|
|
1047
|
+
password:
|
|
1048
|
+
type: string
|
|
1049
|
+
responses:
|
|
1050
|
+
'200':
|
|
1051
|
+
description: Success
|
|
1052
|
+
content:
|
|
1053
|
+
application/json:
|
|
1054
|
+
schema:
|
|
1055
|
+
type: object
|
|
1056
|
+
properties:
|
|
1057
|
+
accessToken:
|
|
1058
|
+
type: string
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
---
|
|
1062
|
+
|
|
1063
|
+
## 文件托管
|
|
1064
|
+
|
|
1065
|
+
### 選項
|
|
1066
|
+
|
|
1067
|
+
| Platform | Best For | Cost |
|
|
1068
|
+
|----------|----------|------|
|
|
1069
|
+
| **GitHub Pages** | Open source projects | Free |
|
|
1070
|
+
| **GitLab Pages** | GitLab projects | Free |
|
|
1071
|
+
| **Read the Docs** | Python projects | Free |
|
|
1072
|
+
| **Docusaurus** | Full documentation sites | Free (self-hosted) |
|
|
1073
|
+
| **GitBook** | Beautiful docs UI | Free tier available |
|
|
1074
|
+
|
|
1075
|
+
### GitHub Pages Setup
|
|
1076
|
+
|
|
1077
|
+
```bash
|
|
1078
|
+
# 1. Create docs branch
|
|
1079
|
+
git checkout --orphan gh-pages
|
|
1080
|
+
|
|
1081
|
+
# 2. Add documentation
|
|
1082
|
+
cp -r docs/* .
|
|
1083
|
+
|
|
1084
|
+
# 3. Push to GitHub
|
|
1085
|
+
git add .
|
|
1086
|
+
git commit -m "docs: initial documentation"
|
|
1087
|
+
git push origin gh-pages
|
|
1088
|
+
|
|
1089
|
+
# 4. Enable in GitHub Settings → Pages
|
|
1090
|
+
# Choose gh-pages branch
|
|
1091
|
+
```
|
|
1092
|
+
|
|
1093
|
+
---
|
|
1094
|
+
|
|
1095
|
+
## 相關標準
|
|
1096
|
+
|
|
1097
|
+
- [Documentation Writing Standards](documentation-writing-standards.md) - 文件撰寫規範
|
|
1098
|
+
- [Changelog Standards](changelog-standards.md) - 變更日誌標準
|
|
1099
|
+
- [Project Structure Standard](project-structure.md) - 專案結構標準
|
|
1100
|
+
|
|
1101
|
+
---
|
|
1102
|
+
|
|
1103
|
+
## 版本歷史
|
|
1104
|
+
|
|
1105
|
+
| Version | Date | Changes |
|
|
1106
|
+
|---------|------|---------|
|
|
1107
|
+
| 1.2.2 | 2025-12-24 | Added: Related Standards section |
|
|
1108
|
+
| 1.2.1 | 2025-12-12 | Added: Physical DFD layer, Flows vs Diagrams separation clarification |
|
|
1109
|
+
| 1.2.0 | 2025-12-11 | Added: Flow documentation standards, Cross-reference standards, Index document standards, CHANGELOG documentation integration, Document requirements matrix, DFD standards |
|
|
1110
|
+
| 1.1.0 | 2025-12-11 | Added: File naming conventions, Document version alignment standard |
|
|
1111
|
+
| 1.0.0 | 2025-11-12 | Initial documentation structure standard |
|
|
1112
|
+
|
|
1113
|
+
---
|
|
1114
|
+
|
|
1115
|
+
## 參考資料
|
|
1116
|
+
|
|
1117
|
+
- [Write the Docs](https://www.writethedocs.org/)
|
|
1118
|
+
- [Google Developer Documentation Style Guide](https://developers.google.com/style)
|
|
1119
|
+
- [Microsoft Writing Style Guide](https://docs.microsoft.com/en-us/style-guide/)
|
|
1120
|
+
|
|
1121
|
+
---
|
|
1122
|
+
|
|
1123
|
+
## 授權
|
|
1124
|
+
|
|
1125
|
+
本標準以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
|