universal-dev-standards 5.17.0 → 6.0.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/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 +2 -2
- 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/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- 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/refactoring-standards.ai.yaml +68 -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/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- 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 +9 -2
- 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 +1 -1
- package/bundled/core/error-code-standards.md +4 -3
- 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/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/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/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- 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 +2 -2
- 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-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +84 -73
- package/bundled/locales/zh-CN/CHANGELOG.md +71 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/README.md +22 -9
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- 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 +229 -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 +199 -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/full-coverage-testing.md +197 -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 +129 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
- package/bundled/locales/zh-CN/core/mock-boundary.md +109 -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 +76 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -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/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 +96 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -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/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
- 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/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 +109 -13
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
- 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 +146 -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 +71 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
- package/bundled/locales/zh-TW/README.md +22 -9
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- 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/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 +129 -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 +76 -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 +126 -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/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 +96 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
- 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-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
- 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/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 +110 -14
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
- 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 +29 -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 +133 -11
- package/bundled/skills/brainstorm-assistant/guide.md +33 -5
- 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 +2 -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 +3 -3
- 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 +110 -58
- 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 +58 -146
- 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,515 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: core/guides/performance-guide.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
status: current
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Performance Guide
|
|
9
|
+
|
|
10
|
+
> **語言**: [English](../../../../core/guides/performance-guide.md) | 繁體中文
|
|
11
|
+
|
|
12
|
+
**Version**: 1.0.0
|
|
13
|
+
**Last Updated**: 2026-01-29
|
|
14
|
+
**Related Standard**: [Performance Standards](../performance-standards.md)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
本指南為軟體效能工程提供詳細的說明、最佳化技巧與教學內容。關於效能預算(performance budget)、門檻值與必備檢查清單,請參閱 [Performance Standards](../performance-standards.md)。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Table of Contents
|
|
25
|
+
|
|
26
|
+
1. [Performance Fundamentals](#performance-fundamentals)
|
|
27
|
+
2. [Performance Testing Deep Dive](#performance-testing-deep-dive)
|
|
28
|
+
3. [Metrics Explained](#metrics-explained)
|
|
29
|
+
4. [Optimization Strategies](#optimization-strategies)
|
|
30
|
+
5. [Database Performance Tuning](#database-performance-tuning)
|
|
31
|
+
6. [API Performance Optimization](#api-performance-optimization)
|
|
32
|
+
7. [Frontend Performance Techniques](#frontend-performance-techniques)
|
|
33
|
+
8. [Caching Architecture](#caching-architecture)
|
|
34
|
+
9. [Monitoring and Observability](#monitoring-and-observability)
|
|
35
|
+
10. [Capacity Planning Process](#capacity-planning-process)
|
|
36
|
+
11. [References](#references)
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Performance Fundamentals
|
|
41
|
+
|
|
42
|
+
### ISO 25010 Performance Efficiency
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
46
|
+
│ ISO 25010: Performance Efficiency │
|
|
47
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
48
|
+
│ │
|
|
49
|
+
│ Performance Efficiency │
|
|
50
|
+
│ ├── Time Behavior │
|
|
51
|
+
│ │ └── Response time, processing time, throughput │
|
|
52
|
+
│ │ │
|
|
53
|
+
│ ├── Resource Utilization │
|
|
54
|
+
│ │ └── CPU, memory, disk, network usage │
|
|
55
|
+
│ │ │
|
|
56
|
+
│ └── Capacity │
|
|
57
|
+
│ └── Maximum limits that meet requirements │
|
|
58
|
+
│ │
|
|
59
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
ISO 25010 將效能效率(performance efficiency)定義為八項品質特性之一。理解這套框架有助於以標準化的術語與利害關係人溝通。
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Performance Testing Deep Dive
|
|
67
|
+
|
|
68
|
+
### Testing Types Explained
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
72
|
+
│ Performance Testing Types │
|
|
73
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
74
|
+
│ │
|
|
75
|
+
│ Load Testing │
|
|
76
|
+
│ ├── Purpose: Verify system under expected load │
|
|
77
|
+
│ ├── Duration: 10-60 minutes │
|
|
78
|
+
│ └── Load: Normal to peak expected │
|
|
79
|
+
│ │
|
|
80
|
+
│ Stress Testing │
|
|
81
|
+
│ ├── Purpose: Find breaking point │
|
|
82
|
+
│ ├── Duration: Until failure │
|
|
83
|
+
│ └── Load: Beyond normal capacity │
|
|
84
|
+
│ │
|
|
85
|
+
│ Soak/Endurance Testing │
|
|
86
|
+
│ ├── Purpose: Find memory leaks, resource issues │
|
|
87
|
+
│ ├── Duration: 4-72 hours │
|
|
88
|
+
│ └── Load: Sustained normal load │
|
|
89
|
+
│ │
|
|
90
|
+
│ Spike Testing │
|
|
91
|
+
│ ├── Purpose: Verify sudden load changes │
|
|
92
|
+
│ ├── Duration: Short bursts │
|
|
93
|
+
│ └── Load: Sudden increase/decrease │
|
|
94
|
+
│ │
|
|
95
|
+
│ Scalability Testing │
|
|
96
|
+
│ ├── Purpose: Verify scaling behavior │
|
|
97
|
+
│ ├── Duration: Varies │
|
|
98
|
+
│ └── Load: Incrementally increasing │
|
|
99
|
+
│ │
|
|
100
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### k6 Load Test Example
|
|
104
|
+
|
|
105
|
+
```javascript
|
|
106
|
+
// Example: k6 Load Test Configuration
|
|
107
|
+
import http from 'k6/http';
|
|
108
|
+
import { check, sleep } from 'k6';
|
|
109
|
+
|
|
110
|
+
export const options = {
|
|
111
|
+
stages: [
|
|
112
|
+
{ duration: '2m', target: 100 }, // Ramp up to 100 users
|
|
113
|
+
{ duration: '5m', target: 100 }, // Stay at 100 users
|
|
114
|
+
{ duration: '2m', target: 200 }, // Ramp up to 200 users
|
|
115
|
+
{ duration: '5m', target: 200 }, // Stay at 200 users
|
|
116
|
+
{ duration: '2m', target: 0 }, // Ramp down
|
|
117
|
+
],
|
|
118
|
+
thresholds: {
|
|
119
|
+
'http_req_duration': ['p(95)<200', 'p(99)<500'],
|
|
120
|
+
'http_req_failed': ['rate<0.01'],
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export default function () {
|
|
125
|
+
const res = http.get('https://api.example.com/users');
|
|
126
|
+
check(res, {
|
|
127
|
+
'status is 200': (r) => r.status === 200,
|
|
128
|
+
'response time < 200ms': (r) => r.timings.duration < 200,
|
|
129
|
+
});
|
|
130
|
+
sleep(1);
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Metrics Explained
|
|
137
|
+
|
|
138
|
+
### The RED Method (Request-oriented)
|
|
139
|
+
|
|
140
|
+
RED 方法聚焦於請求層級(request-level)的指標,最適合用於服務:
|
|
141
|
+
|
|
142
|
+
| 指標 | 說明 | 為何重要 |
|
|
143
|
+
|--------|-------------|----------------|
|
|
144
|
+
| **R**ate | 每秒請求數 | 反映流量規模 |
|
|
145
|
+
| **E**rrors | 錯誤率百分比 | 品質指標 |
|
|
146
|
+
| **D**uration | 回應時間分布 | 使用者體驗 |
|
|
147
|
+
|
|
148
|
+
### The USE Method (Resource-oriented)
|
|
149
|
+
|
|
150
|
+
USE 方法聚焦於資源使用率(resource utilization),最適合用於基礎設施:
|
|
151
|
+
|
|
152
|
+
| 指標 | 說明 | 警訊 |
|
|
153
|
+
|--------|-------------|--------------|
|
|
154
|
+
| **U**tilization | 資源忙碌百分比 | 持續 > 70% |
|
|
155
|
+
| **S**aturation | 佇列長度 | 佇列持續增長 |
|
|
156
|
+
| **E**rrors | 錯誤計數 | 任何增加 |
|
|
157
|
+
|
|
158
|
+
### The Four Golden Signals (SRE)
|
|
159
|
+
|
|
160
|
+
Google 的 SRE 著作將以下四項定義為任何系統最重要的指標:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
164
|
+
│ The Four Golden Signals (Google SRE) │
|
|
165
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
166
|
+
│ │
|
|
167
|
+
│ 1. LATENCY │
|
|
168
|
+
│ ├── Successful request latency (what users see) │
|
|
169
|
+
│ ├── Failed request latency (often faster, misleading) │
|
|
170
|
+
│ └── Track percentiles: p50, p90, p95, p99 │
|
|
171
|
+
│ │
|
|
172
|
+
│ 2. TRAFFIC │
|
|
173
|
+
│ ├── HTTP requests per second │
|
|
174
|
+
│ ├── Transactions per second │
|
|
175
|
+
│ └── Messages processed per second │
|
|
176
|
+
│ │
|
|
177
|
+
│ 3. ERRORS │
|
|
178
|
+
│ ├── Explicit errors (HTTP 5xx) │
|
|
179
|
+
│ ├── Implicit errors (wrong content, slow response) │
|
|
180
|
+
│ └── Policy violations (response > SLA) │
|
|
181
|
+
│ │
|
|
182
|
+
│ 4. SATURATION │
|
|
183
|
+
│ ├── CPU utilization │
|
|
184
|
+
│ ├── Memory utilization │
|
|
185
|
+
│ ├── Disk I/O utilization │
|
|
186
|
+
│ └── Network bandwidth utilization │
|
|
187
|
+
│ │
|
|
188
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Understanding Percentiles
|
|
192
|
+
|
|
193
|
+
| Percentile | 意義 | 使用情境 |
|
|
194
|
+
|------------|---------|----------|
|
|
195
|
+
| **p50 (median)** | 一半的請求比此更快 | 典型體驗 |
|
|
196
|
+
| **p90** | 90% 的請求比此更快 | 多數使用者 |
|
|
197
|
+
| **p95** | 95% 的請求比此更快 | SLA 門檻 |
|
|
198
|
+
| **p99** | 99% 的請求比此更快 | 多數情況下的最差案例 |
|
|
199
|
+
| **p99.9** | 99.9% 的請求比此更快 | 高流量系統 |
|
|
200
|
+
|
|
201
|
+
**為何 percentile 比平均值更重要**:平均值可能掩蓋問題。若 99% 的請求耗時 100ms,但 1% 耗時 10 秒,平均值看起來可能可以接受(199ms),然而卻有 1% 的使用者體驗極差。
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Optimization Strategies
|
|
206
|
+
|
|
207
|
+
### General Optimization Principles
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
211
|
+
│ Performance Optimization Principles │
|
|
212
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
213
|
+
│ │
|
|
214
|
+
│ 1. MEASURE FIRST │
|
|
215
|
+
│ └── Don't optimize without data (avoid premature opt) │
|
|
216
|
+
│ │
|
|
217
|
+
│ 2. IDENTIFY BOTTLENECK │
|
|
218
|
+
│ └── Focus on the slowest part (Amdahl's Law) │
|
|
219
|
+
│ │
|
|
220
|
+
│ 3. OPTIMIZE THE RIGHT LEVEL │
|
|
221
|
+
│ ├── Algorithm > Data Structure > Code > Hardware │
|
|
222
|
+
│ └── Higher level optimizations have bigger impact │
|
|
223
|
+
│ │
|
|
224
|
+
│ 4. CONSIDER TRADE-OFFS │
|
|
225
|
+
│ ├── Speed vs Memory │
|
|
226
|
+
│ ├── Latency vs Throughput │
|
|
227
|
+
│ └── Consistency vs Availability │
|
|
228
|
+
│ │
|
|
229
|
+
│ 5. VERIFY IMPROVEMENT │
|
|
230
|
+
│ └── Benchmark before and after │
|
|
231
|
+
│ │
|
|
232
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Optimization Techniques by Level
|
|
236
|
+
|
|
237
|
+
| 層級 | 技巧 | 影響 | 投入成本 |
|
|
238
|
+
|-------|-----------|--------|--------|
|
|
239
|
+
| **Algorithm** | 改善複雜度(O(n²) → O(n log n)) | 極高 | 中 |
|
|
240
|
+
| **Architecture** | caching、非同步處理、load balancing | 高 | 高 |
|
|
241
|
+
| **Database** | indexing、查詢最佳化、connection pooling | 高 | 中 |
|
|
242
|
+
| **Code** | lazy loading、批次處理、memoization | 中 | 低 |
|
|
243
|
+
| **Infrastructure** | 垂直/水平擴展、CDN | 中 | 中 |
|
|
244
|
+
| **Low-level** | 記憶體對齊、SIMD、JIT warmup | 低 | 高 |
|
|
245
|
+
|
|
246
|
+
**關鍵洞察**:永遠從最高層級開始著手。更好的演算法每次都會勝過微最佳化(micro-optimization)。
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Database Performance Tuning
|
|
251
|
+
|
|
252
|
+
### Index Guidelines
|
|
253
|
+
|
|
254
|
+
```sql
|
|
255
|
+
-- ✅ Good: Index for frequently queried columns
|
|
256
|
+
CREATE INDEX idx_users_email ON users(email);
|
|
257
|
+
|
|
258
|
+
-- ✅ Good: Composite index for multi-column queries
|
|
259
|
+
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at DESC);
|
|
260
|
+
|
|
261
|
+
-- ❌ Avoid: Index on low-cardinality columns
|
|
262
|
+
CREATE INDEX idx_users_active ON users(is_active); -- Only 2 values
|
|
263
|
+
|
|
264
|
+
-- ✅ Good: Partial index for specific queries
|
|
265
|
+
CREATE INDEX idx_orders_pending ON orders(created_at)
|
|
266
|
+
WHERE status = 'pending';
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**為何使用 partial index?** 它們更小、更快,因為只包含符合特定條件的資料列。非常適合用於頻繁查詢的資料子集。
|
|
270
|
+
|
|
271
|
+
### N+1 Query Problem
|
|
272
|
+
|
|
273
|
+
N+1 問題是最常見的效能問題之一:
|
|
274
|
+
|
|
275
|
+
```typescript
|
|
276
|
+
// ❌ Bad: N+1 queries (1 query for users + N queries for orders)
|
|
277
|
+
const users = await User.findAll();
|
|
278
|
+
for (const user of users) {
|
|
279
|
+
const orders = await Order.findAll({ where: { userId: user.id } });
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// ✅ Good: Single query with JOIN or eager loading
|
|
283
|
+
const users = await User.findAll({
|
|
284
|
+
include: [{ model: Order }]
|
|
285
|
+
});
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## API Performance Optimization
|
|
291
|
+
|
|
292
|
+
### API Design for Performance
|
|
293
|
+
|
|
294
|
+
```typescript
|
|
295
|
+
// ❌ Bad: Returns all fields, all records
|
|
296
|
+
GET /api/users
|
|
297
|
+
|
|
298
|
+
// ✅ Good: Pagination, field selection
|
|
299
|
+
GET /api/users?page=1&limit=20&fields=id,name,email
|
|
300
|
+
|
|
301
|
+
// ❌ Bad: N+1 queries for related data
|
|
302
|
+
GET /api/users/1
|
|
303
|
+
GET /api/users/1/orders
|
|
304
|
+
GET /api/users/1/addresses
|
|
305
|
+
|
|
306
|
+
// ✅ Good: Single request with includes
|
|
307
|
+
GET /api/users/1?include=orders,addresses
|
|
308
|
+
|
|
309
|
+
// ✅ Good: Batch endpoint
|
|
310
|
+
POST /api/users/batch
|
|
311
|
+
{ "ids": [1, 2, 3, 4, 5] }
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Frontend Performance Techniques
|
|
317
|
+
|
|
318
|
+
### Core Web Vitals Explained
|
|
319
|
+
|
|
320
|
+
| 指標 | 衡量內容 | 目標 | 如何改善 |
|
|
321
|
+
|--------|------------------|--------|----------------|
|
|
322
|
+
| **LCP** | Largest Contentful Paint | < 2.5s | 最佳化圖片、預先載入關鍵資產 |
|
|
323
|
+
| **INP** | Interaction to Next Paint | < 200ms | 減少 JavaScript、延後非關鍵腳本 |
|
|
324
|
+
| **CLS** | Cumulative Layout Shift | < 0.1 | 為圖片設定尺寸、為動態內容預留空間 |
|
|
325
|
+
|
|
326
|
+
### Performance Budget Example
|
|
327
|
+
|
|
328
|
+
```yaml
|
|
329
|
+
# Example Performance Budget
|
|
330
|
+
resources:
|
|
331
|
+
total_size: 500KB
|
|
332
|
+
javascript: 200KB
|
|
333
|
+
css: 50KB
|
|
334
|
+
images: 200KB
|
|
335
|
+
fonts: 50KB
|
|
336
|
+
|
|
337
|
+
metrics:
|
|
338
|
+
time_to_interactive: 3s
|
|
339
|
+
first_contentful_paint: 1.5s
|
|
340
|
+
speed_index: 3s
|
|
341
|
+
|
|
342
|
+
lighthouse_scores:
|
|
343
|
+
performance: 90
|
|
344
|
+
accessibility: 100
|
|
345
|
+
best_practices: 100
|
|
346
|
+
seo: 100
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
**為何需要預算?** 若沒有限制,頁面重量往往會隨時間增長。預算能建立責任歸屬,並強制做出取捨。
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## Caching Architecture
|
|
354
|
+
|
|
355
|
+
### Cache Levels
|
|
356
|
+
|
|
357
|
+
```
|
|
358
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
359
|
+
│ Caching Hierarchy │
|
|
360
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
361
|
+
│ │
|
|
362
|
+
│ Level 1: Browser Cache │
|
|
363
|
+
│ ├── HTTP cache headers (Cache-Control, ETag) │
|
|
364
|
+
│ ├── Service Worker cache │
|
|
365
|
+
│ └── TTL: Minutes to days │
|
|
366
|
+
│ │
|
|
367
|
+
│ Level 2: CDN Cache │
|
|
368
|
+
│ ├── Edge caching for static assets │
|
|
369
|
+
│ ├── API response caching (careful with personalization) │
|
|
370
|
+
│ └── TTL: Hours to days │
|
|
371
|
+
│ │
|
|
372
|
+
│ Level 3: Application Cache │
|
|
373
|
+
│ ├── In-memory cache (local, fast, limited size) │
|
|
374
|
+
│ ├── Distributed cache (Redis, Memcached) │
|
|
375
|
+
│ └── TTL: Seconds to hours │
|
|
376
|
+
│ │
|
|
377
|
+
│ Level 4: Database Cache │
|
|
378
|
+
│ ├── Query cache │
|
|
379
|
+
│ ├── Result set cache │
|
|
380
|
+
│ └── TTL: Managed by DB │
|
|
381
|
+
│ │
|
|
382
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### Cache Invalidation Strategies
|
|
386
|
+
|
|
387
|
+
| 策略 | 運作方式 | 最適用於 |
|
|
388
|
+
|----------|--------------|----------|
|
|
389
|
+
| **TTL-based** | 固定時間後過期 | 靜態內容 |
|
|
390
|
+
| **Event-based** | 寫入時失效 | 即時資料 |
|
|
391
|
+
| **Version-based** | 新版本 = 新的 cache key | 部署 |
|
|
392
|
+
| **Stale-while-revalidate** | 先提供過期內容,背景刷新 | 高可用性 |
|
|
393
|
+
|
|
394
|
+
### Cache Headers
|
|
395
|
+
|
|
396
|
+
```http
|
|
397
|
+
# Static assets (versioned filename)
|
|
398
|
+
Cache-Control: public, max-age=31536000, immutable
|
|
399
|
+
|
|
400
|
+
# API responses (short cache)
|
|
401
|
+
Cache-Control: private, max-age=60, stale-while-revalidate=300
|
|
402
|
+
|
|
403
|
+
# No cache (personalized content)
|
|
404
|
+
Cache-Control: no-store, no-cache, must-revalidate
|
|
405
|
+
|
|
406
|
+
# Conditional caching
|
|
407
|
+
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
|
|
408
|
+
Last-Modified: Wed, 21 Oct 2025 07:28:00 GMT
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Monitoring and Observability
|
|
414
|
+
|
|
415
|
+
### Dashboard Layout
|
|
416
|
+
|
|
417
|
+
```
|
|
418
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
419
|
+
│ Performance Dashboard Layout │
|
|
420
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
421
|
+
│ │
|
|
422
|
+
│ Row 1: Overview │
|
|
423
|
+
│ ├── Request rate (rps) │
|
|
424
|
+
│ ├── Error rate (%) │
|
|
425
|
+
│ ├── p50/p95/p99 latency │
|
|
426
|
+
│ └── Active users/connections │
|
|
427
|
+
│ │
|
|
428
|
+
│ Row 2: Infrastructure │
|
|
429
|
+
│ ├── CPU usage by service │
|
|
430
|
+
│ ├── Memory usage by service │
|
|
431
|
+
│ ├── Network I/O │
|
|
432
|
+
│ └── Disk I/O │
|
|
433
|
+
│ │
|
|
434
|
+
│ Row 3: Database │
|
|
435
|
+
│ ├── Query rate │
|
|
436
|
+
│ ├── Slow queries │
|
|
437
|
+
│ ├── Connection pool usage │
|
|
438
|
+
│ └── Replication lag │
|
|
439
|
+
│ │
|
|
440
|
+
│ Row 4: Dependencies │
|
|
441
|
+
│ ├── External API latency │
|
|
442
|
+
│ ├── Cache hit rate │
|
|
443
|
+
│ └── Queue depth │
|
|
444
|
+
│ │
|
|
445
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## Capacity Planning Process
|
|
451
|
+
|
|
452
|
+
```
|
|
453
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
454
|
+
│ Capacity Planning Cycle │
|
|
455
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
456
|
+
│ │
|
|
457
|
+
│ 1. COLLECT │
|
|
458
|
+
│ ├── Historical usage data │
|
|
459
|
+
│ ├── Growth trends │
|
|
460
|
+
│ └── Business forecasts │
|
|
461
|
+
│ │
|
|
462
|
+
│ 2. ANALYZE │
|
|
463
|
+
│ ├── Peak usage patterns │
|
|
464
|
+
│ ├── Resource utilization trends │
|
|
465
|
+
│ └── Bottleneck identification │
|
|
466
|
+
│ │
|
|
467
|
+
│ 3. FORECAST │
|
|
468
|
+
│ ├── Project future demand │
|
|
469
|
+
│ ├── Apply growth factors │
|
|
470
|
+
│ └── Account for seasonal variations │
|
|
471
|
+
│ │
|
|
472
|
+
│ 4. PLAN │
|
|
473
|
+
│ ├── Define capacity requirements │
|
|
474
|
+
│ ├── Evaluate scaling options │
|
|
475
|
+
│ └── Calculate costs │
|
|
476
|
+
│ │
|
|
477
|
+
│ 5. EXECUTE │
|
|
478
|
+
│ ├── Implement scaling │
|
|
479
|
+
│ ├── Validate performance │
|
|
480
|
+
│ └── Monitor and iterate │
|
|
481
|
+
│ │
|
|
482
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
### Scaling Strategies Compared
|
|
486
|
+
|
|
487
|
+
| 策略 | 優點 | 缺點 | 何時使用 |
|
|
488
|
+
|----------|------|------|-------------|
|
|
489
|
+
| **Vertical Scaling** | 簡單、無需修改程式碼 | 硬體上限、單點故障(SPOF) | 快速修復、小規模 |
|
|
490
|
+
| **Horizontal Scaling** | 無上限、容錯 | 複雜度高、需無狀態(stateless) | 正式系統 |
|
|
491
|
+
| **Auto-scaling** | 符合成本效益、反應靈敏 | warm-up 時間、複雜度 | 變動負載 |
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## References
|
|
496
|
+
|
|
497
|
+
### Standards
|
|
498
|
+
- [ISO/IEC 25010:2011](https://www.iso.org/standard/35733.html) - Performance Efficiency
|
|
499
|
+
- [Web Vitals](https://web.dev/vitals/) - Google Core Web Vitals
|
|
500
|
+
|
|
501
|
+
### Books
|
|
502
|
+
- Brendan Gregg - "Systems Performance: Enterprise and the Cloud" (2020)
|
|
503
|
+
- Google - "Site Reliability Engineering" (2016)
|
|
504
|
+
- Martin Kleppmann - "Designing Data-Intensive Applications" (2017)
|
|
505
|
+
|
|
506
|
+
### Tools
|
|
507
|
+
- [k6](https://k6.io/) - Load testing
|
|
508
|
+
- [Lighthouse](https://developer.chrome.com/docs/lighthouse/) - Frontend performance
|
|
509
|
+
- [Grafana](https://grafana.com/) - Performance dashboards
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## License
|
|
514
|
+
|
|
515
|
+
This guide is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|