tribunal-kit 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/ARCHITECTURE.md +99 -99
- package/.agent/GEMINI.md +52 -52
- package/.agent/agents/accessibility-reviewer.md +187 -220
- package/.agent/agents/ai-code-reviewer.md +199 -233
- package/.agent/agents/backend-specialist.md +215 -238
- package/.agent/agents/code-archaeologist.md +161 -181
- package/.agent/agents/database-architect.md +184 -207
- package/.agent/agents/debugger.md +191 -218
- package/.agent/agents/dependency-reviewer.md +103 -136
- package/.agent/agents/devops-engineer.md +218 -238
- package/.agent/agents/documentation-writer.md +201 -221
- package/.agent/agents/explorer-agent.md +160 -180
- package/.agent/agents/frontend-reviewer.md +160 -194
- package/.agent/agents/frontend-specialist.md +248 -237
- package/.agent/agents/game-developer.md +48 -52
- package/.agent/agents/logic-reviewer.md +116 -149
- package/.agent/agents/mobile-developer.md +200 -223
- package/.agent/agents/mobile-reviewer.md +162 -195
- package/.agent/agents/orchestrator.md +181 -211
- package/.agent/agents/penetration-tester.md +157 -174
- package/.agent/agents/performance-optimizer.md +183 -203
- package/.agent/agents/performance-reviewer.md +178 -211
- package/.agent/agents/precedence-reviewer.md +213 -0
- package/.agent/agents/product-manager.md +142 -162
- package/.agent/agents/product-owner.md +6 -25
- package/.agent/agents/project-planner.md +142 -162
- package/.agent/agents/qa-automation-engineer.md +225 -242
- package/.agent/agents/security-auditor.md +174 -194
- package/.agent/agents/seo-specialist.md +193 -213
- package/.agent/agents/sql-reviewer.md +161 -194
- package/.agent/agents/supervisor-agent.md +184 -203
- package/.agent/agents/swarm-worker-contracts.md +17 -17
- package/.agent/agents/swarm-worker-registry.md +46 -46
- package/.agent/agents/test-coverage-reviewer.md +160 -193
- package/.agent/agents/test-engineer.md +0 -21
- package/.agent/agents/type-safety-reviewer.md +175 -208
- package/.agent/patterns/generator.md +9 -9
- package/.agent/patterns/inversion.md +12 -12
- package/.agent/patterns/pipeline.md +9 -9
- package/.agent/patterns/reviewer.md +13 -13
- package/.agent/patterns/tool-wrapper.md +9 -9
- package/.agent/rules/GEMINI.md +63 -63
- package/.agent/scripts/append_flow.js +72 -0
- package/.agent/scripts/case_law_manager.py +525 -0
- package/.agent/scripts/compress_skills.py +167 -0
- package/.agent/scripts/consolidate_skills.py +173 -0
- package/.agent/scripts/deep_compress.py +202 -0
- package/.agent/scripts/minify_context.py +80 -0
- package/.agent/scripts/security_scan.py +1 -1
- package/.agent/scripts/skill_evolution.py +563 -0
- package/.agent/scripts/strip_tribunal.py +41 -0
- package/.agent/skills/agent-organizer/SKILL.md +100 -126
- package/.agent/skills/agentic-patterns/SKILL.md +0 -70
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +134 -160
- package/.agent/skills/api-patterns/SKILL.md +123 -215
- package/.agent/skills/api-security-auditor/SKILL.md +143 -177
- package/.agent/skills/app-builder/SKILL.md +334 -50
- package/.agent/skills/app-builder/templates/SKILL.md +13 -15
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
- package/.agent/skills/appflow-wireframe/SKILL.md +95 -121
- package/.agent/skills/architecture/SKILL.md +169 -331
- package/.agent/skills/authentication-best-practices/SKILL.md +139 -173
- package/.agent/skills/bash-linux/SKILL.md +129 -154
- package/.agent/skills/behavioral-modes/SKILL.md +8 -69
- package/.agent/skills/brainstorming/SKILL.md +436 -104
- package/.agent/skills/building-native-ui/SKILL.md +152 -174
- package/.agent/skills/clean-code/SKILL.md +331 -360
- package/.agent/skills/code-review-checklist/SKILL.md +0 -62
- package/.agent/skills/config-validator/SKILL.md +115 -141
- package/.agent/skills/csharp-developer/SKILL.md +468 -528
- package/.agent/skills/database-design/SKILL.md +104 -369
- package/.agent/skills/deployment-procedures/SKILL.md +119 -145
- package/.agent/skills/devops-engineer/SKILL.md +295 -332
- package/.agent/skills/devops-incident-responder/SKILL.md +87 -113
- package/.agent/skills/doc.md +5 -5
- package/.agent/skills/documentation-templates/SKILL.md +27 -63
- package/.agent/skills/edge-computing/SKILL.md +131 -157
- package/.agent/skills/extract-design-system/SKILL.md +108 -134
- package/.agent/skills/framer-motion-expert/SKILL.md +111 -855
- package/.agent/skills/frontend-design/SKILL.md +151 -499
- package/.agent/skills/game-design-expert/SKILL.md +79 -105
- package/.agent/skills/game-engineering-expert/SKILL.md +96 -122
- package/.agent/skills/geo-fundamentals/SKILL.md +97 -124
- package/.agent/skills/github-operations/SKILL.md +279 -314
- package/.agent/skills/gsap-expert/SKILL.md +119 -826
- package/.agent/skills/i18n-localization/SKILL.md +113 -138
- package/.agent/skills/intelligent-routing/SKILL.md +167 -127
- package/.agent/skills/lint-and-validate/SKILL.md +16 -52
- package/.agent/skills/llm-engineering/SKILL.md +344 -357
- package/.agent/skills/local-first/SKILL.md +128 -154
- package/.agent/skills/mcp-builder/SKILL.md +92 -118
- package/.agent/skills/mobile-design/SKILL.md +213 -219
- package/.agent/skills/motion-engineering/SKILL.md +184 -0
- package/.agent/skills/nextjs-react-expert/SKILL.md +99 -698
- package/.agent/skills/nodejs-best-practices/SKILL.md +498 -559
- package/.agent/skills/observability/SKILL.md +293 -330
- package/.agent/skills/parallel-agents/SKILL.md +96 -122
- package/.agent/skills/performance-profiling/SKILL.md +217 -254
- package/.agent/skills/plan-writing/SKILL.md +92 -118
- package/.agent/skills/platform-engineer/SKILL.md +97 -123
- package/.agent/skills/playwright-best-practices/SKILL.md +137 -162
- package/.agent/skills/powershell-windows/SKILL.md +112 -146
- package/.agent/skills/project-idioms/SKILL.md +87 -0
- package/.agent/skills/python-patterns/SKILL.md +15 -35
- package/.agent/skills/python-pro/SKILL.md +148 -754
- package/.agent/skills/react-specialist/SKILL.md +123 -827
- package/.agent/skills/readme-builder/SKILL.md +23 -85
- package/.agent/skills/realtime-patterns/SKILL.md +269 -304
- package/.agent/skills/red-team-tactics/SKILL.md +18 -51
- package/.agent/skills/rust-pro/SKILL.md +623 -701
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -154
- package/.agent/skills/server-management/SKILL.md +164 -190
- package/.agent/skills/shadcn-ui-expert/SKILL.md +181 -206
- package/.agent/skills/skill-creator/SKILL.md +24 -56
- package/.agent/skills/sql-pro/SKILL.md +579 -633
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +35 -66
- package/.agent/skills/swiftui-expert/SKILL.md +151 -176
- package/.agent/skills/systematic-debugging/SKILL.md +92 -118
- package/.agent/skills/tailwind-patterns/SKILL.md +516 -576
- package/.agent/skills/tdd-workflow/SKILL.md +111 -137
- package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
- package/.agent/skills/testing-patterns/SKILL.md +512 -573
- package/.agent/skills/trend-researcher/SKILL.md +30 -71
- package/.agent/skills/ui-ux-pro-max/SKILL.md +8 -41
- package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
- package/.agent/skills/vue-expert/SKILL.md +127 -866
- package/.agent/skills/vulnerability-scanner/SKILL.md +354 -269
- package/.agent/skills/web-accessibility-auditor/SKILL.md +168 -193
- package/.agent/skills/web-design-guidelines/SKILL.md +25 -61
- package/.agent/skills/webapp-testing/SKILL.md +119 -145
- package/.agent/skills/whimsy-injector/SKILL.md +58 -132
- package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
- package/.agent/workflows/api-tester.md +151 -151
- package/.agent/workflows/audit.md +127 -138
- package/.agent/workflows/brainstorm.md +110 -110
- package/.agent/workflows/changelog.md +112 -112
- package/.agent/workflows/create.md +124 -124
- package/.agent/workflows/debug.md +165 -189
- package/.agent/workflows/deploy.md +180 -189
- package/.agent/workflows/enhance.md +128 -151
- package/.agent/workflows/fix.md +114 -135
- package/.agent/workflows/generate.md +13 -4
- package/.agent/workflows/migrate.md +160 -160
- package/.agent/workflows/orchestrate.md +168 -168
- package/.agent/workflows/performance-benchmarker.md +114 -123
- package/.agent/workflows/plan.md +173 -173
- package/.agent/workflows/preview.md +80 -80
- package/.agent/workflows/refactor.md +161 -183
- package/.agent/workflows/review-ai.md +101 -129
- package/.agent/workflows/review.md +116 -116
- package/.agent/workflows/session.md +94 -94
- package/.agent/workflows/status.md +79 -79
- package/.agent/workflows/strengthen-skills.md +138 -139
- package/.agent/workflows/swarm.md +179 -179
- package/.agent/workflows/test.md +189 -211
- package/.agent/workflows/tribunal-backend.md +94 -113
- package/.agent/workflows/tribunal-database.md +95 -115
- package/.agent/workflows/tribunal-frontend.md +96 -118
- package/.agent/workflows/tribunal-full.md +93 -133
- package/.agent/workflows/tribunal-mobile.md +95 -119
- package/.agent/workflows/tribunal-performance.md +110 -133
- package/.agent/workflows/ui-ux-pro-max.md +122 -143
- package/README.md +30 -1
- package/bin/tribunal-kit.js +175 -12
- package/package.json +25 -4
- package/.agent/skills/api-patterns/api-style.md +0 -42
- package/.agent/skills/api-patterns/auth.md +0 -24
- package/.agent/skills/api-patterns/documentation.md +0 -26
- package/.agent/skills/api-patterns/graphql.md +0 -41
- package/.agent/skills/api-patterns/rate-limiting.md +0 -31
- package/.agent/skills/api-patterns/response.md +0 -37
- package/.agent/skills/api-patterns/rest.md +0 -40
- package/.agent/skills/api-patterns/security-testing.md +0 -122
- package/.agent/skills/api-patterns/trpc.md +0 -41
- package/.agent/skills/api-patterns/versioning.md +0 -22
- package/.agent/skills/app-builder/agent-coordination.md +0 -71
- package/.agent/skills/app-builder/feature-building.md +0 -53
- package/.agent/skills/app-builder/project-detection.md +0 -34
- package/.agent/skills/app-builder/scaffolding.md +0 -118
- package/.agent/skills/app-builder/tech-stack.md +0 -40
- package/.agent/skills/architecture/context-discovery.md +0 -43
- package/.agent/skills/architecture/examples.md +0 -94
- package/.agent/skills/architecture/pattern-selection.md +0 -68
- package/.agent/skills/architecture/patterns-reference.md +0 -50
- package/.agent/skills/architecture/trade-off-analysis.md +0 -77
- package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
- package/.agent/skills/database-design/database-selection.md +0 -43
- package/.agent/skills/database-design/indexing.md +0 -39
- package/.agent/skills/database-design/migrations.md +0 -48
- package/.agent/skills/database-design/optimization.md +0 -36
- package/.agent/skills/database-design/orm-selection.md +0 -30
- package/.agent/skills/database-design/schema-design.md +0 -56
- package/.agent/skills/frontend-design/animation-guide.md +0 -331
- package/.agent/skills/frontend-design/color-system.md +0 -329
- package/.agent/skills/frontend-design/decision-trees.md +0 -418
- package/.agent/skills/frontend-design/motion-graphics.md +0 -306
- package/.agent/skills/frontend-design/typography-system.md +0 -363
- package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
- package/.agent/skills/frontend-design/visual-effects.md +0 -383
- package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
- package/.agent/skills/mobile-design/decision-trees.md +0 -516
- package/.agent/skills/mobile-design/mobile-backend.md +0 -491
- package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
- package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
- package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
- package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
- package/.agent/skills/mobile-design/mobile-performance.md +0 -767
- package/.agent/skills/mobile-design/mobile-testing.md +0 -356
- package/.agent/skills/mobile-design/mobile-typography.md +0 -433
- package/.agent/skills/mobile-design/platform-android.md +0 -666
- package/.agent/skills/mobile-design/platform-ios.md +0 -561
- package/.agent/skills/mobile-design/touch-psychology.md +0 -537
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
- package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# tRPC Principles
|
|
2
|
-
|
|
3
|
-
> End-to-end type safety for TypeScript monorepos.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
✅ Perfect fit:
|
|
9
|
-
├── TypeScript on both ends
|
|
10
|
-
├── Monorepo structure
|
|
11
|
-
├── Internal tools
|
|
12
|
-
├── Rapid development
|
|
13
|
-
└── Type safety critical
|
|
14
|
-
|
|
15
|
-
❌ Poor fit:
|
|
16
|
-
├── Non-TypeScript clients
|
|
17
|
-
├── Public API
|
|
18
|
-
├── Need REST conventions
|
|
19
|
-
└── Multiple language backends
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Key Benefits
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
Why tRPC:
|
|
26
|
-
├── Zero schema maintenance
|
|
27
|
-
├── End-to-end type inference
|
|
28
|
-
├── IDE autocomplete across stack
|
|
29
|
-
├── Instant API changes reflected
|
|
30
|
-
└── No code generation step
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Integration Patterns
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
Common setups:
|
|
37
|
-
├── Next.js + tRPC (most common)
|
|
38
|
-
├── Monorepo with shared types
|
|
39
|
-
├── Remix + tRPC
|
|
40
|
-
└── Any TS frontend + backend
|
|
41
|
-
```
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Versioning Strategies
|
|
2
|
-
|
|
3
|
-
> Plan for API evolution from day one.
|
|
4
|
-
|
|
5
|
-
## Decision Factors
|
|
6
|
-
|
|
7
|
-
| Strategy | Implementation | Trade-offs |
|
|
8
|
-
|----------|---------------|------------|
|
|
9
|
-
| **URI** | /v1/users | Clear, easy caching |
|
|
10
|
-
| **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |
|
|
11
|
-
| **Query** | ?version=1 | Easy to add, messy |
|
|
12
|
-
| **None** | Evolve carefully | Best for internal, risky for public |
|
|
13
|
-
|
|
14
|
-
## Versioning Philosophy
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
Consider:
|
|
18
|
-
├── Public API? → Version in URI
|
|
19
|
-
├── Internal only? → May not need versioning
|
|
20
|
-
├── GraphQL? → Typically no versions (evolve schema)
|
|
21
|
-
├── tRPC? → Types enforce compatibility
|
|
22
|
-
```
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Agent Coordination
|
|
2
|
-
|
|
3
|
-
> How App Builder orchestrates specialist agents.
|
|
4
|
-
|
|
5
|
-
## Agent Pipeline
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
9
|
-
│ APP BUILDER (Orchestrator) │
|
|
10
|
-
└─────────────────────────────────────────────────────────────┘
|
|
11
|
-
│
|
|
12
|
-
▼
|
|
13
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
14
|
-
│ PROJECT PLANNER │
|
|
15
|
-
│ • Task breakdown │
|
|
16
|
-
│ • Dependency graph │
|
|
17
|
-
│ • File structure planning │
|
|
18
|
-
│ • Create {task-slug}.md in project root (MANDATORY) │
|
|
19
|
-
└─────────────────────────────────────────────────────────────┘
|
|
20
|
-
│
|
|
21
|
-
▼
|
|
22
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
23
|
-
│ CHECKPOINT: PLAN VERIFICATION │
|
|
24
|
-
│ 🔴 VERIFY: Does {task-slug}.md exist in project root? │
|
|
25
|
-
│ 🔴 If NO → STOP → Create plan file first │
|
|
26
|
-
│ 🔴 If YES → Proceed to specialist agents │
|
|
27
|
-
└─────────────────────────────────────────────────────────────┘
|
|
28
|
-
│
|
|
29
|
-
┌───────────────────┼───────────────────┐
|
|
30
|
-
▼ ▼ ▼
|
|
31
|
-
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
32
|
-
│ DATABASE │ │ BACKEND │ │ FRONTEND │
|
|
33
|
-
│ ARCHITECT │ │ SPECIALIST │ │ SPECIALIST │
|
|
34
|
-
│ │ │ │ │ │
|
|
35
|
-
│ • Schema design │ │ • API routes │ │ • Components │
|
|
36
|
-
│ • Migrations │ │ • Controllers │ │ • Pages │
|
|
37
|
-
│ • Seed data │ │ • Middleware │ │ • Styling │
|
|
38
|
-
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
39
|
-
│ │ │
|
|
40
|
-
└───────────────────┼───────────────────┘
|
|
41
|
-
▼
|
|
42
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
43
|
-
│ PARALLEL PHASE (Optional) │
|
|
44
|
-
│ • Security Auditor → Vulnerability check │
|
|
45
|
-
│ • Test Engineer → Unit tests │
|
|
46
|
-
│ • Performance Optimizer → Bundle analysis │
|
|
47
|
-
└─────────────────────────────────────────────────────────────┘
|
|
48
|
-
│
|
|
49
|
-
▼
|
|
50
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
51
|
-
│ DEVOPS ENGINEER │
|
|
52
|
-
│ • Environment setup │
|
|
53
|
-
│ • Preview deployment │
|
|
54
|
-
│ • Health check │
|
|
55
|
-
└─────────────────────────────────────────────────────────────┘
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Execution Order
|
|
59
|
-
|
|
60
|
-
| Phase | Agent(s) | Parallel? | Prerequisite | CHECKPOINT |
|
|
61
|
-
|-------|----------|-----------|--------------|------------|
|
|
62
|
-
| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |
|
|
63
|
-
| 1 | Project Planner | ❌ | Questions answered | ✅ **PLAN.md created** |
|
|
64
|
-
| 1.5 | **PLAN VERIFICATION** | ❌ | PLAN.md exists | ✅ **File exists in root** |
|
|
65
|
-
| 2 | Database Architect | ❌ | Plan ready | Schema defined |
|
|
66
|
-
| 3 | Backend Specialist | ❌ | Schema ready | API routes created |
|
|
67
|
-
| 4 | Frontend Specialist | ✅ | API ready (partial) | UI components ready |
|
|
68
|
-
| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |
|
|
69
|
-
| 6 | DevOps Engineer | ❌ | All code ready | Deployment ready |
|
|
70
|
-
|
|
71
|
-
> 🔴 **CRITICAL:** Phase 1.5 is MANDATORY. No specialist agents proceed without PLAN.md verification.
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Feature Building
|
|
2
|
-
|
|
3
|
-
> How to analyze and implement new features.
|
|
4
|
-
|
|
5
|
-
## Feature Analysis
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Request: "add payment system"
|
|
9
|
-
|
|
10
|
-
Analysis:
|
|
11
|
-
├── Required Changes:
|
|
12
|
-
│ ├── Database: orders, payments tables
|
|
13
|
-
│ ├── Backend: /api/checkout, /api/webhooks/stripe
|
|
14
|
-
│ ├── Frontend: CheckoutForm, PaymentSuccess
|
|
15
|
-
│ └── Config: Stripe API keys
|
|
16
|
-
│
|
|
17
|
-
├── Dependencies:
|
|
18
|
-
│ ├── stripe package
|
|
19
|
-
│ └── Existing user authentication
|
|
20
|
-
│
|
|
21
|
-
└── Estimated Time: 15-20 minutes
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Iterative Enhancement Process
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
1. Analyze existing project
|
|
28
|
-
2. Create change plan
|
|
29
|
-
3. Present plan to user
|
|
30
|
-
4. Get approval
|
|
31
|
-
5. Apply changes
|
|
32
|
-
6. Test
|
|
33
|
-
7. Show preview
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Error Handling
|
|
37
|
-
|
|
38
|
-
| Error Type | Solution Strategy |
|
|
39
|
-
|------------|-------------------|
|
|
40
|
-
| TypeScript Error | Fix type, add missing import |
|
|
41
|
-
| Missing Dependency | Run npm install |
|
|
42
|
-
| Port Conflict | Suggest alternative port |
|
|
43
|
-
| Database Error | Check migration, validate connection |
|
|
44
|
-
|
|
45
|
-
## Recovery Strategy
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
1. Detect error
|
|
49
|
-
2. Try automatic fix
|
|
50
|
-
3. If failed, report to user
|
|
51
|
-
4. Suggest alternative
|
|
52
|
-
5. Rollback if necessary
|
|
53
|
-
```
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Project Type Detection
|
|
2
|
-
|
|
3
|
-
> Analyze user requests to determine project type and template.
|
|
4
|
-
|
|
5
|
-
## Keyword Matrix
|
|
6
|
-
|
|
7
|
-
| Keywords | Project Type | Template |
|
|
8
|
-
|----------|--------------|----------|
|
|
9
|
-
| blog, post, article | Blog | astro-static |
|
|
10
|
-
| e-commerce, product, cart, payment | E-commerce | nextjs-saas |
|
|
11
|
-
| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |
|
|
12
|
-
| api, backend, service, rest | API Service | express-api |
|
|
13
|
-
| python, fastapi, django | Python API | python-fastapi |
|
|
14
|
-
| mobile, android, ios, react native | Mobile App (RN) | react-native-app |
|
|
15
|
-
| flutter, dart | Mobile App (Flutter) | flutter-app |
|
|
16
|
-
| portfolio, personal, cv | Portfolio | nextjs-static |
|
|
17
|
-
| crm, customer, sales | CRM | nextjs-fullstack |
|
|
18
|
-
| saas, subscription, stripe | SaaS | nextjs-saas |
|
|
19
|
-
| landing, promotional, marketing | Landing Page | nextjs-static |
|
|
20
|
-
| docs, documentation | Documentation | astro-static |
|
|
21
|
-
| extension, plugin, chrome | Browser Extension | chrome-extension |
|
|
22
|
-
| desktop, electron | Desktop App | electron-desktop |
|
|
23
|
-
| cli, command line, terminal | CLI Tool | cli-tool |
|
|
24
|
-
| monorepo, workspace | Monorepo | monorepo-turborepo |
|
|
25
|
-
|
|
26
|
-
## Detection Process
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
1. Tokenize user request
|
|
30
|
-
2. Extract keywords
|
|
31
|
-
3. Determine project type
|
|
32
|
-
4. Detect missing information → forward to conversation-manager
|
|
33
|
-
5. Suggest tech stack
|
|
34
|
-
```
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# Project Scaffolding
|
|
2
|
-
|
|
3
|
-
> Directory structure and core files for new projects.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Next.js Full-Stack Structure (2025 Optimized)
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
project-name/
|
|
11
|
-
├── src/
|
|
12
|
-
│ ├── app/ # Routes only (thin layer)
|
|
13
|
-
│ │ ├── layout.tsx
|
|
14
|
-
│ │ ├── page.tsx
|
|
15
|
-
│ │ ├── globals.css
|
|
16
|
-
│ │ ├── (auth)/ # Route group - auth pages
|
|
17
|
-
│ │ │ ├── login/page.tsx
|
|
18
|
-
│ │ │ └── register/page.tsx
|
|
19
|
-
│ │ ├── (dashboard)/ # Route group - dashboard layout
|
|
20
|
-
│ │ │ ├── layout.tsx
|
|
21
|
-
│ │ │ └── page.tsx
|
|
22
|
-
│ │ └── api/
|
|
23
|
-
│ │ └── [resource]/route.ts
|
|
24
|
-
│ │
|
|
25
|
-
│ ├── features/ # Feature-based modules
|
|
26
|
-
│ │ ├── auth/
|
|
27
|
-
│ │ │ ├── components/
|
|
28
|
-
│ │ │ ├── hooks/
|
|
29
|
-
│ │ │ ├── actions.ts # Server Actions
|
|
30
|
-
│ │ │ ├── queries.ts # Data fetching
|
|
31
|
-
│ │ │ └── types.ts
|
|
32
|
-
│ │ ├── products/
|
|
33
|
-
│ │ │ ├── components/
|
|
34
|
-
│ │ │ ├── actions.ts
|
|
35
|
-
│ │ │ └── queries.ts
|
|
36
|
-
│ │ └── cart/
|
|
37
|
-
│ │ └── ...
|
|
38
|
-
│ │
|
|
39
|
-
│ ├── shared/ # Shared utilities
|
|
40
|
-
│ │ ├── components/ui/ # Reusable UI components
|
|
41
|
-
│ │ ├── lib/ # Utils, helpers
|
|
42
|
-
│ │ └── hooks/ # Global hooks
|
|
43
|
-
│ │
|
|
44
|
-
│ └── server/ # Server-only code
|
|
45
|
-
│ ├── db/ # Database client (Prisma)
|
|
46
|
-
│ ├── auth/ # Auth config
|
|
47
|
-
│ └── services/ # External API integrations
|
|
48
|
-
│
|
|
49
|
-
├── prisma/
|
|
50
|
-
│ ├── schema.prisma
|
|
51
|
-
│ ├── migrations/
|
|
52
|
-
│ └── seed.ts
|
|
53
|
-
│
|
|
54
|
-
├── public/
|
|
55
|
-
├── .env.example
|
|
56
|
-
├── .env.local
|
|
57
|
-
├── package.json
|
|
58
|
-
├── tailwind.config.ts
|
|
59
|
-
├── tsconfig.json
|
|
60
|
-
└── README.md
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Structure Principles
|
|
66
|
-
|
|
67
|
-
| Principle | Implementation |
|
|
68
|
-
|-----------|----------------|
|
|
69
|
-
| **Feature isolation** | Each feature in `features/` with its own components, hooks, actions |
|
|
70
|
-
| **Server/Client separation** | Server-only code in `server/`, prevents accidental client imports |
|
|
71
|
-
| **Thin routes** | `app/` only for routing, logic lives in `features/` |
|
|
72
|
-
| **Route groups** | `(groupName)/` for layout sharing without URL impact |
|
|
73
|
-
| **Shared code** | `shared/` for truly reusable UI and utilities |
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Core Files
|
|
78
|
-
|
|
79
|
-
| File | Purpose |
|
|
80
|
-
|------|---------|
|
|
81
|
-
| `package.json` | Dependencies |
|
|
82
|
-
| `tsconfig.json` | TypeScript + path aliases (`@/features/*`) |
|
|
83
|
-
| `tailwind.config.ts` | Tailwind config |
|
|
84
|
-
| `.env.example` | Environment template |
|
|
85
|
-
| `README.md` | Project documentation |
|
|
86
|
-
| `.gitignore` | Git ignore rules |
|
|
87
|
-
| `prisma/schema.prisma` | Database schema |
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Path Aliases (tsconfig.json)
|
|
92
|
-
|
|
93
|
-
```json
|
|
94
|
-
{
|
|
95
|
-
"compilerOptions": {
|
|
96
|
-
"paths": {
|
|
97
|
-
"@/*": ["./src/*"],
|
|
98
|
-
"@/features/*": ["./src/features/*"],
|
|
99
|
-
"@/shared/*": ["./src/shared/*"],
|
|
100
|
-
"@/server/*": ["./src/server/*"]
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## When to Use What
|
|
109
|
-
|
|
110
|
-
| Need | Location |
|
|
111
|
-
|------|----------|
|
|
112
|
-
| New page/route | `app/(group)/page.tsx` |
|
|
113
|
-
| Feature component | `features/[name]/components/` |
|
|
114
|
-
| Server action | `features/[name]/actions.ts` |
|
|
115
|
-
| Data fetching | `features/[name]/queries.ts` |
|
|
116
|
-
| Reusable button/input | `shared/components/ui/` |
|
|
117
|
-
| Database query | `server/db/` |
|
|
118
|
-
| External API call | `server/services/` |
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Tech Stack Selection (2026)
|
|
2
|
-
|
|
3
|
-
> Default and alternative technology choices for web applications.
|
|
4
|
-
|
|
5
|
-
## Default Stack (Web App - 2026)
|
|
6
|
-
|
|
7
|
-
```yaml
|
|
8
|
-
Frontend:
|
|
9
|
-
framework: Next.js 16 (Stable)
|
|
10
|
-
language: TypeScript 5.7+
|
|
11
|
-
styling: Tailwind CSS v4
|
|
12
|
-
state: React 19 Actions / Server Components
|
|
13
|
-
bundler: Turbopack (Stable for Dev)
|
|
14
|
-
|
|
15
|
-
Backend:
|
|
16
|
-
runtime: Node.js 23
|
|
17
|
-
framework: Next.js API Routes / Hono (for Edge)
|
|
18
|
-
validation: Zod / TypeBox
|
|
19
|
-
|
|
20
|
-
Database:
|
|
21
|
-
primary: PostgreSQL
|
|
22
|
-
orm: Prisma / Drizzle
|
|
23
|
-
hosting: Supabase / Neon
|
|
24
|
-
|
|
25
|
-
Auth:
|
|
26
|
-
provider: Auth.js (v5) / Clerk
|
|
27
|
-
|
|
28
|
-
Monorepo:
|
|
29
|
-
tool: Turborepo 2.0
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Alternative Options
|
|
33
|
-
|
|
34
|
-
| Need | Default | Alternative |
|
|
35
|
-
|------|---------|-------------|
|
|
36
|
-
| Real-time | - | Supabase Realtime, Socket.io |
|
|
37
|
-
| File storage | - | Cloudinary, S3 |
|
|
38
|
-
| Payment | Stripe | LemonSqueezy, Paddle |
|
|
39
|
-
| Email | - | Resend, SendGrid |
|
|
40
|
-
| Search | - | Algolia, Typesense |
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Context Discovery
|
|
2
|
-
|
|
3
|
-
> Before suggesting any architecture, gather context.
|
|
4
|
-
|
|
5
|
-
## Question Hierarchy (Ask User FIRST)
|
|
6
|
-
|
|
7
|
-
1. **Scale**
|
|
8
|
-
- How many users? (10, 1K, 100K, 1M+)
|
|
9
|
-
- Data volume? (MB, GB, TB)
|
|
10
|
-
- Transaction rate? (per second/minute)
|
|
11
|
-
|
|
12
|
-
2. **Team**
|
|
13
|
-
- Solo developer or team?
|
|
14
|
-
- Team size and expertise?
|
|
15
|
-
- Distributed or co-located?
|
|
16
|
-
|
|
17
|
-
3. **Timeline**
|
|
18
|
-
- MVP/Prototype or long-term product?
|
|
19
|
-
- Time to market pressure?
|
|
20
|
-
|
|
21
|
-
4. **Domain**
|
|
22
|
-
- CRUD-heavy or business logic complex?
|
|
23
|
-
- Real-time requirements?
|
|
24
|
-
- Compliance/regulations?
|
|
25
|
-
|
|
26
|
-
5. **Constraints**
|
|
27
|
-
- Budget limitations?
|
|
28
|
-
- Legacy systems to integrate?
|
|
29
|
-
- Technology stack preferences?
|
|
30
|
-
|
|
31
|
-
## Project Classification Matrix
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
MVP SaaS Enterprise
|
|
35
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
36
|
-
│ Scale │ <1K │ 1K-100K │ 100K+ │
|
|
37
|
-
│ Team │ Solo │ 2-10 │ 10+ │
|
|
38
|
-
│ Timeline │ Fast (weeks) │ Medium (months)│ Long (years)│
|
|
39
|
-
│ Architecture │ Simple │ Modular │ Distributed │
|
|
40
|
-
│ Patterns │ Minimal │ Selective │ Comprehensive│
|
|
41
|
-
│ Example │ Next.js API │ NestJS │ Microservices│
|
|
42
|
-
└─────────────────────────────────────────────────────────────┘
|
|
43
|
-
```
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
# Architecture Examples
|
|
2
|
-
|
|
3
|
-
> Real-world architecture decisions by project type.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Example 1: MVP E-commerce (Solo Developer)
|
|
8
|
-
|
|
9
|
-
```yaml
|
|
10
|
-
Requirements:
|
|
11
|
-
- <1000 users initially
|
|
12
|
-
- Solo developer
|
|
13
|
-
- Fast to market (8 weeks)
|
|
14
|
-
- Budget-conscious
|
|
15
|
-
|
|
16
|
-
Architecture Decisions:
|
|
17
|
-
App Structure: Monolith (simpler for solo)
|
|
18
|
-
Framework: Next.js (full-stack, fast)
|
|
19
|
-
Data Layer: Prisma direct (no over-abstraction)
|
|
20
|
-
Authentication: JWT (simpler than OAuth)
|
|
21
|
-
Payment: Stripe (hosted solution)
|
|
22
|
-
Database: PostgreSQL (ACID for orders)
|
|
23
|
-
|
|
24
|
-
Trade-offs Accepted:
|
|
25
|
-
- Monolith → Can't scale independently (team doesn't justify it)
|
|
26
|
-
- No Repository → Less testable (simple CRUD doesn't need it)
|
|
27
|
-
- JWT → No social login initially (can add later)
|
|
28
|
-
|
|
29
|
-
Future Migration Path:
|
|
30
|
-
- Users > 10K → Extract payment service
|
|
31
|
-
- Team > 3 → Add Repository pattern
|
|
32
|
-
- Social login requested → Add OAuth
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Example 2: SaaS Product (5-10 Developers)
|
|
38
|
-
|
|
39
|
-
```yaml
|
|
40
|
-
Requirements:
|
|
41
|
-
- 1K-100K users
|
|
42
|
-
- 5-10 developers
|
|
43
|
-
- Long-term (12+ months)
|
|
44
|
-
- Multiple domains (billing, users, core)
|
|
45
|
-
|
|
46
|
-
Architecture Decisions:
|
|
47
|
-
App Structure: Modular Monolith (team size optimal)
|
|
48
|
-
Framework: NestJS (modular by design)
|
|
49
|
-
Data Layer: Repository pattern (testing, flexibility)
|
|
50
|
-
Domain Model: Partial DDD (rich entities)
|
|
51
|
-
Authentication: OAuth + JWT
|
|
52
|
-
Caching: Redis
|
|
53
|
-
Database: PostgreSQL
|
|
54
|
-
|
|
55
|
-
Trade-offs Accepted:
|
|
56
|
-
- Modular Monolith → Some module coupling (microservices not justified)
|
|
57
|
-
- Partial DDD → No full aggregates (no domain experts)
|
|
58
|
-
- RabbitMQ later → Initial synchronous (add when proven needed)
|
|
59
|
-
|
|
60
|
-
Migration Path:
|
|
61
|
-
- Team > 10 → Consider microservices
|
|
62
|
-
- Domains conflict → Extract bounded contexts
|
|
63
|
-
- Read performance issues → Add CQRS
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Example 3: Enterprise (100K+ Users)
|
|
69
|
-
|
|
70
|
-
```yaml
|
|
71
|
-
Requirements:
|
|
72
|
-
- 100K+ users
|
|
73
|
-
- 10+ developers
|
|
74
|
-
- Multiple business domains
|
|
75
|
-
- Different scaling needs
|
|
76
|
-
- 24/7 availability
|
|
77
|
-
|
|
78
|
-
Architecture Decisions:
|
|
79
|
-
App Structure: Microservices (independent scale)
|
|
80
|
-
API Gateway: Kong/AWS API GW
|
|
81
|
-
Domain Model: Full DDD
|
|
82
|
-
Consistency: Event-driven (eventual OK)
|
|
83
|
-
Message Bus: Kafka
|
|
84
|
-
Authentication: OAuth + SAML (enterprise SSO)
|
|
85
|
-
Database: Polyglot (right tool per job)
|
|
86
|
-
CQRS: Selected services
|
|
87
|
-
|
|
88
|
-
Operational Requirements:
|
|
89
|
-
- Service mesh (Istio/Linkerd)
|
|
90
|
-
- Distributed tracing (Jaeger/Tempo)
|
|
91
|
-
- Centralized logging (ELK/Loki)
|
|
92
|
-
- Circuit breakers (Resilience4j)
|
|
93
|
-
- Kubernetes/Helm
|
|
94
|
-
```
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Pattern Selection Guidelines
|
|
2
|
-
|
|
3
|
-
> Decision trees for choosing architectural patterns.
|
|
4
|
-
|
|
5
|
-
## Main Decision Tree
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
START: What's your MAIN concern?
|
|
9
|
-
|
|
10
|
-
┌─ Data Access Complexity?
|
|
11
|
-
│ ├─ HIGH (complex queries, testing needed)
|
|
12
|
-
│ │ → Repository Pattern + Unit of Work
|
|
13
|
-
│ │ VALIDATE: Will data source change frequently?
|
|
14
|
-
│ │ ├─ YES → Repository worth the indirection
|
|
15
|
-
│ │ └─ NO → Consider simpler ORM direct access
|
|
16
|
-
│ └─ LOW (simple CRUD, single database)
|
|
17
|
-
│ → ORM directly (Prisma, Drizzle)
|
|
18
|
-
│ Simpler = Better, Faster
|
|
19
|
-
│
|
|
20
|
-
├─ Business Rules Complexity?
|
|
21
|
-
│ ├─ HIGH (domain logic, rules vary by context)
|
|
22
|
-
│ │ → Domain-Driven Design
|
|
23
|
-
│ │ VALIDATE: Do you have domain experts on team?
|
|
24
|
-
│ │ ├─ YES → Full DDD (Aggregates, Value Objects)
|
|
25
|
-
│ │ └─ NO → Partial DDD (rich entities, clear boundaries)
|
|
26
|
-
│ └─ LOW (mostly CRUD, simple validation)
|
|
27
|
-
│ → Transaction Script pattern
|
|
28
|
-
│ Simpler = Better, Faster
|
|
29
|
-
│
|
|
30
|
-
├─ Independent Scaling Needed?
|
|
31
|
-
│ ├─ YES (different components scale differently)
|
|
32
|
-
│ │ → Microservices WORTH the complexity
|
|
33
|
-
│ │ REQUIREMENTS (ALL must be true):
|
|
34
|
-
│ │ - Clear domain boundaries
|
|
35
|
-
│ │ - Team > 10 developers
|
|
36
|
-
│ │ - Different scaling needs per service
|
|
37
|
-
│ │ IF NOT ALL MET → Modular Monolith instead
|
|
38
|
-
│ └─ NO (everything scales together)
|
|
39
|
-
│ → Modular Monolith
|
|
40
|
-
│ Can extract services later when proven needed
|
|
41
|
-
│
|
|
42
|
-
└─ Real-time Requirements?
|
|
43
|
-
├─ HIGH (immediate updates, multi-user sync)
|
|
44
|
-
│ → Event-Driven Architecture
|
|
45
|
-
│ → Message Queue (RabbitMQ, Redis, Kafka)
|
|
46
|
-
│ VALIDATE: Can you handle eventual consistency?
|
|
47
|
-
│ ├─ YES → Event-driven valid
|
|
48
|
-
│ └─ NO → Synchronous with polling
|
|
49
|
-
└─ LOW (eventual consistency acceptable)
|
|
50
|
-
→ Synchronous (REST/GraphQL)
|
|
51
|
-
Simpler = Better, Faster
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## The 3 Questions (Before ANY Pattern)
|
|
55
|
-
|
|
56
|
-
1. **Problem Solved**: What SPECIFIC problem does this pattern solve?
|
|
57
|
-
2. **Simpler Alternative**: Is there a simpler solution?
|
|
58
|
-
3. **Deferred Complexity**: Can we add this LATER when needed?
|
|
59
|
-
|
|
60
|
-
## Red Flags (Anti-patterns)
|
|
61
|
-
|
|
62
|
-
| Pattern | Anti-pattern | Simpler Alternative |
|
|
63
|
-
|---------|-------------|-------------------|
|
|
64
|
-
| Microservices | Premature splitting | Start monolith, extract later |
|
|
65
|
-
| Clean/Hexagonal | Over-abstraction | Concrete first, interfaces later |
|
|
66
|
-
| Event Sourcing | Over-engineering | Append-only audit log |
|
|
67
|
-
| CQRS | Unnecessary complexity | Single model |
|
|
68
|
-
| Repository | YAGNI for simple CRUD | ORM direct access |
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Architecture Patterns Reference
|
|
2
|
-
|
|
3
|
-
> Quick reference for common patterns with usage guidance.
|
|
4
|
-
|
|
5
|
-
## Data Access Patterns
|
|
6
|
-
|
|
7
|
-
| Pattern | When to Use | When NOT to Use | Complexity |
|
|
8
|
-
|---------|-------------|-----------------|------------|
|
|
9
|
-
| **Active Record** | Simple CRUD, rapid prototyping | Complex queries, multiple sources | Low |
|
|
10
|
-
| **Repository** | Testing needed, multiple sources | Simple CRUD, single database | Medium |
|
|
11
|
-
| **Unit of Work** | Complex transactions | Simple operations | High |
|
|
12
|
-
| **Data Mapper** | Complex domain, performance | Simple CRUD, rapid dev | High |
|
|
13
|
-
|
|
14
|
-
## Domain Logic Patterns
|
|
15
|
-
|
|
16
|
-
| Pattern | When to Use | When NOT to Use | Complexity |
|
|
17
|
-
|---------|-------------|-----------------|------------|
|
|
18
|
-
| **Transaction Script** | Simple CRUD, procedural | Complex business rules | Low |
|
|
19
|
-
| **Table Module** | Record-based logic | Rich behavior needed | Low |
|
|
20
|
-
| **Domain Model** | Complex business logic | Simple CRUD | Medium |
|
|
21
|
-
| **DDD (Full)** | Complex domain, domain experts | Simple domain, no experts | High |
|
|
22
|
-
|
|
23
|
-
## Distributed System Patterns
|
|
24
|
-
|
|
25
|
-
| Pattern | When to Use | When NOT to Use | Complexity |
|
|
26
|
-
|---------|-------------|-----------------|------------|
|
|
27
|
-
| **Modular Monolith** | Small teams, unclear boundaries | Clear contexts, different scales | Medium |
|
|
28
|
-
| **Microservices** | Different scales, large teams | Small teams, simple domain | Very High |
|
|
29
|
-
| **Event-Driven** | Real-time, loose coupling | Simple workflows, strong consistency | High |
|
|
30
|
-
| **CQRS** | Read/write performance diverges | Simple CRUD, same model | High |
|
|
31
|
-
| **Saga** | Distributed transactions | Single database, simple ACID | High |
|
|
32
|
-
|
|
33
|
-
## API Patterns
|
|
34
|
-
|
|
35
|
-
| Pattern | When to Use | When NOT to Use | Complexity |
|
|
36
|
-
|---------|-------------|-----------------|------------|
|
|
37
|
-
| **REST** | Standard CRUD, resources | Real-time, complex queries | Low |
|
|
38
|
-
| **GraphQL** | Flexible queries, multiple clients | Simple CRUD, caching needs | Medium |
|
|
39
|
-
| **gRPC** | Internal services, performance | Public APIs, browser clients | Medium |
|
|
40
|
-
| **WebSocket** | Real-time updates | Simple request/response | Medium |
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Simplicity Principle
|
|
45
|
-
|
|
46
|
-
**"Start simple, add complexity only when proven necessary."**
|
|
47
|
-
|
|
48
|
-
- You can always add patterns later
|
|
49
|
-
- Removing complexity is MUCH harder than adding it
|
|
50
|
-
- When in doubt, choose simpler option
|