universal-dev-standards 5.17.0 → 6.1.0
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 +13 -135
- package/bundled/ai/options/commit-message/bilingual.ai.yaml +19 -1
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +3 -3
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/documentation-writing-standards.ai.yaml +1 -1
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/frontend-design-standards.ai.yaml +33 -3
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/push-standards.ai.yaml +14 -3
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/requirement-engineering.ai.yaml +42 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/self-review-protocol.ai.yaml +15 -10
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-evidence.ai.yaml +88 -5
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +10 -3
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +2 -2
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/feature-discovery-standards.md +191 -0
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/frontend-design-standards.md +93 -4
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/multi-environment-e2e-testing.md +195 -0
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/push-standards.md +82 -0
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/requirement-engineering.md +2 -2
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +15 -10
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-evidence.md +170 -10
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +94 -77
- package/bundled/locales/zh-CN/CHANGELOG.md +94 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/MAINTENANCE.md +42 -661
- package/bundled/locales/zh-CN/README.md +25 -12
- package/bundled/locales/zh-CN/SECURITY.md +2 -2
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +239 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +200 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +269 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +131 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +205 -7
- package/bundled/locales/zh-CN/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +113 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +172 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/verification-evidence.md +252 -41
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +115 -17
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +37 -12
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +169 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +94 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +51 -4
- package/bundled/locales/zh-TW/README.md +25 -12
- package/bundled/locales/zh-TW/SECURITY.md +2 -2
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +131 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +113 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +18 -13
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-evidence.md +260 -31
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +116 -18
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +38 -11
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +52 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +139 -15
- package/bundled/skills/brainstorm-assistant/guide.md +39 -8
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +13 -2
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +4 -4
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +168 -75
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +61 -149
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: options/changelog/auto-generated.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
status: current
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 自動產生的 Changelog
|
|
9
|
+
|
|
10
|
+
> **語言**: [English](../../../../options/changelog/auto-generated.md) | 繁體中文
|
|
11
|
+
|
|
12
|
+
**上層標準**: [Changelog Standards](../../core/changelog-standards.md)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 概觀
|
|
17
|
+
|
|
18
|
+
自動產生的 changelog 是使用解析 Conventional Commits 的工具,從 commit 歷史自動建立而來。此做法可減少人工作業,並確保 commit 與 changelog 條目之間的一致性。
|
|
19
|
+
|
|
20
|
+
## 最適用於
|
|
21
|
+
|
|
22
|
+
- 使用 Conventional Commits 的專案
|
|
23
|
+
- CI/CD 自動化發行
|
|
24
|
+
- 頻繁的發行週期
|
|
25
|
+
- 偏好自動化而非手動編輯的團隊
|
|
26
|
+
- 含多個套件的 Monorepo
|
|
27
|
+
|
|
28
|
+
## 先決條件
|
|
29
|
+
|
|
30
|
+
- 所有 commit 均採用 Conventional Commits 格式
|
|
31
|
+
- 一致的 commit message 結構
|
|
32
|
+
- CI/CD pipeline 整合
|
|
33
|
+
|
|
34
|
+
## 工具
|
|
35
|
+
|
|
36
|
+
| 工具 | 平台 | 命令 | 設定檔 |
|
|
37
|
+
|------|----------|---------|-------------|
|
|
38
|
+
| **conventional-changelog** | Node.js | `npx conventional-changelog -p angular -i CHANGELOG.md -s` | `.changelogrc` |
|
|
39
|
+
| **semantic-release** | Node.js | `npx semantic-release` | `.releaserc` |
|
|
40
|
+
| **git-cliff** | Rust | `git cliff -o CHANGELOG.md` | `cliff.toml` |
|
|
41
|
+
| **release-please** | GitHub Action | GitHub workflow | `release-please-config.json` |
|
|
42
|
+
|
|
43
|
+
## Commit 對應 Changelog
|
|
44
|
+
|
|
45
|
+
| Commit 類型 | Changelog 區段 |
|
|
46
|
+
|-------------|-------------------|
|
|
47
|
+
| `feat` | Added |
|
|
48
|
+
| `fix` | Fixed |
|
|
49
|
+
| `perf` | Changed |
|
|
50
|
+
| `refactor` | Changed |
|
|
51
|
+
| `docs` | Documentation |
|
|
52
|
+
| `chore` | Maintenance |
|
|
53
|
+
| `BREAKING CHANGE` | Breaking Changes |
|
|
54
|
+
|
|
55
|
+
## 設定範例
|
|
56
|
+
|
|
57
|
+
### conventional-changelog
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
// .changelogrc
|
|
61
|
+
{
|
|
62
|
+
"preset": "angular",
|
|
63
|
+
"releaseCount": 0
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### git-cliff
|
|
68
|
+
|
|
69
|
+
```toml
|
|
70
|
+
# cliff.toml
|
|
71
|
+
[changelog]
|
|
72
|
+
header = "# Changelog\n\n"
|
|
73
|
+
body = """
|
|
74
|
+
{% for group, commits in commits | group_by(attribute="group") %}
|
|
75
|
+
### {{ group | upper_first }}
|
|
76
|
+
{% for commit in commits %}
|
|
77
|
+
- {{ commit.message | upper_first }}
|
|
78
|
+
{%- endfor %}
|
|
79
|
+
{% endfor %}
|
|
80
|
+
"""
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### semantic-release
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
// .releaserc
|
|
87
|
+
{
|
|
88
|
+
"branches": ["main"],
|
|
89
|
+
"plugins": [
|
|
90
|
+
"@semantic-release/commit-analyzer",
|
|
91
|
+
"@semantic-release/release-notes-generator",
|
|
92
|
+
"@semantic-release/changelog",
|
|
93
|
+
"@semantic-release/npm",
|
|
94
|
+
"@semantic-release/git"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 規則
|
|
100
|
+
|
|
101
|
+
| 規則 | 描述 | 優先級 |
|
|
102
|
+
|------|-------------|----------|
|
|
103
|
+
| 使用 Conventional Commits | 將 commit 格式化以便正確解析 | Required |
|
|
104
|
+
| 使用 scope 進行分組 | scope 有助於將相關變更分組 | Recommended |
|
|
105
|
+
| BREAKING CHANGE footer | 為重大變更加上 footer | Required |
|
|
106
|
+
| 設定 CI/CD | 自動化 changelog 產生 | Recommended |
|
|
107
|
+
|
|
108
|
+
## 與手動方式的比較
|
|
109
|
+
|
|
110
|
+
| 面向 | 自動產生 | 手動(Keep a Changelog) |
|
|
111
|
+
|--------|---------------|---------------------------|
|
|
112
|
+
| 工作量 | 低(自動化) | 高(人工撰寫) |
|
|
113
|
+
| 一致性 | 高(以範本為基礎) | 不一(人工撰寫) |
|
|
114
|
+
| 詳細程度 | Commit 層級 | 功能層級(經整理) |
|
|
115
|
+
| 先決條件 | Conventional Commits | 無 |
|
|
116
|
+
| 最適用於 | 頻繁發行 | 里程碑發行 |
|
|
117
|
+
|
|
118
|
+
## 工作流程整合
|
|
119
|
+
|
|
120
|
+
```yaml
|
|
121
|
+
# GitHub Actions example
|
|
122
|
+
name: Release
|
|
123
|
+
on:
|
|
124
|
+
push:
|
|
125
|
+
branches: [main]
|
|
126
|
+
|
|
127
|
+
jobs:
|
|
128
|
+
release:
|
|
129
|
+
runs-on: ubuntu-latest
|
|
130
|
+
steps:
|
|
131
|
+
- uses: actions/checkout@v4
|
|
132
|
+
with:
|
|
133
|
+
fetch-depth: 0
|
|
134
|
+
|
|
135
|
+
- name: Generate Changelog
|
|
136
|
+
run: npx conventional-changelog -p angular -i CHANGELOG.md -s
|
|
137
|
+
|
|
138
|
+
- name: Commit Changelog
|
|
139
|
+
run: |
|
|
140
|
+
git config user.name "github-actions"
|
|
141
|
+
git config user.email "github-actions@github.com"
|
|
142
|
+
git add CHANGELOG.md
|
|
143
|
+
git commit -m "docs: update changelog" || true
|
|
144
|
+
git push
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## 相關選項
|
|
148
|
+
|
|
149
|
+
- [Keep a Changelog](./keep-a-changelog.md) - 用於手動維護 changelog
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 參考資料
|
|
154
|
+
|
|
155
|
+
- [Conventional Changelog](https://github.com/conventional-changelog/conventional-changelog)
|
|
156
|
+
- [Semantic Release](https://semantic-release.gitbook.io/)
|
|
157
|
+
- [Git Cliff](https://git-cliff.org/)
|
|
158
|
+
- [Release Please](https://github.com/googleapis/release-please)
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 授權
|
|
163
|
+
|
|
164
|
+
本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 釋出。
|
|
165
|
+
|
|
166
|
+
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: options/changelog/keep-a-changelog.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
status: current
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Keep a Changelog
|
|
9
|
+
|
|
10
|
+
> **語言**: [English](../../../../options/changelog/keep-a-changelog.md) | 繁體中文
|
|
11
|
+
|
|
12
|
+
**上層標準**: [Changelog Standards](../../core/changelog-standards.md)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 概觀
|
|
17
|
+
|
|
18
|
+
Keep a Changelog 是維護人類可讀變更日誌的標準格式。它強調清晰與一致性,讓使用者與開發者能輕鬆理解各版本之間有哪些變更。
|
|
19
|
+
|
|
20
|
+
## 最適用於
|
|
21
|
+
|
|
22
|
+
- 開源專案
|
|
23
|
+
- 需要人類可讀變更日誌的專案
|
|
24
|
+
- 遵循 Semantic Versioning 的專案
|
|
25
|
+
- 手動發行管理
|
|
26
|
+
- 重視精心撰寫之發行說明的專案
|
|
27
|
+
|
|
28
|
+
## 格式結構
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
# Changelog
|
|
32
|
+
|
|
33
|
+
All notable changes to this project will be documented in this file.
|
|
34
|
+
|
|
35
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
36
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
37
|
+
|
|
38
|
+
## [Unreleased]
|
|
39
|
+
|
|
40
|
+
## [X.Y.Z] - YYYY-MM-DD
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
- New features
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Changes in existing functionality
|
|
47
|
+
|
|
48
|
+
### Deprecated
|
|
49
|
+
- Soon-to-be removed features
|
|
50
|
+
|
|
51
|
+
### Removed
|
|
52
|
+
- Removed features
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
- Bug fixes
|
|
56
|
+
|
|
57
|
+
### Security
|
|
58
|
+
- Security vulnerability fixes
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 變更類型
|
|
62
|
+
|
|
63
|
+
| 類型 | 順序 | 描述 |
|
|
64
|
+
|------|-------|-------------|
|
|
65
|
+
| **Added** | 1 | 新增功能 |
|
|
66
|
+
| **Changed** | 2 | 既有功能的變更 |
|
|
67
|
+
| **Deprecated** | 3 | 即將移除的功能 |
|
|
68
|
+
| **Removed** | 4 | 已移除的功能 |
|
|
69
|
+
| **Fixed** | 5 | 錯誤修正 |
|
|
70
|
+
| **Security** | 6 | 安全漏洞修正 |
|
|
71
|
+
|
|
72
|
+
## 核心原則
|
|
73
|
+
|
|
74
|
+
1. **變更日誌是寫給人看的** - 不是機器產生的 commit 傾印
|
|
75
|
+
2. **每個版本都有區段** - 即使沒有變更
|
|
76
|
+
3. **依類型分組** - 使用標準變更類型
|
|
77
|
+
4. **日期採 ISO 格式** - 使用 YYYY-MM-DD
|
|
78
|
+
5. **最新在前** - 反向時間順序排列
|
|
79
|
+
6. **Unreleased 區段** - 追蹤進行中的變更
|
|
80
|
+
|
|
81
|
+
## 範例條目
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## [1.2.0] - 2025-01-15
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
- User authentication with OAuth2 support (#123)
|
|
88
|
+
- Dark mode theme option (#145)
|
|
89
|
+
|
|
90
|
+
### Changed
|
|
91
|
+
- Updated API response format for consistency
|
|
92
|
+
|
|
93
|
+
### Fixed
|
|
94
|
+
- Login timeout issue on slow networks (#156)
|
|
95
|
+
|
|
96
|
+
### Security
|
|
97
|
+
- Updated dependencies to patch CVE-2025-1234
|
|
98
|
+
|
|
99
|
+
[Unreleased]: https://github.com/user/repo/compare/v1.2.0...HEAD
|
|
100
|
+
[1.2.0]: https://github.com/user/repo/compare/v1.1.0...v1.2.0
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 規則
|
|
104
|
+
|
|
105
|
+
| 規則 | 描述 | 優先級 |
|
|
106
|
+
|------|-------------|----------|
|
|
107
|
+
| 使用 [Unreleased] | 開發期間新增條目 | Required |
|
|
108
|
+
| 發行時移動 | 將條目移至帶日期的版本區段 | Required |
|
|
109
|
+
| 反向時間順序 | 最新版本置於頂部 | Required |
|
|
110
|
+
| 連結版本 | 在檔案底部加入 diff 連結 | Recommended |
|
|
111
|
+
| ISO 日期 | 使用 YYYY-MM-DD 格式 | Required |
|
|
112
|
+
|
|
113
|
+
## 與自動產生方式的比較
|
|
114
|
+
|
|
115
|
+
| 面向 | Keep a Changelog | 自動產生 |
|
|
116
|
+
|--------|-----------------|----------------|
|
|
117
|
+
| 投入心力 | 高(手動撰寫) | 低(自動化) |
|
|
118
|
+
| 一致性 | 不一(人工撰寫) | 高(基於範本) |
|
|
119
|
+
| 細節層級 | 功能層級(精心整理) | commit 層級 |
|
|
120
|
+
| 前置條件 | 無 | Conventional Commits |
|
|
121
|
+
| 最適用於 | 里程碑發行 | 頻繁發行 |
|
|
122
|
+
|
|
123
|
+
## 相關選項
|
|
124
|
+
|
|
125
|
+
- [Auto-Generated Changelog](./auto-generated.md) - 用於自動化變更日誌產生
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 參考資料
|
|
130
|
+
|
|
131
|
+
- [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
|
|
132
|
+
- [Semantic Versioning](https://semver.org/)
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 授權
|
|
137
|
+
|
|
138
|
+
本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權釋出。
|
|
139
|
+
|
|
140
|
+
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: options/code-review/automated-review.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
status: current
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 自動化程式碼審查
|
|
9
|
+
|
|
10
|
+
> **語言**: [English](../../../../options/code-review/automated-review.md) | 繁體中文
|
|
11
|
+
|
|
12
|
+
**上層標準**: [Code Review Checklist](../../core/code-review-checklist.md)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 概觀
|
|
17
|
+
|
|
18
|
+
自動化程式碼審查運用工具來分析程式碼以找出問題、強制執行標準,並在人工審查前攔截常見問題。它透過一致且即時地處理重複性檢查,補足人工審查的不足。
|
|
19
|
+
|
|
20
|
+
## 最適用於
|
|
21
|
+
|
|
22
|
+
- 及早攔截常見問題
|
|
23
|
+
- 一致地強制執行程式碼標準
|
|
24
|
+
- 減輕審查者的負擔
|
|
25
|
+
- CI/CD 整合
|
|
26
|
+
- 大型程式庫
|
|
27
|
+
- 分散式團隊
|
|
28
|
+
|
|
29
|
+
## 工具類別
|
|
30
|
+
|
|
31
|
+
### Static Analysis (SAST)
|
|
32
|
+
|
|
33
|
+
不執行程式碼即進行分析。
|
|
34
|
+
|
|
35
|
+
| Tool | 語言 | 重點 |
|
|
36
|
+
|------|-----------|-------|
|
|
37
|
+
| **ESLint** | JavaScript, TypeScript | 程式碼品質、風格 |
|
|
38
|
+
| **Pylint** | Python | 程式碼品質、錯誤 |
|
|
39
|
+
| **SonarQube** | 多語言 | 程式碼品質、安全性 |
|
|
40
|
+
| **Checkstyle** | Java | 風格、慣例 |
|
|
41
|
+
| **RuboCop** | Ruby | 風格、最佳實踐 |
|
|
42
|
+
| **golangci-lint** | Go | 多個 linter |
|
|
43
|
+
|
|
44
|
+
### 安全性掃描
|
|
45
|
+
|
|
46
|
+
找出安全性漏洞。
|
|
47
|
+
|
|
48
|
+
| Tool | 重點 |
|
|
49
|
+
|------|-------|
|
|
50
|
+
| **Snyk** | 相依套件漏洞 |
|
|
51
|
+
| **CodeQL** | 語意式程式碼分析 |
|
|
52
|
+
| **Bandit** | Python 安全性問題 |
|
|
53
|
+
| **Semgrep** | 自訂安全性規則 |
|
|
54
|
+
| **Brakeman** | Ruby on Rails 安全性 |
|
|
55
|
+
|
|
56
|
+
### 格式化
|
|
57
|
+
|
|
58
|
+
程式碼風格強制執行。
|
|
59
|
+
|
|
60
|
+
| Tool | 語言 |
|
|
61
|
+
|------|-----------|
|
|
62
|
+
| **Prettier** | JavaScript, TypeScript, CSS, HTML |
|
|
63
|
+
| **Black** | Python |
|
|
64
|
+
| **gofmt** | Go |
|
|
65
|
+
| **rustfmt** | Rust |
|
|
66
|
+
| **clang-format** | C, C++ |
|
|
67
|
+
|
|
68
|
+
### 型別檢查
|
|
69
|
+
|
|
70
|
+
型別安全驗證。
|
|
71
|
+
|
|
72
|
+
| Tool | 語言 |
|
|
73
|
+
|------|-----------|
|
|
74
|
+
| **TypeScript** | TypeScript, JavaScript |
|
|
75
|
+
| **mypy** | Python |
|
|
76
|
+
| **Flow** | JavaScript |
|
|
77
|
+
|
|
78
|
+
### AI 驅動審查
|
|
79
|
+
|
|
80
|
+
| Tool | 說明 |
|
|
81
|
+
|------|-------------|
|
|
82
|
+
| **GitHub Copilot** | AI 建議與審查 |
|
|
83
|
+
| **CodeRabbit** | AI PR 審查留言 |
|
|
84
|
+
| **Sourcery** | Python 程式碼改進 |
|
|
85
|
+
|
|
86
|
+
## CI 整合
|
|
87
|
+
|
|
88
|
+
### GitHub Actions
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
name: Code Review
|
|
92
|
+
on: [pull_request]
|
|
93
|
+
|
|
94
|
+
jobs:
|
|
95
|
+
lint:
|
|
96
|
+
runs-on: ubuntu-latest
|
|
97
|
+
steps:
|
|
98
|
+
- uses: actions/checkout@v4
|
|
99
|
+
- run: npm ci
|
|
100
|
+
- run: npm run lint
|
|
101
|
+
|
|
102
|
+
security:
|
|
103
|
+
runs-on: ubuntu-latest
|
|
104
|
+
steps:
|
|
105
|
+
- uses: actions/checkout@v4
|
|
106
|
+
- uses: snyk/actions/node@master
|
|
107
|
+
|
|
108
|
+
format-check:
|
|
109
|
+
runs-on: ubuntu-latest
|
|
110
|
+
steps:
|
|
111
|
+
- uses: actions/checkout@v4
|
|
112
|
+
- run: npm run format:check
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### GitLab CI
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
lint:
|
|
119
|
+
stage: test
|
|
120
|
+
script:
|
|
121
|
+
- npm run lint
|
|
122
|
+
|
|
123
|
+
security:
|
|
124
|
+
stage: test
|
|
125
|
+
script:
|
|
126
|
+
- snyk test
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## 規則
|
|
130
|
+
|
|
131
|
+
| 規則 | 說明 | 優先級 |
|
|
132
|
+
|------|-------------|----------|
|
|
133
|
+
| 錯誤時失敗 | 對重大問題阻擋合併 | Required |
|
|
134
|
+
| 警告作為建議 | 不阻擋的建議 | Recommended |
|
|
135
|
+
| 設定置於 repo 中 | 將工具設定存放於儲存庫 | Required |
|
|
136
|
+
| Pre-commit hooks | 於 commit 前執行檢查 | Recommended |
|
|
137
|
+
|
|
138
|
+
## 建議設定
|
|
139
|
+
|
|
140
|
+
### 最低
|
|
141
|
+
|
|
142
|
+
- 主要語言的 linter
|
|
143
|
+
- 格式化工具(啟用自動修正)
|
|
144
|
+
- 相依套件漏洞掃描器
|
|
145
|
+
|
|
146
|
+
### 建議
|
|
147
|
+
|
|
148
|
+
- 所有最低工具
|
|
149
|
+
- 型別檢查器(若適用)
|
|
150
|
+
- 安全性掃描器
|
|
151
|
+
- 程式碼覆蓋率檢查
|
|
152
|
+
|
|
153
|
+
### 全面
|
|
154
|
+
|
|
155
|
+
- 所有建議工具
|
|
156
|
+
- AI 程式碼審查
|
|
157
|
+
- 專案專屬的自訂規則
|
|
158
|
+
- 指標追蹤
|
|
159
|
+
|
|
160
|
+
## 與人工審查的比較
|
|
161
|
+
|
|
162
|
+
| 面向 | 自動化 | 人工審查 |
|
|
163
|
+
|--------|-----------|---------------|
|
|
164
|
+
| 速度 | 即時 | 數小時/數天 |
|
|
165
|
+
| 一致性 | 100% | 不一定 |
|
|
166
|
+
| 情境理解 | 有限 | 高 |
|
|
167
|
+
| 商業邏輯 | 無法驗證 | 可驗證 |
|
|
168
|
+
| 風格強制執行 | 優異 | 不一致 |
|
|
169
|
+
| 安全性基礎 | 良好 | 可能遺漏 |
|
|
170
|
+
| 成本 | 工具授權 | 開發者時間 |
|
|
171
|
+
|
|
172
|
+
## Pre-commit Hooks
|
|
173
|
+
|
|
174
|
+
```yaml
|
|
175
|
+
# .pre-commit-config.yaml
|
|
176
|
+
repos:
|
|
177
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
178
|
+
rev: v4.5.0
|
|
179
|
+
hooks:
|
|
180
|
+
- id: trailing-whitespace
|
|
181
|
+
- id: end-of-file-fixer
|
|
182
|
+
|
|
183
|
+
- repo: https://github.com/psf/black
|
|
184
|
+
rev: 24.1.0
|
|
185
|
+
hooks:
|
|
186
|
+
- id: black
|
|
187
|
+
|
|
188
|
+
- repo: https://github.com/pycqa/flake8
|
|
189
|
+
rev: 7.0.0
|
|
190
|
+
hooks:
|
|
191
|
+
- id: flake8
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## 相關選項
|
|
195
|
+
|
|
196
|
+
- [PR Review](./pr-review.md) - 傳統的 pull request 審查
|
|
197
|
+
- [Pair Programming](./pair-programming.md) - 即時協作審查
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 參考資料
|
|
202
|
+
|
|
203
|
+
- [SonarQube](https://www.sonarqube.org/)
|
|
204
|
+
- [ESLint](https://eslint.org/)
|
|
205
|
+
- [Snyk](https://snyk.io/)
|
|
206
|
+
- [Pre-commit](https://pre-commit.com/)
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 授權
|
|
211
|
+
|
|
212
|
+
本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 釋出。
|
|
213
|
+
|
|
214
|
+
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: options/code-review/pair-programming.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
status: current
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Pair Programming
|
|
9
|
+
|
|
10
|
+
> **語言**: [English](../../../../options/code-review/pair-programming.md) | 繁體中文
|
|
11
|
+
|
|
12
|
+
**上層標準**: [Code Review Checklist](../../core/code-review-checklist.md)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 概觀
|
|
17
|
+
|
|
18
|
+
Pair programming 是一種即時協作的程式碼審查方式,由兩位開發者在同一台工作站上共同作業。一人負責撰寫程式碼(Driver),另一人負責審查與引導(Navigator)。此方法能提供即時回饋,並促進知識傳遞。
|
|
19
|
+
|
|
20
|
+
## 最適用於
|
|
21
|
+
|
|
22
|
+
- 需要深入思考的複雜功能
|
|
23
|
+
- 知識傳遞與新人上手
|
|
24
|
+
- 關鍵的程式碼路徑
|
|
25
|
+
- 連線品質良好的同地或遠端團隊
|
|
26
|
+
- 資淺開發者的指導
|
|
27
|
+
|
|
28
|
+
## 角色
|
|
29
|
+
|
|
30
|
+
### Driver
|
|
31
|
+
**撰寫程式碼**
|
|
32
|
+
- 實作解決方案
|
|
33
|
+
- 說明思考過程
|
|
34
|
+
- 接納 navigator 的建議
|
|
35
|
+
- 專注於戰術層面的實作
|
|
36
|
+
|
|
37
|
+
### Navigator
|
|
38
|
+
**審查與引導**
|
|
39
|
+
- 即時審查程式碼
|
|
40
|
+
- 思考更全面的大方向
|
|
41
|
+
- 提出改進建議
|
|
42
|
+
- 及早抓出錯誤
|
|
43
|
+
- 考量邊界情況
|
|
44
|
+
|
|
45
|
+
## 配對模式
|
|
46
|
+
|
|
47
|
+
### Ping Pong
|
|
48
|
+
|
|
49
|
+
最適合 TDD 工作流程。
|
|
50
|
+
|
|
51
|
+
1. Driver 撰寫一個失敗的測試
|
|
52
|
+
2. 交換角色
|
|
53
|
+
3. 新的 driver 讓測試通過
|
|
54
|
+
4. 新的 driver 撰寫下一個失敗的測試
|
|
55
|
+
5. 交換並重複
|
|
56
|
+
|
|
57
|
+
### Strong-Style
|
|
58
|
+
|
|
59
|
+
最適合知識傳遞。
|
|
60
|
+
|
|
61
|
+
**規則**:「想法要從你的腦袋進到電腦裡,必須經過別人的雙手」
|
|
62
|
+
|
|
63
|
+
- Navigator 必須將所有想法說出來
|
|
64
|
+
- Driver 只輸入 navigator 口述的內容
|
|
65
|
+
- 確保完整的知識傳遞
|
|
66
|
+
|
|
67
|
+
### Driver-Navigator(傳統)
|
|
68
|
+
|
|
69
|
+
最常見的模式。
|
|
70
|
+
|
|
71
|
+
1. Driver 專注於戰術層面的編碼
|
|
72
|
+
2. Navigator 進行策略性思考
|
|
73
|
+
3. 每 25–30 分鐘交換一次
|
|
74
|
+
4. 雙方都貢獻想法
|
|
75
|
+
|
|
76
|
+
## 會議準則
|
|
77
|
+
|
|
78
|
+
### 準備
|
|
79
|
+
- 為本次會議定義明確目標
|
|
80
|
+
- 設置共用的開發環境
|
|
81
|
+
- 對配對模式達成共識
|
|
82
|
+
- 排除干擾
|
|
83
|
+
|
|
84
|
+
### 會議進行中
|
|
85
|
+
- 每 45–60 分鐘休息一次
|
|
86
|
+
- 定期交換角色(25–30 分鐘)
|
|
87
|
+
- 持續溝通
|
|
88
|
+
- 保持投入與專注
|
|
89
|
+
|
|
90
|
+
### 會議結束後
|
|
91
|
+
- 簡短的回顧
|
|
92
|
+
- 記錄所做的決策
|
|
93
|
+
- Commit 並 push 程式碼
|
|
94
|
+
- 分享學到的心得
|
|
95
|
+
|
|
96
|
+
## 工具
|
|
97
|
+
|
|
98
|
+
### 遠端配對
|
|
99
|
+
| 工具 | 平台 | 功能 |
|
|
100
|
+
|------|------|------|
|
|
101
|
+
| VS Code Live Share | VS Code | 即時編輯、終端機 |
|
|
102
|
+
| JetBrains Code With Me | JetBrains IDEs | 完整 IDE 共享 |
|
|
103
|
+
| Tuple | macOS | 低延遲、繪圖 |
|
|
104
|
+
| Screen sharing | 任何平台 | 備援選項 |
|
|
105
|
+
|
|
106
|
+
### 本地配對
|
|
107
|
+
- 一台電腦搭配兩組鍵盤/滑鼠
|
|
108
|
+
- 大型螢幕或投影機
|
|
109
|
+
- 舒適的座位安排
|
|
110
|
+
|
|
111
|
+
## 規則
|
|
112
|
+
|
|
113
|
+
| 規則 | 描述 | 優先級 |
|
|
114
|
+
|------|------|--------|
|
|
115
|
+
| 定期交換 | 每 25–30 分鐘交換角色 | Required |
|
|
116
|
+
| 口語溝通 | 提出建議前先說明理由 | Required |
|
|
117
|
+
| 尊重 driver | 用口語引導,不要搶鍵盤 | Required |
|
|
118
|
+
| 適時休息 | 每 45–60 分鐘休息一次 | Recommended |
|
|
119
|
+
| 保持投入 | 雙方都應保持主動 | Required |
|
|
120
|
+
|
|
121
|
+
## 與 PR Review 的比較
|
|
122
|
+
|
|
123
|
+
| 面向 | Pair Programming | PR Review |
|
|
124
|
+
|------|------------------|-----------|
|
|
125
|
+
| 時機 | 即時 | 非同步 |
|
|
126
|
+
| 回饋 | 立即 | 延遲 |
|
|
127
|
+
| 知識分享 | 高 | 中 |
|
|
128
|
+
| 文件化 | 較低 | 較高(PR 留言) |
|
|
129
|
+
| 可擴展性 | 受限 | 高 |
|
|
130
|
+
| 遠端友善度 | 具挑戰性 | 容易 |
|
|
131
|
+
| 成本 | 較高(2 人) | 較低 |
|
|
132
|
+
|
|
133
|
+
## 何時使用
|
|
134
|
+
|
|
135
|
+
### 適合的情境
|
|
136
|
+
- 複雜的演算法
|
|
137
|
+
- 關鍵的安全性程式碼
|
|
138
|
+
- 新團隊成員上手
|
|
139
|
+
- 探索不熟悉的程式庫
|
|
140
|
+
- 設計決策
|
|
141
|
+
|
|
142
|
+
### 不適合的情境
|
|
143
|
+
- 簡單、例行的任務
|
|
144
|
+
- 個人研究/探索
|
|
145
|
+
- 行政性的程式碼變更
|
|
146
|
+
- 任一方感到疲憊時
|
|
147
|
+
|
|
148
|
+
## 相關選項
|
|
149
|
+
|
|
150
|
+
- [PR Review](./pr-review.md) - 非同步程式碼審查
|
|
151
|
+
- [Automated Review](./automated-review.md) - 工具輔助審查
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 參考資料
|
|
156
|
+
|
|
157
|
+
- [Pair Programming Illuminated](https://www.amazon.com/Pair-Programming-Illuminated-Laurie-Williams/dp/0201745763)
|
|
158
|
+
- [Martin Fowler on Pair Programming](https://martinfowler.com/articles/on-pair-programming.html)
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 授權
|
|
163
|
+
|
|
164
|
+
本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 釋出。
|
|
165
|
+
|
|
166
|
+
**來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
|