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,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pattern-selection
|
|
3
|
+
description: Architecture pattern selection — decision trees for data access, domain logic, distribution, communication, with validation questions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pattern Selection Guidelines
|
|
7
|
+
|
|
8
|
+
> Decision trees for choosing architectural patterns. Always ask: Is there a simpler solution?
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## The 3 Questions (Before ANY Pattern)
|
|
13
|
+
|
|
14
|
+
1. **Problem Solved**: What SPECIFIC problem does this pattern solve?
|
|
15
|
+
2. **Simpler Alternative**: Is there a simpler solution?
|
|
16
|
+
3. **Deferred Complexity**: Can we add this LATER when needed?
|
|
17
|
+
|
|
18
|
+
> If you can't answer #1 clearly → don't use the pattern.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Main Decision Tree
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
START: What's your MAIN concern?
|
|
26
|
+
|
|
27
|
+
┌─ Data Access Complexity?
|
|
28
|
+
│ ├─ HIGH (complex queries, testing needed)
|
|
29
|
+
│ │ → Repository Pattern + Unit of Work
|
|
30
|
+
│ │ VALIDATE: Will data source change frequently?
|
|
31
|
+
│ │ ├─ YES → Repository worth the indirection
|
|
32
|
+
│ │ └─ NO → Consider simpler ORM direct access
|
|
33
|
+
│ └─ LOW (simple CRUD, single database)
|
|
34
|
+
│ → ORM directly (Prisma, Drizzle)
|
|
35
|
+
│ Simpler = Better, Faster
|
|
36
|
+
│
|
|
37
|
+
├─ Business Rules Complexity?
|
|
38
|
+
│ ├─ HIGH (domain logic, rules vary by context)
|
|
39
|
+
│ │ → Domain-Driven Design
|
|
40
|
+
│ │ VALIDATE: Do you have domain experts on team?
|
|
41
|
+
│ │ ├─ YES → Full DDD (Aggregates, Value Objects)
|
|
42
|
+
│ │ └─ NO → Partial DDD (rich entities, clear boundaries)
|
|
43
|
+
│ └─ LOW (mostly CRUD, simple validation)
|
|
44
|
+
│ → Transaction Script pattern
|
|
45
|
+
│ Simpler = Better, Faster
|
|
46
|
+
│
|
|
47
|
+
├─ Independent Scaling Needed?
|
|
48
|
+
│ ├─ YES (different components scale differently)
|
|
49
|
+
│ │ → Microservices WORTH the complexity
|
|
50
|
+
│ │ REQUIREMENTS (ALL must be true):
|
|
51
|
+
│ │ - Clear domain boundaries
|
|
52
|
+
│ │ - Team > 10 developers
|
|
53
|
+
│ │ - Different scaling needs per service
|
|
54
|
+
│ │ IF NOT ALL MET → Modular Monolith instead
|
|
55
|
+
│ └─ NO (everything scales together)
|
|
56
|
+
│ → Modular Monolith
|
|
57
|
+
│ Can extract services later when proven needed
|
|
58
|
+
│
|
|
59
|
+
└─ Real-time Requirements?
|
|
60
|
+
├─ HIGH (immediate updates, multi-user sync)
|
|
61
|
+
│ → Event-Driven Architecture
|
|
62
|
+
│ → Message Queue (RabbitMQ, Redis, Kafka)
|
|
63
|
+
│ VALIDATE: Can you handle eventual consistency?
|
|
64
|
+
│ ├─ YES → Event-driven valid
|
|
65
|
+
│ └─ NO → Synchronous with polling
|
|
66
|
+
└─ LOW (eventual consistency acceptable)
|
|
67
|
+
→ Synchronous (REST/GraphQL)
|
|
68
|
+
Simpler = Better, Faster
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Communication Pattern Selection
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
How do services communicate?
|
|
77
|
+
|
|
78
|
+
┌─ Synchronous (request-response)?
|
|
79
|
+
│ ├─ Public API → REST (standard, cacheable)
|
|
80
|
+
│ ├─ Internal services → gRPC (fast, typed)
|
|
81
|
+
│ ├─ Flexible queries → GraphQL (client-driven)
|
|
82
|
+
│ └─ Real-time bidirectional → WebSocket
|
|
83
|
+
│
|
|
84
|
+
└─ Asynchronous (fire-and-forget)?
|
|
85
|
+
├─ Simple job queue → BullMQ (Redis-based)
|
|
86
|
+
├─ Point-to-point → RabbitMQ (routing, reliability)
|
|
87
|
+
├─ High throughput stream → Kafka (log, replay)
|
|
88
|
+
└─ Cloud-native → AWS SQS/SNS, GCP Pub/Sub
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Message Broker Selection
|
|
92
|
+
|
|
93
|
+
| Factor | BullMQ | RabbitMQ | Kafka |
|
|
94
|
+
|--------|--------|----------|-------|
|
|
95
|
+
| **Best for** | Background jobs | Task routing | Event streaming |
|
|
96
|
+
| **Throughput** | Medium | Medium | Very High |
|
|
97
|
+
| **Ordering** | Per queue | Per queue | Per partition |
|
|
98
|
+
| **Replay** | ❌ | ❌ | ✅ |
|
|
99
|
+
| **Complexity** | Low | Medium | High |
|
|
100
|
+
| **Persistence** | Redis | Disk | Disk (replicated) |
|
|
101
|
+
| **Use when** | <10K msgs/sec | Routing logic | >10K msgs/sec, audit |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Red Flags (Anti-patterns)
|
|
106
|
+
|
|
107
|
+
| Pattern | Anti-pattern Signal | Simpler Alternative |
|
|
108
|
+
|---------|-------------------|---------------------|
|
|
109
|
+
| Microservices | "We might need to scale someday" | Start monolith, extract later |
|
|
110
|
+
| Clean/Hexagonal | Dozens of interfaces for simple CRUD | Concrete first, interfaces later |
|
|
111
|
+
| Event Sourcing | "Audit trail would be nice" | Append-only audit log table |
|
|
112
|
+
| CQRS | Read/write look the same | Single model, add CQRS when diverged |
|
|
113
|
+
| Repository | Single database, simple queries | ORM direct access |
|
|
114
|
+
| DDD | No domain experts, simple CRUD | Transaction Script |
|
|
115
|
+
| GraphQL | Single client, simple queries | REST |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 🔗 Related
|
|
120
|
+
|
|
121
|
+
| File | When to Read |
|
|
122
|
+
|------|-------------|
|
|
123
|
+
| [context-discovery.md](context-discovery.md) | Classify project first |
|
|
124
|
+
| [patterns-reference.md](patterns-reference.md) | Quick pattern lookup |
|
|
125
|
+
| [trade-off-analysis.md](trade-off-analysis.md) | Document your choice |
|
|
126
|
+
| [examples.md](examples.md) | See real implementations |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: patterns-reference
|
|
3
|
+
description: Architecture patterns quick reference — data access, domain, distributed, communication, resilience, and observability patterns
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Architecture Patterns Reference
|
|
7
|
+
|
|
8
|
+
> Quick lookup for common patterns. Check When to Use vs When NOT to Use before adopting.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Data Access Patterns
|
|
13
|
+
|
|
14
|
+
| Pattern | What It Does | When to Use | When NOT to Use | Complexity |
|
|
15
|
+
|---------|-------------|-------------|-----------------|:----------:|
|
|
16
|
+
| **Active Record** | Object = row, methods = queries | Simple CRUD, rapid prototyping | Complex queries, multiple sources | Low |
|
|
17
|
+
| **Repository** | Abstract data access behind interface | Testing, multiple sources, complex queries | Simple CRUD, single DB | Medium |
|
|
18
|
+
| **Unit of Work** | Track changes, commit as single transaction | Complex multi-entity writes | Simple single-table operations | High |
|
|
19
|
+
| **Data Mapper** | Separate domain from persistence | Rich domain model, performance tuning | Simple CRUD, rapid dev | High |
|
|
20
|
+
|
|
21
|
+
**Decision:** Start with Active Record / ORM direct. Add Repository when testing demands or source changes.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Domain Logic Patterns
|
|
26
|
+
|
|
27
|
+
| Pattern | What It Does | When to Use | When NOT to Use | Complexity |
|
|
28
|
+
|---------|-------------|-------------|-----------------|:----------:|
|
|
29
|
+
| **Transaction Script** | Procedural — one function per operation | Simple CRUD, thin business logic | Complex rules, many edge cases | Low |
|
|
30
|
+
| **Table Module** | One class per table with record logic | Record-based validation | Rich behavior across entities | Low |
|
|
31
|
+
| **Domain Model** | Objects with behavior (OOP) | Complex business logic, state machines | Simple CRUD, no invariants | Medium |
|
|
32
|
+
| **DDD (Full)** | Aggregates, Value Objects, bounded contexts | Complex domain, domain experts available | Simple domain, no experts | High |
|
|
33
|
+
|
|
34
|
+
**Decision:** Transaction Script is default. Upgrade to Domain Model when rules exceed simple validation.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Distributed System Patterns
|
|
39
|
+
|
|
40
|
+
| Pattern | What It Does | When to Use | When NOT to Use | Complexity |
|
|
41
|
+
|---------|-------------|-------------|-----------------|:----------:|
|
|
42
|
+
| **Modular Monolith** | Single deployment, internal module boundaries | Small-medium teams, unclear boundaries | Clear contexts, different scales | Medium |
|
|
43
|
+
| **Microservices** | Independent services, independent deploy | Different scales, large teams (10+) | Small teams, simple domain | Very High |
|
|
44
|
+
| **Event-Driven** | Publish events, subscribers react | Loose coupling, real-time, audit trail | Simple workflows, strong consistency required | High |
|
|
45
|
+
| **CQRS** | Separate read/write models | Read/write performance diverges | Same data shape for read/write | High |
|
|
46
|
+
| **Saga** | Distributed transactions via compensation | Cross-service transactions | Single database, simple ACID | High |
|
|
47
|
+
| **Event Sourcing** | Store events, derive state | Full audit trail, temporal queries | Simple state, no replay needs | Very High |
|
|
48
|
+
|
|
49
|
+
**Decision:** Modular Monolith is default. Extract microservices only when 3 criteria met (clear boundaries + team >10 + different scaling).
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Communication Patterns
|
|
54
|
+
|
|
55
|
+
| Pattern | What It Does | When to Use | When NOT to Use | Complexity |
|
|
56
|
+
|---------|-------------|-------------|-----------------|:----------:|
|
|
57
|
+
| **REST** | Resource-based HTTP API | Standard CRUD, public APIs, caching | Real-time, complex queries | Low |
|
|
58
|
+
| **GraphQL** | Client-driven queries, single endpoint | Multi-client, flexible queries | Simple CRUD, heavy caching | Medium |
|
|
59
|
+
| **gRPC** | Binary protocol, code-gen, streaming | Internal services, high perf | Public APIs, browser clients | Medium |
|
|
60
|
+
| **WebSocket** | Persistent bidirectional connection | Real-time updates, chat, collaboration | Simple request-response | Medium |
|
|
61
|
+
| **SSE** | Server-push, one-directional | Live feeds, notifications | Bidirectional communication | Low |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Resilience Patterns
|
|
66
|
+
|
|
67
|
+
| Pattern | What It Does | When to Use |
|
|
68
|
+
|---------|-------------|-------------|
|
|
69
|
+
| **Circuit Breaker** | Stop calling failing service, fallback | External service calls |
|
|
70
|
+
| **Retry with Backoff** | Retry transient failures with delay | Network errors, 503s |
|
|
71
|
+
| **Bulkhead** | Isolate failure to prevent cascade | Multiple service dependencies |
|
|
72
|
+
| **Timeout** | Limit wait time for external calls | Every external call |
|
|
73
|
+
| **Rate Limiter** | Limit request throughput | API endpoints, external APIs |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Observability Patterns
|
|
78
|
+
|
|
79
|
+
| Pattern | What It Does | Tool Examples |
|
|
80
|
+
|---------|-------------|---------------|
|
|
81
|
+
| **Structured Logging** | JSON logs with context | Pino, Winston → Loki |
|
|
82
|
+
| **Distributed Tracing** | Track requests across services | OpenTelemetry → Jaeger/Tempo |
|
|
83
|
+
| **Metrics** | Numeric measurements over time | Prometheus → Grafana |
|
|
84
|
+
| **Health Checks** | Endpoint reporting service health | `/health`, `/ready` |
|
|
85
|
+
| **Alerting** | Notify on threshold breach | PagerDuty, Grafana Alerting |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Simplicity Principle
|
|
90
|
+
|
|
91
|
+
**"Start simple, add complexity only when proven necessary."**
|
|
92
|
+
|
|
93
|
+
- You can always add patterns later
|
|
94
|
+
- Removing complexity is MUCH harder than adding it
|
|
95
|
+
- When in doubt, choose the simpler option
|
|
96
|
+
- If you can't explain why you need a pattern in one sentence → you don't need it
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 🔗 Related
|
|
101
|
+
|
|
102
|
+
| File | When to Read |
|
|
103
|
+
|------|-------------|
|
|
104
|
+
| [pattern-selection.md](pattern-selection.md) | Decision trees |
|
|
105
|
+
| [examples.md](examples.md) | Real implementations |
|
|
106
|
+
| [trade-off-analysis.md](trade-off-analysis.md) | Document choices |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trade-off-analysis
|
|
3
|
+
description: Trade-off analysis framework — ADR template, common trade-off dimensions, filled example, and decision storage
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Trade-off Analysis & ADR
|
|
7
|
+
|
|
8
|
+
> Document every architectural decision with trade-offs. Future-you will thank present-you.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Common Trade-off Dimensions
|
|
13
|
+
|
|
14
|
+
| Dimension | Trade-off |
|
|
15
|
+
|-----------|-----------|
|
|
16
|
+
| **Simplicity ↔ Flexibility** | Simple code is rigid; flexible code is complex |
|
|
17
|
+
| **Speed ↔ Quality** | Ship fast = tech debt; polish = slower delivery |
|
|
18
|
+
| **Consistency ↔ Availability** | Strong consistency = lower availability (CAP) |
|
|
19
|
+
| **Coupling ↔ Complexity** | Tight coupling = simple; loose coupling = more infra |
|
|
20
|
+
| **Build ↔ Buy** | Build = control + maintenance; Buy = cost + vendor lock |
|
|
21
|
+
| **Monolith ↔ Microservices** | Monolith = simple ops; Micro = independent scale + deploy complexity |
|
|
22
|
+
| **SQL ↔ NoSQL** | SQL = consistency + joins; NoSQL = scale + flexibility |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Decision Framework
|
|
27
|
+
|
|
28
|
+
For EACH architectural component, document:
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
## Architecture Decision Record
|
|
32
|
+
|
|
33
|
+
### Context
|
|
34
|
+
- **Problem**: [What problem are we solving?]
|
|
35
|
+
- **Constraints**: [Team size, scale, timeline, budget]
|
|
36
|
+
|
|
37
|
+
### Options Considered
|
|
38
|
+
|
|
39
|
+
| Option | Pros | Cons | Complexity | When Valid |
|
|
40
|
+
|--------|------|------|------------|-----------|
|
|
41
|
+
| Option A | Benefit 1 | Cost 1 | Low | [Conditions] |
|
|
42
|
+
| Option B | Benefit 2 | Cost 2 | High | [Conditions] |
|
|
43
|
+
|
|
44
|
+
### Decision
|
|
45
|
+
**Chosen**: [Option X]
|
|
46
|
+
|
|
47
|
+
### Rationale
|
|
48
|
+
1. [Reason 1 — tied to constraints]
|
|
49
|
+
2. [Reason 2 — tied to requirements]
|
|
50
|
+
|
|
51
|
+
### Trade-offs Accepted
|
|
52
|
+
- [What we're giving up]
|
|
53
|
+
- [Why this is acceptable]
|
|
54
|
+
|
|
55
|
+
### Consequences
|
|
56
|
+
- **Positive**: [Benefits we gain]
|
|
57
|
+
- **Negative**: [Costs/risks we accept]
|
|
58
|
+
- **Mitigation**: [How we'll address negatives]
|
|
59
|
+
|
|
60
|
+
### Revisit Trigger
|
|
61
|
+
- [When to reconsider this decision]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Filled Example: Database Selection
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# ADR-002: PostgreSQL over MongoDB
|
|
70
|
+
|
|
71
|
+
## Status
|
|
72
|
+
Accepted
|
|
73
|
+
|
|
74
|
+
## Context
|
|
75
|
+
E-commerce SaaS with orders, inventory, and user management.
|
|
76
|
+
Team of 5, all familiar with SQL. Need ACID for financial transactions.
|
|
77
|
+
|
|
78
|
+
## Options Considered
|
|
79
|
+
|
|
80
|
+
| Option | Pros | Cons | Complexity |
|
|
81
|
+
|--------|------|------|-----------|
|
|
82
|
+
| PostgreSQL | ACID, joins, mature, JSON support | Harder horizontal scale | Low |
|
|
83
|
+
| MongoDB | Flexible schema, horizontal scale | No joins, eventual consistency | Medium |
|
|
84
|
+
| CockroachDB | Distributed SQL, ACID | Newer, smaller ecosystem | High |
|
|
85
|
+
|
|
86
|
+
## Decision
|
|
87
|
+
**Chosen**: PostgreSQL
|
|
88
|
+
|
|
89
|
+
## Rationale
|
|
90
|
+
1. Financial transactions require ACID (orders + payments)
|
|
91
|
+
2. Team already proficient in SQL — no learning curve
|
|
92
|
+
3. JSON column covers semi-structured data needs
|
|
93
|
+
4. Supabase/Neon provide managed PG with good DX
|
|
94
|
+
|
|
95
|
+
## Trade-offs Accepted
|
|
96
|
+
- Horizontal scaling harder → acceptable at <100K users
|
|
97
|
+
- Single point of failure → mitigated by managed hosting + replicas
|
|
98
|
+
|
|
99
|
+
## Consequences
|
|
100
|
+
- **Positive**: Strong consistency for orders, familiar tooling, Prisma/Drizzle support
|
|
101
|
+
- **Negative**: Must shard manually if >100K concurrent writes
|
|
102
|
+
- **Mitigation**: Read replicas for read scaling, revisit if write-heavy
|
|
103
|
+
|
|
104
|
+
## Revisit Trigger
|
|
105
|
+
- Write throughput >10K/sec consistently
|
|
106
|
+
- Need geo-distributed database
|
|
107
|
+
- Schema flexibility becomes painful
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## ADR Compact Template
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
# ADR-[XXX]: [Decision Title]
|
|
116
|
+
|
|
117
|
+
## Status
|
|
118
|
+
Proposed | Accepted | Deprecated | Superseded by [ADR-YYY]
|
|
119
|
+
|
|
120
|
+
## Context
|
|
121
|
+
[What problem? What constraints?]
|
|
122
|
+
|
|
123
|
+
## Decision
|
|
124
|
+
[What we chose — be specific]
|
|
125
|
+
|
|
126
|
+
## Rationale
|
|
127
|
+
[Why — tie to requirements and constraints]
|
|
128
|
+
|
|
129
|
+
## Trade-offs
|
|
130
|
+
[What we're giving up — be honest]
|
|
131
|
+
|
|
132
|
+
## Consequences
|
|
133
|
+
- **Positive**: [Benefits]
|
|
134
|
+
- **Negative**: [Costs]
|
|
135
|
+
- **Mitigation**: [How to address]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## ADR Storage
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
docs/
|
|
144
|
+
└── architecture/
|
|
145
|
+
├── adr-001-use-nextjs.md
|
|
146
|
+
├── adr-002-postgresql-over-mongodb.md
|
|
147
|
+
├── adr-003-modular-monolith.md
|
|
148
|
+
└── adr-004-jwt-over-session.md
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Rules:**
|
|
152
|
+
- Sequential numbering (never reuse numbers)
|
|
153
|
+
- Deprecated ADRs stay (append "Superseded by ADR-XXX")
|
|
154
|
+
- Review ADRs quarterly against revisit triggers
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 🔗 Related
|
|
159
|
+
|
|
160
|
+
| File | When to Read |
|
|
161
|
+
|------|-------------|
|
|
162
|
+
| [context-discovery.md](context-discovery.md) | Gather context first |
|
|
163
|
+
| [pattern-selection.md](pattern-selection.md) | Choose patterns |
|
|
164
|
+
| [patterns-reference.md](patterns-reference.md) | Pattern comparison |
|
|
165
|
+
| [examples.md](examples.md) | See full architecture examples |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
⚡ PikaKit v3.9.134
|