agent-skill-kit 3.9.135
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/.agent/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: system-design-engineering-spec
|
|
3
|
+
description: Full 21-section engineering spec — context discovery, ADR format, pattern selection, 6-item validation checklist
|
|
4
|
+
title: "System Design - Engineering Specification"
|
|
5
|
+
impact: MEDIUM
|
|
6
|
+
impactDescription: "Moderate improvement to quality or maintainability"
|
|
7
|
+
tags: engineering, spec
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# System Design — Engineering Specification
|
|
11
|
+
|
|
12
|
+
> Production-grade specification for architectural decision-making at FAANG scale.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Overview
|
|
17
|
+
|
|
18
|
+
System Design provides a structured framework for architectural decision-making: requirements analysis (via context-discovery), trade-off evaluation (via ADR format), pattern selection (via decision trees), and architecture validation (6-item checklist). The skill operates as an **Expert (decision tree)** — it produces architecture recommendations, trade-off analyses, ADR documents, and pattern selections. It does not implement systems, write code, or deploy infrastructure.
|
|
19
|
+
|
|
20
|
+
**Contract Version:** 2.0.0
|
|
21
|
+
**Backward Compatibility:** breaking (first hardened version)
|
|
22
|
+
**Breaking Changes:** None — new spec for first hardening
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. Problem Statement
|
|
27
|
+
|
|
28
|
+
Architecture decisions at scale face four quantified problems:
|
|
29
|
+
|
|
30
|
+
| Problem | Measurement | Impact |
|
|
31
|
+
|---------|-------------|--------|
|
|
32
|
+
| No requirements discovery | 50% of projects skip context questions | Wrong architecture |
|
|
33
|
+
| Undocumented decisions | 60% of architecture choices lack ADRs | Lost rationale |
|
|
34
|
+
| Premature complexity | 45% of projects over-engineer from day one | Wasted effort |
|
|
35
|
+
| Wrong pattern selection | 35% of projects use mismatched patterns | Refactoring debt |
|
|
36
|
+
|
|
37
|
+
System Design eliminates these with structured context discovery (project classification), ADR templates (formal trade-off documentation), pattern decision trees (deterministic routing), and a validation checklist (6 mandatory checks).
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 3. Design Goals
|
|
42
|
+
|
|
43
|
+
| ID | Goal | Measurable Constraint |
|
|
44
|
+
|----|------|-----------------------|
|
|
45
|
+
| G1 | Requirements analysis | Structured context discovery with project classification |
|
|
46
|
+
| G2 | Trade-off evaluation | ADR format with explicit pros/cons/consequences |
|
|
47
|
+
| G3 | Pattern selection | Decision trees routing to specific patterns |
|
|
48
|
+
| G4 | Architecture validation | 6-item checklist before finalization |
|
|
49
|
+
| G5 | Simplicity principle | Start simple; add complexity only when proven necessary |
|
|
50
|
+
| G6 | Reference implementations | 3 example types: MVP, SaaS, Enterprise |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 4. Non-Goals
|
|
55
|
+
|
|
56
|
+
| ID | Excluded | Rationale |
|
|
57
|
+
|----|----------|-----------|
|
|
58
|
+
| NG1 | API design specifics | Owned by `api-architect` skill |
|
|
59
|
+
| NG2 | Database schema design | Owned by `data-modeler` skill |
|
|
60
|
+
| NG3 | Deployment configuration | Owned by `cicd-pipeline` skill |
|
|
61
|
+
| NG4 | Code implementation | Architecture guidance only |
|
|
62
|
+
| NG5 | Performance benchmarking | Owned by `perf-optimizer` skill |
|
|
63
|
+
| NG6 | Security audit | Owned by `security-scanner` skill |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 5. System Boundaries
|
|
68
|
+
|
|
69
|
+
| Boundary | Owned | Not Owned |
|
|
70
|
+
|----------|-------|-----------|
|
|
71
|
+
| Context discovery | Project classification questions | Requirements gathering |
|
|
72
|
+
| Trade-off analysis | ADR template + framework | Decision enforcement |
|
|
73
|
+
| Pattern selection | Decision trees for routing | Pattern implementation |
|
|
74
|
+
| Architecture validation | 6-item checklist | Testing/verification |
|
|
75
|
+
| Examples | MVP, SaaS, Enterprise references | Production deployments |
|
|
76
|
+
|
|
77
|
+
**Side-effect boundary:** System Design produces architecture recommendations, ADR documents, and pattern selections. It does not write code, create infrastructure, or modify systems.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 6. Integration Model
|
|
82
|
+
|
|
83
|
+
### 6.1 Agent Contract
|
|
84
|
+
|
|
85
|
+
#### Input Schema
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Request_Type: string # "context-discovery" | "trade-off" | "pattern-selection" |
|
|
89
|
+
# "validation" | "example" | "full-review"
|
|
90
|
+
Context: {
|
|
91
|
+
project_type: string | null # "mvp" | "saas" | "enterprise" | null
|
|
92
|
+
scale: string | null # "startup" | "growth" | "enterprise"
|
|
93
|
+
constraints: Array<string> | null # e.g., ["latency < 100ms", "global distribution"]
|
|
94
|
+
current_patterns: Array<string> | null # Existing patterns in use
|
|
95
|
+
decision_topic: string | null # What decision needs analysis
|
|
96
|
+
}
|
|
97
|
+
contract_version: string # "2.0.0"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### Output Schema
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Status: "success" | "error"
|
|
104
|
+
Data: {
|
|
105
|
+
context: {
|
|
106
|
+
classification: string
|
|
107
|
+
questions: Array<string>
|
|
108
|
+
constraints_identified: Array<string>
|
|
109
|
+
} | null
|
|
110
|
+
trade_off: {
|
|
111
|
+
title: string
|
|
112
|
+
status: string # "proposed" | "accepted" | "deprecated"
|
|
113
|
+
context: string
|
|
114
|
+
options: Array<{
|
|
115
|
+
name: string
|
|
116
|
+
pros: Array<string>
|
|
117
|
+
cons: Array<string>
|
|
118
|
+
}>
|
|
119
|
+
decision: string
|
|
120
|
+
consequences: Array<string>
|
|
121
|
+
} | null
|
|
122
|
+
pattern: {
|
|
123
|
+
recommended: string
|
|
124
|
+
rationale: string
|
|
125
|
+
alternatives: Array<string>
|
|
126
|
+
anti_patterns: Array<string>
|
|
127
|
+
} | null
|
|
128
|
+
validation: {
|
|
129
|
+
checklist: Array<{
|
|
130
|
+
item: string
|
|
131
|
+
status: boolean
|
|
132
|
+
notes: string | null
|
|
133
|
+
}>
|
|
134
|
+
passed: boolean
|
|
135
|
+
} | null
|
|
136
|
+
example: {
|
|
137
|
+
type: string # "mvp" | "saas" | "enterprise"
|
|
138
|
+
architecture: string
|
|
139
|
+
patterns_used: Array<string>
|
|
140
|
+
} | null
|
|
141
|
+
metadata: {
|
|
142
|
+
contract_version: string
|
|
143
|
+
backward_compatibility: string
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
Error: ErrorSchema | null
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### Error Schema
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
153
|
+
Message: string
|
|
154
|
+
Request_Type: string
|
|
155
|
+
Recoverable: boolean
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
#### Deterministic Guarantees
|
|
159
|
+
|
|
160
|
+
- Context discovery produces the same questions for the same project type.
|
|
161
|
+
- Pattern selection routes deterministically based on scale + constraints.
|
|
162
|
+
- Validation checklist is fixed: 6 items, deterministic pass/fail.
|
|
163
|
+
- ADR format is fixed: title, status, context, options, decision, consequences.
|
|
164
|
+
- Same project type + same constraints = same pattern recommendation.
|
|
165
|
+
|
|
166
|
+
#### What Agents May Assume
|
|
167
|
+
|
|
168
|
+
- Context discovery includes project classification.
|
|
169
|
+
- Trade-off analysis follows ADR format.
|
|
170
|
+
- Pattern selection uses documented decision trees.
|
|
171
|
+
- Validation checklist covers 6 mandatory items.
|
|
172
|
+
|
|
173
|
+
#### What Agents Must NOT Assume
|
|
174
|
+
|
|
175
|
+
- Recommended pattern is the only valid option.
|
|
176
|
+
- All constraints are known upfront.
|
|
177
|
+
- Architecture is final after first pass.
|
|
178
|
+
- Simpler alternative has been considered unless explicitly stated.
|
|
179
|
+
|
|
180
|
+
#### Side-Effect Boundaries
|
|
181
|
+
|
|
182
|
+
| Operation | Side Effects |
|
|
183
|
+
|-----------|-------------|
|
|
184
|
+
| Context discovery | None; questions output |
|
|
185
|
+
| Trade-off analysis | None; ADR document |
|
|
186
|
+
| Pattern selection | None; recommendation |
|
|
187
|
+
| Validation | None; checklist results |
|
|
188
|
+
| Example | None; reference output |
|
|
189
|
+
|
|
190
|
+
### 6.2 Workflow Contract
|
|
191
|
+
|
|
192
|
+
#### Invocation Pattern
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
1. Invoke context-discovery to classify project and identify constraints
|
|
196
|
+
2. Invoke pattern-selection for architecture pattern routing
|
|
197
|
+
3. Invoke trade-off for ADR documentation of key decisions
|
|
198
|
+
4. Invoke validation to verify 6-item checklist
|
|
199
|
+
5. Implement architecture (caller's responsibility)
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
#### Execution Guarantees
|
|
203
|
+
|
|
204
|
+
- Each invocation produces a complete output.
|
|
205
|
+
- All operations are independent (can be invoked in any order).
|
|
206
|
+
|
|
207
|
+
#### Failure Propagation Model
|
|
208
|
+
|
|
209
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
210
|
+
|-----------------|-------------|-----------------|
|
|
211
|
+
| Unknown project type | Return error | Specify mvp, saas, or enterprise |
|
|
212
|
+
| Missing constraints | Return warning | Provide constraints for better routing |
|
|
213
|
+
| Invalid request type | Return error | Use supported type |
|
|
214
|
+
|
|
215
|
+
#### Retry Boundaries
|
|
216
|
+
|
|
217
|
+
- Zero internal retries. Deterministic output.
|
|
218
|
+
|
|
219
|
+
#### Isolation Model
|
|
220
|
+
|
|
221
|
+
- Each invocation is stateless and independent.
|
|
222
|
+
|
|
223
|
+
#### Idempotency Expectations
|
|
224
|
+
|
|
225
|
+
| Operation | Idempotent | Notes |
|
|
226
|
+
|-----------|-----------|-------|
|
|
227
|
+
| Context discovery | Yes | Same type = same questions |
|
|
228
|
+
| Trade-off | Yes | Same topic = same ADR structure |
|
|
229
|
+
| Pattern selection | Yes | Same constraints = same pattern |
|
|
230
|
+
| Validation | Yes | Same inputs = same checklist |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 7. Execution Model
|
|
235
|
+
|
|
236
|
+
### 2-Phase Lifecycle
|
|
237
|
+
|
|
238
|
+
| Phase | Action | Output |
|
|
239
|
+
|-------|--------|--------|
|
|
240
|
+
| **Classify** | Parse project type, scale, constraints | Classification |
|
|
241
|
+
| **Guide** | Generate context questions, pattern recommendation, ADR, or validation | Complete output |
|
|
242
|
+
|
|
243
|
+
All phases synchronous. No async pipeline.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 8. Deterministic Design Principles
|
|
248
|
+
|
|
249
|
+
| Principle | Enforcement |
|
|
250
|
+
|-----------|-------------|
|
|
251
|
+
| Simplicity first | Start simple; add complexity ONLY when proven necessary |
|
|
252
|
+
| Context discovery | Structured questions by project classification |
|
|
253
|
+
| ADR format | Fixed 6-section format: title, status, context, options, decision, consequences |
|
|
254
|
+
| Pattern routing | Decision trees based on scale + constraints (see pattern-selection.md) |
|
|
255
|
+
| Validation checklist | 6 items: requirements understood, constraints identified, trade-offs analyzed, simpler alternatives considered, ADRs written, team expertise matches |
|
|
256
|
+
| Example types | 3 fixed: MVP (minimal), SaaS (multi-tenant), Enterprise (complex) |
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## 9. State & Idempotency Model
|
|
261
|
+
|
|
262
|
+
Stateless. Fully idempotent. No persistent state.
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 10. Failure Handling Strategy
|
|
267
|
+
|
|
268
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
269
|
+
|---------------|----------|-----------------|
|
|
270
|
+
| Unknown project type | Return `ERR_UNKNOWN_PROJECT_TYPE` | Specify mvp, saas, or enterprise |
|
|
271
|
+
| Missing decision topic | Return `ERR_MISSING_TOPIC` | Provide decision topic for trade-off |
|
|
272
|
+
| Invalid request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported type |
|
|
273
|
+
|
|
274
|
+
**Invariant:** Every failure returns a structured error. No partial architecture guidance.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 11. Error Taxonomy
|
|
279
|
+
|
|
280
|
+
| Code | Category | Recoverable | Description |
|
|
281
|
+
|------|----------|-------------|-------------|
|
|
282
|
+
| `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not supported |
|
|
283
|
+
| `ERR_UNKNOWN_PROJECT_TYPE` | Validation | Yes | Project type not one of 3 |
|
|
284
|
+
| `ERR_MISSING_TOPIC` | Validation | Yes | Trade-off analysis requires topic |
|
|
285
|
+
| `ERR_UNKNOWN_SCALE` | Validation | Yes | Scale not startup, growth, or enterprise |
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 12. Timeout & Retry Policy
|
|
290
|
+
|
|
291
|
+
| Parameter | Default | Maximum | Rationale |
|
|
292
|
+
|-----------|---------|---------|-----------|
|
|
293
|
+
| Decision generation | N/A | N/A | Synchronous; < 50ms |
|
|
294
|
+
| Internal retries | Zero | Zero | Deterministic output |
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## 13. Observability & Logging Schema
|
|
299
|
+
|
|
300
|
+
### Log Entry Format
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{
|
|
304
|
+
"trace_id": "uuid",
|
|
305
|
+
"skill_name": "system-design",
|
|
306
|
+
"contract_version": "2.0.0",
|
|
307
|
+
"execution_id": "uuid",
|
|
308
|
+
"timestamp": "ISO-8601",
|
|
309
|
+
"request_type": "string",
|
|
310
|
+
"project_type": "string|null",
|
|
311
|
+
"scale": "string|null",
|
|
312
|
+
"pattern_recommended": "string|null",
|
|
313
|
+
"validation_passed": "boolean|null",
|
|
314
|
+
"status": "success|error",
|
|
315
|
+
"error_code": "string|null",
|
|
316
|
+
"duration_ms": "number"
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Required Log Points
|
|
321
|
+
|
|
322
|
+
| Event | Log Level | Fields |
|
|
323
|
+
|-------|-----------|--------|
|
|
324
|
+
| Context classified | INFO | project_type, scale |
|
|
325
|
+
| Pattern recommended | INFO | pattern_recommended, rationale |
|
|
326
|
+
| ADR generated | INFO | decision_topic, status |
|
|
327
|
+
| Validation complete | INFO | checklist_passed, items_count |
|
|
328
|
+
| Decision failed | ERROR | error_code, message |
|
|
329
|
+
|
|
330
|
+
### Metrics
|
|
331
|
+
|
|
332
|
+
| Metric | Type | Unit |
|
|
333
|
+
|--------|------|------|
|
|
334
|
+
| `systemdesign.decision.duration` | Histogram | ms |
|
|
335
|
+
| `systemdesign.project_type.distribution` | Counter | per type |
|
|
336
|
+
| `systemdesign.pattern.distribution` | Counter | per pattern |
|
|
337
|
+
| `systemdesign.validation.pass_rate` | Gauge | percentage |
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## 14. Security & Trust Model
|
|
342
|
+
|
|
343
|
+
### Data Handling
|
|
344
|
+
|
|
345
|
+
- System Design processes project types, scales, and constraints only.
|
|
346
|
+
- No credentials, no PII, no infrastructure access.
|
|
347
|
+
- No network calls, no file modifications, no code execution.
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## 15. Scalability Model
|
|
352
|
+
|
|
353
|
+
| Dimension | Constraint | Mitigation |
|
|
354
|
+
|-----------|-----------|------------|
|
|
355
|
+
| Throughput | CPU-bound decision tree | < 50ms; scales linearly |
|
|
356
|
+
| Concurrency | Stateless invocations | Unlimited parallel |
|
|
357
|
+
| Memory per invocation | < 1 MB | No accumulation |
|
|
358
|
+
| Network | Zero network calls | No external dependency |
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## 16. Concurrency Model
|
|
363
|
+
|
|
364
|
+
Fully parallel. No shared state. No coordination required.
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## 17. Resource Lifecycle Management
|
|
369
|
+
|
|
370
|
+
All resources scoped to invocation. No persistent handles.
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## 18. Performance Constraints
|
|
375
|
+
|
|
376
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
377
|
+
|-----------|-----------|-----------|------------|
|
|
378
|
+
| Context discovery | < 2 ms | < 5 ms | 20 ms |
|
|
379
|
+
| Pattern selection | < 2 ms | < 5 ms | 20 ms |
|
|
380
|
+
| Trade-off analysis | < 5 ms | < 15 ms | 50 ms |
|
|
381
|
+
| Validation | < 2 ms | < 5 ms | 20 ms |
|
|
382
|
+
| Full review | < 15 ms | < 40 ms | 50 ms |
|
|
383
|
+
| Output size | ≤ 5,000 chars | ≤ 10,000 chars | 15,000 chars |
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## 19. Operational Risks
|
|
388
|
+
|
|
389
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
390
|
+
|------|-----------|--------|------------|
|
|
391
|
+
| New architecture patterns | Medium | Outdated decision trees | Annual pattern review |
|
|
392
|
+
| Cloud provider changes | Low | Invalid scaling guidance | Track major cloud updates |
|
|
393
|
+
| Team ignores ADRs | Medium | Undocumented decisions | Enforce ADR in PR process |
|
|
394
|
+
| Over-engineering bias | Medium | Complexity debt | Simplicity-first validation check |
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## 20. Compliance with skill-design-guide.md
|
|
399
|
+
|
|
400
|
+
| Requirement | Status | Evidence |
|
|
401
|
+
|-------------|--------|----------|
|
|
402
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
403
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
404
|
+
| Prerequisites documented | ✅ | No external dependencies |
|
|
405
|
+
| When to Use section | ✅ | Situation-based routing table |
|
|
406
|
+
| Core content matches skill type | ✅ | Expert type: context discovery, trade-off analysis, pattern selection |
|
|
407
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
408
|
+
| Related section | ✅ | Cross-links to api-architect, data-modeler |
|
|
409
|
+
| Content Map for multi-file | ✅ | Links to 5 reference files + engineering-spec.md |
|
|
410
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
411
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
## 21. Production Readiness Checklist
|
|
416
|
+
|
|
417
|
+
| Category | Check | Status |
|
|
418
|
+
|----------|-------|--------|
|
|
419
|
+
| **Functionality** | Context discovery with project classification | ✅ |
|
|
420
|
+
| **Functionality** | Trade-off analysis with ADR format | ✅ |
|
|
421
|
+
| **Functionality** | Pattern selection with decision trees | ✅ |
|
|
422
|
+
| **Functionality** | Architecture validation (6-item checklist) | ✅ |
|
|
423
|
+
| **Functionality** | 3 example types (MVP, SaaS, Enterprise) | ✅ |
|
|
424
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
425
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
426
|
+
| **Failure** | Error taxonomy with 4 categorized codes | ✅ |
|
|
427
|
+
| **Failure** | Zero internal retries | ✅ |
|
|
428
|
+
| **Determinism** | Fixed ADR format, fixed checklist, fixed decision trees | ✅ |
|
|
429
|
+
| **Security** | No credentials, no infrastructure, no code | ✅ |
|
|
430
|
+
| **Observability** | Structured log schema with 5 mandatory fields | ✅ |
|
|
431
|
+
| **Observability** | 4 metrics defined | ✅ |
|
|
432
|
+
| **Performance** | P50/P99 targets for all operations | ✅ |
|
|
433
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: examples
|
|
3
|
+
description: Architecture examples — MVP, SaaS, Enterprise with decisions, trade-offs, migration paths, and component diagrams
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Architecture Examples
|
|
7
|
+
|
|
8
|
+
> Real-world architecture decisions by project type. Each with rationale and migration paths.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Example 1: MVP E-commerce (Solo Developer)
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Requirements: <1K users, solo dev, 8 weeks, budget-conscious
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
| Decision | Choice | Rationale |
|
|
19
|
+
|----------|--------|-----------|
|
|
20
|
+
| Structure | Monolith | Solo dev, no team coordination needed |
|
|
21
|
+
| Framework | Next.js | Full-stack, fast to ship, Vercel deploy |
|
|
22
|
+
| Data Layer | Prisma direct | Simple CRUD, no over-abstraction |
|
|
23
|
+
| Auth | JWT (simple) | No social login initially |
|
|
24
|
+
| Payment | Stripe Checkout | Hosted, PCI compliant |
|
|
25
|
+
| Database | PostgreSQL | ACID for orders |
|
|
26
|
+
| Hosting | Vercel + Supabase | Free tier, managed |
|
|
27
|
+
|
|
28
|
+
### Component Diagram
|
|
29
|
+
|
|
30
|
+
```mermaid
|
|
31
|
+
graph LR
|
|
32
|
+
Client[Browser] --> Next[Next.js App]
|
|
33
|
+
Next --> Prisma[Prisma ORM]
|
|
34
|
+
Prisma --> PG[(PostgreSQL)]
|
|
35
|
+
Next --> Stripe[Stripe API]
|
|
36
|
+
Next --> Vercel[Vercel Edge]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Trade-offs Accepted
|
|
40
|
+
|
|
41
|
+
| What We Give Up | Why It's OK |
|
|
42
|
+
|-----------------|------------|
|
|
43
|
+
| Independent scaling | Solo dev, <1K users |
|
|
44
|
+
| Repository pattern | Simple CRUD doesn't need it |
|
|
45
|
+
| Social login | Can add OAuth later |
|
|
46
|
+
|
|
47
|
+
### Migration Triggers
|
|
48
|
+
|
|
49
|
+
| When | Action |
|
|
50
|
+
|------|--------|
|
|
51
|
+
| Users > 10K | Extract payment service |
|
|
52
|
+
| Team > 3 | Add Repository pattern |
|
|
53
|
+
| Social login needed | Add NextAuth.js / OAuth |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Example 2: SaaS Product (5-10 Developers)
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Requirements: 1K-100K users, 5-10 devs, 12+ months, multi-domain
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
| Decision | Choice | Rationale |
|
|
64
|
+
|----------|--------|-----------|
|
|
65
|
+
| Structure | Modular Monolith | Team size optimal, clear boundaries |
|
|
66
|
+
| Framework | NestJS | Modular by design, TypeScript |
|
|
67
|
+
| Data Layer | Repository pattern | Testing, flexibility |
|
|
68
|
+
| Domain | Partial DDD | Rich entities, no full aggregates |
|
|
69
|
+
| Auth | OAuth + JWT | Social login, API tokens |
|
|
70
|
+
| Cache | Redis | Session, rate limit, pub/sub |
|
|
71
|
+
| Database | PostgreSQL | Relational, JSON support |
|
|
72
|
+
| Queue | BullMQ (Redis) | Background jobs |
|
|
73
|
+
| Deployment | Docker + GitHub Actions | Reproducible builds |
|
|
74
|
+
|
|
75
|
+
### Component Diagram
|
|
76
|
+
|
|
77
|
+
```mermaid
|
|
78
|
+
graph LR
|
|
79
|
+
Client[Browser/Mobile] --> Gateway[API Gateway]
|
|
80
|
+
Gateway --> Users[Users Module]
|
|
81
|
+
Gateway --> Billing[Billing Module]
|
|
82
|
+
Gateway --> Core[Core Module]
|
|
83
|
+
Users --> Repo1[User Repository]
|
|
84
|
+
Core --> Repo2[Core Repository]
|
|
85
|
+
Repo1 --> PG[(PostgreSQL)]
|
|
86
|
+
Repo2 --> PG
|
|
87
|
+
Core --> Redis[(Redis)]
|
|
88
|
+
Billing --> Stripe[Stripe API]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Trade-offs Accepted
|
|
92
|
+
|
|
93
|
+
| What We Give Up | Why It's OK |
|
|
94
|
+
|-----------------|------------|
|
|
95
|
+
| Independent deployment | Monolith coupling acceptable at team size |
|
|
96
|
+
| Full DDD aggregates | No domain experts on team |
|
|
97
|
+
| Event sourcing | Simple state mutations sufficient |
|
|
98
|
+
|
|
99
|
+
### Migration Triggers
|
|
100
|
+
|
|
101
|
+
| When | Action |
|
|
102
|
+
|------|--------|
|
|
103
|
+
| Team > 10 | Extract services (billing first) |
|
|
104
|
+
| Domain conflicts | Split bounded contexts |
|
|
105
|
+
| Read perf issues | Add CQRS for read models |
|
|
106
|
+
| Async workloads | Add Kafka/RabbitMQ |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Example 3: Enterprise Platform (100K+ Users)
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Requirements: 100K+ users, 10+ devs, multiple domains, 24/7 availability
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
| Decision | Choice | Rationale |
|
|
117
|
+
|----------|--------|-----------|
|
|
118
|
+
| Structure | Microservices | Independent scale, team ownership |
|
|
119
|
+
| API Gateway | Kong / AWS API GW | Routing, rate limiting, auth |
|
|
120
|
+
| Domain | Full DDD | Complex business rules |
|
|
121
|
+
| Consistency | Event-driven (eventual) | Decoupled services |
|
|
122
|
+
| Message Bus | Kafka | High throughput, replay |
|
|
123
|
+
| Auth | OAuth + SAML | Enterprise SSO |
|
|
124
|
+
| Database | Polyglot | Right tool per service |
|
|
125
|
+
| CQRS | Selected services | Read/write divergence |
|
|
126
|
+
| Deployment | Kubernetes + Helm | Orchestration at scale |
|
|
127
|
+
|
|
128
|
+
### Component Diagram
|
|
129
|
+
|
|
130
|
+
```mermaid
|
|
131
|
+
graph TB
|
|
132
|
+
Client[Clients] --> GW[API Gateway]
|
|
133
|
+
GW --> UserSvc[User Service]
|
|
134
|
+
GW --> OrderSvc[Order Service]
|
|
135
|
+
GW --> PaySvc[Payment Service]
|
|
136
|
+
UserSvc --> UserDB[(User DB - PG)]
|
|
137
|
+
OrderSvc --> OrderDB[(Order DB - PG)]
|
|
138
|
+
PaySvc --> PayDB[(Payment DB - PG)]
|
|
139
|
+
OrderSvc --> Kafka[Kafka Bus]
|
|
140
|
+
PaySvc --> Kafka
|
|
141
|
+
Kafka --> Analytics[Analytics Service]
|
|
142
|
+
Analytics --> ClickHouse[(ClickHouse)]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Operational Requirements
|
|
146
|
+
|
|
147
|
+
| Concern | Solution |
|
|
148
|
+
|---------|----------|
|
|
149
|
+
| Service mesh | Istio / Linkerd |
|
|
150
|
+
| Distributed tracing | Jaeger / Tempo |
|
|
151
|
+
| Centralized logging | ELK / Loki + Grafana |
|
|
152
|
+
| Circuit breakers | Resilience4j |
|
|
153
|
+
| Secrets management | HashiCorp Vault |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Cross-Tier Comparison
|
|
158
|
+
|
|
159
|
+
| Aspect | MVP | SaaS | Enterprise |
|
|
160
|
+
|--------|-----|------|-----------|
|
|
161
|
+
| **Complexity** | Low | Medium | Very High |
|
|
162
|
+
| **Time to deploy** | Hours | Days | Weeks |
|
|
163
|
+
| **Ops overhead** | Minimal | Moderate | Significant |
|
|
164
|
+
| **Cost (monthly)** | $0-50 | $100-1K | $5K+ |
|
|
165
|
+
| **Team expertise** | Junior OK | Mid-Senior | Senior + DevOps |
|
|
166
|
+
| **Recovery** | Git revert | Blue/green deploy | Canary + rollback |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 🔗 Related
|
|
171
|
+
|
|
172
|
+
| File | When to Read |
|
|
173
|
+
|------|-------------|
|
|
174
|
+
| [context-discovery.md](context-discovery.md) | Classify your project |
|
|
175
|
+
| [pattern-selection.md](pattern-selection.md) | Choose patterns |
|
|
176
|
+
| [trade-off-analysis.md](trade-off-analysis.md) | Document decisions |
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
⚡ PikaKit v3.9.134
|