tribunal-kit 2.4.6 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/ARCHITECTURE.md +99 -99
- package/.agent/GEMINI.md +52 -52
- package/.agent/agents/accessibility-reviewer.md +139 -86
- package/.agent/agents/ai-code-reviewer.md +160 -90
- package/.agent/agents/backend-specialist.md +164 -127
- package/.agent/agents/code-archaeologist.md +115 -73
- package/.agent/agents/database-architect.md +130 -110
- package/.agent/agents/debugger.md +137 -97
- package/.agent/agents/dependency-reviewer.md +78 -30
- package/.agent/agents/devops-engineer.md +161 -118
- package/.agent/agents/documentation-writer.md +151 -87
- package/.agent/agents/explorer-agent.md +117 -99
- package/.agent/agents/frontend-reviewer.md +127 -47
- package/.agent/agents/frontend-specialist.md +169 -109
- package/.agent/agents/game-developer.md +28 -164
- package/.agent/agents/logic-reviewer.md +87 -49
- package/.agent/agents/mobile-developer.md +151 -103
- package/.agent/agents/mobile-reviewer.md +133 -50
- package/.agent/agents/orchestrator.md +121 -110
- package/.agent/agents/penetration-tester.md +103 -77
- package/.agent/agents/performance-optimizer.md +136 -92
- package/.agent/agents/performance-reviewer.md +139 -69
- package/.agent/agents/product-manager.md +104 -70
- package/.agent/agents/product-owner.md +6 -25
- package/.agent/agents/project-planner.md +95 -95
- package/.agent/agents/qa-automation-engineer.md +174 -87
- package/.agent/agents/security-auditor.md +133 -129
- package/.agent/agents/seo-specialist.md +160 -99
- package/.agent/agents/sql-reviewer.md +132 -44
- package/.agent/agents/supervisor-agent.md +137 -109
- 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 +132 -53
- package/.agent/agents/test-engineer.md +0 -21
- package/.agent/agents/type-safety-reviewer.md +143 -33
- 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/__pycache__/auto_preview.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -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/strip_tribunal.py +41 -0
- package/.agent/skills/agent-organizer/SKILL.md +60 -100
- package/.agent/skills/agentic-patterns/SKILL.md +0 -70
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +108 -53
- package/.agent/skills/api-patterns/SKILL.md +197 -257
- package/.agent/skills/api-security-auditor/SKILL.md +125 -57
- package/.agent/skills/app-builder/SKILL.md +326 -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 +71 -98
- package/.agent/skills/architecture/SKILL.md +161 -200
- package/.agent/skills/authentication-best-practices/SKILL.md +121 -54
- package/.agent/skills/bash-linux/SKILL.md +71 -166
- package/.agent/skills/behavioral-modes/SKILL.md +8 -69
- package/.agent/skills/brainstorming/SKILL.md +345 -127
- package/.agent/skills/building-native-ui/SKILL.md +125 -57
- package/.agent/skills/clean-code/SKILL.md +266 -149
- package/.agent/skills/code-review-checklist/SKILL.md +0 -62
- package/.agent/skills/config-validator/SKILL.md +73 -131
- package/.agent/skills/csharp-developer/SKILL.md +434 -73
- package/.agent/skills/database-design/SKILL.md +190 -275
- package/.agent/skills/deployment-procedures/SKILL.md +81 -158
- package/.agent/skills/devops-engineer/SKILL.md +255 -94
- package/.agent/skills/devops-incident-responder/SKILL.md +50 -69
- package/.agent/skills/doc.md +5 -5
- package/.agent/skills/documentation-templates/SKILL.md +19 -63
- package/.agent/skills/edge-computing/SKILL.md +75 -165
- package/.agent/skills/extract-design-system/SKILL.md +84 -58
- package/.agent/skills/framer-motion-expert/SKILL.md +195 -0
- package/.agent/skills/frontend-design/SKILL.md +151 -499
- package/.agent/skills/game-design-expert/SKILL.md +71 -0
- package/.agent/skills/game-engineering-expert/SKILL.md +88 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +52 -178
- package/.agent/skills/github-operations/SKILL.md +197 -272
- package/.agent/skills/gsap-expert/SKILL.md +194 -0
- package/.agent/skills/i18n-localization/SKILL.md +60 -172
- package/.agent/skills/intelligent-routing/SKILL.md +123 -103
- package/.agent/skills/lint-and-validate/SKILL.md +8 -52
- package/.agent/skills/llm-engineering/SKILL.md +281 -195
- package/.agent/skills/local-first/SKILL.md +76 -159
- package/.agent/skills/mcp-builder/SKILL.md +48 -188
- 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 +184 -203
- package/.agent/skills/nodejs-best-practices/SKILL.md +403 -185
- package/.agent/skills/observability/SKILL.md +211 -203
- package/.agent/skills/parallel-agents/SKILL.md +53 -146
- package/.agent/skills/performance-profiling/SKILL.md +171 -151
- package/.agent/skills/plan-writing/SKILL.md +49 -153
- package/.agent/skills/platform-engineer/SKILL.md +57 -103
- package/.agent/skills/playwright-best-practices/SKILL.md +110 -63
- package/.agent/skills/powershell-windows/SKILL.md +61 -179
- package/.agent/skills/python-patterns/SKILL.md +7 -35
- package/.agent/skills/python-pro/SKILL.md +273 -114
- package/.agent/skills/react-specialist/SKILL.md +227 -108
- package/.agent/skills/readme-builder/SKILL.md +15 -85
- package/.agent/skills/realtime-patterns/SKILL.md +216 -243
- package/.agent/skills/red-team-tactics/SKILL.md +10 -51
- package/.agent/skills/rust-pro/SKILL.md +525 -142
- package/.agent/skills/seo-fundamentals/SKILL.md +92 -153
- package/.agent/skills/server-management/SKILL.md +110 -166
- package/.agent/skills/shadcn-ui-expert/SKILL.md +154 -55
- package/.agent/skills/skill-creator/SKILL.md +18 -58
- package/.agent/skills/sql-pro/SKILL.md +543 -68
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
- package/.agent/skills/swiftui-expert/SKILL.md +124 -57
- package/.agent/skills/systematic-debugging/SKILL.md +49 -151
- package/.agent/skills/tailwind-patterns/SKILL.md +433 -149
- package/.agent/skills/tdd-workflow/SKILL.md +63 -169
- package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
- package/.agent/skills/testing-patterns/SKILL.md +437 -130
- package/.agent/skills/trend-researcher/SKILL.md +30 -71
- package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
- package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
- package/.agent/skills/vue-expert/SKILL.md +225 -119
- package/.agent/skills/vulnerability-scanner/SKILL.md +264 -226
- package/.agent/skills/web-accessibility-auditor/SKILL.md +141 -58
- package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
- package/.agent/skills/webapp-testing/SKILL.md +71 -196
- package/.agent/skills/whimsy-injector/SKILL.md +58 -132
- package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
- package/.agent/workflows/api-tester.md +96 -224
- package/.agent/workflows/audit.md +81 -122
- package/.agent/workflows/brainstorm.md +69 -105
- package/.agent/workflows/changelog.md +65 -97
- package/.agent/workflows/create.md +73 -88
- package/.agent/workflows/debug.md +80 -111
- package/.agent/workflows/deploy.md +119 -92
- package/.agent/workflows/enhance.md +80 -91
- package/.agent/workflows/fix.md +68 -97
- package/.agent/workflows/generate.md +165 -164
- package/.agent/workflows/migrate.md +106 -109
- package/.agent/workflows/orchestrate.md +103 -86
- package/.agent/workflows/performance-benchmarker.md +77 -268
- package/.agent/workflows/plan.md +120 -98
- package/.agent/workflows/preview.md +39 -96
- package/.agent/workflows/refactor.md +105 -97
- package/.agent/workflows/review-ai.md +63 -102
- package/.agent/workflows/review.md +71 -110
- package/.agent/workflows/session.md +53 -113
- package/.agent/workflows/status.md +42 -88
- package/.agent/workflows/strengthen-skills.md +90 -51
- package/.agent/workflows/swarm.md +114 -129
- package/.agent/workflows/test.md +125 -102
- package/.agent/workflows/tribunal-backend.md +60 -78
- package/.agent/workflows/tribunal-database.md +62 -100
- package/.agent/workflows/tribunal-frontend.md +62 -82
- package/.agent/workflows/tribunal-full.md +56 -100
- package/.agent/workflows/tribunal-mobile.md +65 -94
- package/.agent/workflows/tribunal-performance.md +62 -105
- package/.agent/workflows/ui-ux-pro-max.md +72 -121
- package/README.md +11 -15
- package/package.json +1 -1
- 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/dotnet-core-expert/SKILL.md +0 -103
- package/.agent/skills/framer-motion-animations/SKILL.md +0 -74
- 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/game-development/2d-games/SKILL.md +0 -119
- package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
- package/.agent/skills/game-development/SKILL.md +0 -236
- package/.agent/skills/game-development/game-art/SKILL.md +0 -185
- package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
- package/.agent/skills/game-development/game-design/SKILL.md +0 -129
- package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
- package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
- package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
- package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
- package/.agent/skills/game-development/web-games/SKILL.md +0 -150
- 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
|
-
# GraphQL Principles
|
|
2
|
-
|
|
3
|
-
> Flexible queries for complex, interconnected data.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
✅ Good fit:
|
|
9
|
-
├── Complex, interconnected data
|
|
10
|
-
├── Multiple frontend platforms
|
|
11
|
-
├── Clients need flexible queries
|
|
12
|
-
├── Evolving data requirements
|
|
13
|
-
└── Reducing over-fetching matters
|
|
14
|
-
|
|
15
|
-
❌ Poor fit:
|
|
16
|
-
├── Simple CRUD operations
|
|
17
|
-
├── File upload heavy
|
|
18
|
-
├── HTTP caching important
|
|
19
|
-
└── Team unfamiliar with GraphQL
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Schema Design Principles
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
Principles:
|
|
26
|
-
├── Think in graphs, not endpoints
|
|
27
|
-
├── Design for evolvability (no versions)
|
|
28
|
-
├── Use connections for pagination
|
|
29
|
-
├── Be specific with types (not generic "data")
|
|
30
|
-
└── Handle nullability thoughtfully
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Security Considerations
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
Protect against:
|
|
37
|
-
├── Query depth attacks → Set max depth
|
|
38
|
-
├── Query complexity → Calculate cost
|
|
39
|
-
├── Batching abuse → Limit batch size
|
|
40
|
-
├── Introspection → Disable in production
|
|
41
|
-
```
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Rate Limiting Principles
|
|
2
|
-
|
|
3
|
-
> Protect your API from abuse and overload.
|
|
4
|
-
|
|
5
|
-
## Why Rate Limit
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Protect against:
|
|
9
|
-
├── Brute force attacks
|
|
10
|
-
├── Resource exhaustion
|
|
11
|
-
├── Cost overruns (if pay-per-use)
|
|
12
|
-
└── Unfair usage
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Strategy Selection
|
|
16
|
-
|
|
17
|
-
| Type | How | When |
|
|
18
|
-
|------|-----|------|
|
|
19
|
-
| **Token bucket** | Burst allowed, refills over time | Most APIs |
|
|
20
|
-
| **Sliding window** | Smooth distribution | Strict limits |
|
|
21
|
-
| **Fixed window** | Simple counters per window | Basic needs |
|
|
22
|
-
|
|
23
|
-
## Response Headers
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
Include in headers:
|
|
27
|
-
├── X-RateLimit-Limit (max requests)
|
|
28
|
-
├── X-RateLimit-Remaining (requests left)
|
|
29
|
-
├── X-RateLimit-Reset (when limit resets)
|
|
30
|
-
└── Return 429 when exceeded
|
|
31
|
-
```
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Response Format Principles
|
|
2
|
-
|
|
3
|
-
> Consistency is key - choose a format and stick to it.
|
|
4
|
-
|
|
5
|
-
## Common Patterns
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Choose one:
|
|
9
|
-
├── Envelope pattern ({ success, data, error })
|
|
10
|
-
├── Direct data (just return the resource)
|
|
11
|
-
└── HAL/JSON:API (hypermedia)
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Error Response
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
Include:
|
|
18
|
-
├── Error code (for programmatic handling)
|
|
19
|
-
├── User message (for display)
|
|
20
|
-
├── Details (for debugging, field-level errors)
|
|
21
|
-
├── Request ID (for support)
|
|
22
|
-
└── NOT internal details (security!)
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Pagination Types
|
|
26
|
-
|
|
27
|
-
| Type | Best For | Trade-offs |
|
|
28
|
-
|------|----------|------------|
|
|
29
|
-
| **Offset** | Simple, jumpable | Performance on large datasets |
|
|
30
|
-
| **Cursor** | Large datasets | Can't jump to page |
|
|
31
|
-
| **Keyset** | Performance critical | Requires sortable key |
|
|
32
|
-
|
|
33
|
-
### Selection Questions
|
|
34
|
-
|
|
35
|
-
1. How large is the dataset?
|
|
36
|
-
2. Do users need to jump to specific pages?
|
|
37
|
-
3. Is data frequently changing?
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# REST Principles
|
|
2
|
-
|
|
3
|
-
> Resource-based API design - nouns not verbs.
|
|
4
|
-
|
|
5
|
-
## Resource Naming Rules
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Principles:
|
|
9
|
-
├── Use NOUNS, not verbs (resources, not actions)
|
|
10
|
-
├── Use PLURAL forms (/users not /user)
|
|
11
|
-
├── Use lowercase with hyphens (/user-profiles)
|
|
12
|
-
├── Nest for relationships (/users/123/posts)
|
|
13
|
-
└── Keep shallow (max 3 levels deep)
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## HTTP Method Selection
|
|
17
|
-
|
|
18
|
-
| Method | Purpose | Idempotent? | Body? |
|
|
19
|
-
|--------|---------|-------------|-------|
|
|
20
|
-
| **GET** | Read resource(s) | Yes | No |
|
|
21
|
-
| **POST** | Create new resource | No | Yes |
|
|
22
|
-
| **PUT** | Replace entire resource | Yes | Yes |
|
|
23
|
-
| **PATCH** | Partial update | No | Yes |
|
|
24
|
-
| **DELETE** | Remove resource | Yes | No |
|
|
25
|
-
|
|
26
|
-
## Status Code Selection
|
|
27
|
-
|
|
28
|
-
| Situation | Code | Why |
|
|
29
|
-
|-----------|------|-----|
|
|
30
|
-
| Success (read) | 200 | Standard success |
|
|
31
|
-
| Created | 201 | New resource created |
|
|
32
|
-
| No content | 204 | Success, nothing to return |
|
|
33
|
-
| Bad request | 400 | Malformed request |
|
|
34
|
-
| Unauthorized | 401 | Missing/invalid auth |
|
|
35
|
-
| Forbidden | 403 | Valid auth, no permission |
|
|
36
|
-
| Not found | 404 | Resource doesn't exist |
|
|
37
|
-
| Conflict | 409 | State conflict (duplicate) |
|
|
38
|
-
| Validation error | 422 | Valid syntax, invalid data |
|
|
39
|
-
| Rate limited | 429 | Too many requests |
|
|
40
|
-
| Server error | 500 | Our fault |
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
# API Security Testing
|
|
2
|
-
|
|
3
|
-
> Principles for testing API security. OWASP API Top 10, authentication, authorization testing.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## OWASP API Security Top 10
|
|
8
|
-
|
|
9
|
-
| Vulnerability | Test Focus |
|
|
10
|
-
|---------------|------------|
|
|
11
|
-
| **API1: BOLA** | Access other users' resources |
|
|
12
|
-
| **API2: Broken Auth** | JWT, session, credentials |
|
|
13
|
-
| **API3: Property Auth** | Mass assignment, data exposure |
|
|
14
|
-
| **API4: Resource Consumption** | Rate limiting, DoS |
|
|
15
|
-
| **API5: Function Auth** | Admin endpoints, role bypass |
|
|
16
|
-
| **API6: Business Flow** | Logic abuse, automation |
|
|
17
|
-
| **API7: SSRF** | Internal network access |
|
|
18
|
-
| **API8: Misconfiguration** | Debug endpoints, CORS |
|
|
19
|
-
| **API9: Inventory** | Shadow APIs, old versions |
|
|
20
|
-
| **API10: Unsafe Consumption** | Third-party API trust |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Authentication Testing
|
|
25
|
-
|
|
26
|
-
### JWT Testing
|
|
27
|
-
|
|
28
|
-
| Check | What to Test |
|
|
29
|
-
|-------|--------------|
|
|
30
|
-
| Algorithm | None, algorithm confusion |
|
|
31
|
-
| Secret | Weak secrets, brute force |
|
|
32
|
-
| Claims | Expiration, issuer, audience |
|
|
33
|
-
| Signature | Manipulation, key injection |
|
|
34
|
-
|
|
35
|
-
### Session Testing
|
|
36
|
-
|
|
37
|
-
| Check | What to Test |
|
|
38
|
-
|-------|--------------|
|
|
39
|
-
| Generation | Predictability |
|
|
40
|
-
| Storage | Client-side security |
|
|
41
|
-
| Expiration | Timeout enforcement |
|
|
42
|
-
| Invalidation | Logout effectiveness |
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Authorization Testing
|
|
47
|
-
|
|
48
|
-
| Test Type | Approach |
|
|
49
|
-
|-----------|----------|
|
|
50
|
-
| **Horizontal** | Access peer users' data |
|
|
51
|
-
| **Vertical** | Access higher privilege functions |
|
|
52
|
-
| **Context** | Access outside allowed scope |
|
|
53
|
-
|
|
54
|
-
### BOLA/IDOR Testing
|
|
55
|
-
|
|
56
|
-
1. Identify resource IDs in requests
|
|
57
|
-
2. Capture request with user A's session
|
|
58
|
-
3. Replay with user B's session
|
|
59
|
-
4. Check for unauthorized access
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Input Validation Testing
|
|
64
|
-
|
|
65
|
-
| Injection Type | Test Focus |
|
|
66
|
-
|----------------|------------|
|
|
67
|
-
| SQL | Query manipulation |
|
|
68
|
-
| NoSQL | Document queries |
|
|
69
|
-
| Command | System commands |
|
|
70
|
-
| LDAP | Directory queries |
|
|
71
|
-
|
|
72
|
-
**Approach:** Test all parameters, try type coercion, test boundaries, check error messages.
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Rate Limiting Testing
|
|
77
|
-
|
|
78
|
-
| Aspect | Check |
|
|
79
|
-
|--------|-------|
|
|
80
|
-
| Existence | Is there any limit? |
|
|
81
|
-
| Bypass | Headers, IP rotation |
|
|
82
|
-
| Scope | Per-user, per-IP, global |
|
|
83
|
-
|
|
84
|
-
**Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## GraphQL Security
|
|
89
|
-
|
|
90
|
-
| Test | Focus |
|
|
91
|
-
|------|-------|
|
|
92
|
-
| Introspection | Schema disclosure |
|
|
93
|
-
| Batching | Query DoS |
|
|
94
|
-
| Nesting | Depth-based DoS |
|
|
95
|
-
| Authorization | Field-level access |
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Security Testing Checklist
|
|
100
|
-
|
|
101
|
-
**Authentication:**
|
|
102
|
-
- [ ] Test for bypass
|
|
103
|
-
- [ ] Check credential strength
|
|
104
|
-
- [ ] Verify token security
|
|
105
|
-
|
|
106
|
-
**Authorization:**
|
|
107
|
-
- [ ] Test BOLA/IDOR
|
|
108
|
-
- [ ] Check privilege escalation
|
|
109
|
-
- [ ] Verify function access
|
|
110
|
-
|
|
111
|
-
**Input:**
|
|
112
|
-
- [ ] Test all parameters
|
|
113
|
-
- [ ] Check for injection
|
|
114
|
-
|
|
115
|
-
**Config:**
|
|
116
|
-
- [ ] Check CORS
|
|
117
|
-
- [ ] Verify headers
|
|
118
|
-
- [ ] Test error handling
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
> **Remember:** APIs are the backbone of modern apps. Test them like attackers will.
|
|
@@ -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 |
|