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
package/.agent/workflows/fix.md
CHANGED
|
@@ -1,135 +1,114 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Auto-fix known issues with lint, formatting, imports, and TypeScript errors. Runs lint_runner.py and auto-fixers. Human approval required before applying any changes. Shows a diff of what will change before writing to disk.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /fix — Automated Error Resolution
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## When to Use /fix
|
|
12
|
-
|
|
13
|
-
|
|
|
14
|
-
|:---|:---|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## What /fix Handles (Auto-Fixable)
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
✅ AUTO-FIXABLE:
|
|
27
|
-
│ ESLint → eslint --fix (formatting, unused imports, style)
|
|
28
|
-
│ Prettier → prettier --write (spacing, quotes, semicolons)
|
|
29
|
-
│ TypeScript → add missing required imports visible from types
|
|
30
|
-
│ Tailwind → class ordering (prettier-plugin-tailwindcss)
|
|
31
|
-
│ npm audit → npm audit fix (non-breaking dependency patches)
|
|
32
|
-
|
|
33
|
-
⚠️ REQUIRES HUMAN DECISION:
|
|
34
|
-
│ TypeScript strict mode errors (may require type narrowing by developer)
|
|
35
|
-
│ Breaking API changes after major version bump
|
|
36
|
-
│ Logic errors flagged by ESLint (not just style)
|
|
37
|
-
│ Security vulnerabilities (audit fix --force changes major versions)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Execution Sequence
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
# 1. Run lint with auto-fix
|
|
46
|
-
python .agent/scripts/lint_runner.py . --fix
|
|
47
|
-
|
|
48
|
-
# 2. Fix remaining TypeScript errors (auto-detectable only)
|
|
49
|
-
npx tsc --noEmit 2>&1 | grep "error TS"
|
|
50
|
-
|
|
51
|
-
# 3. Format all files
|
|
52
|
-
npx prettier --write "src/**/*.{ts,tsx,js,json,css}"
|
|
53
|
-
|
|
54
|
-
# 4. Check npm audit (report, don't auto-fix without approval)
|
|
55
|
-
npm audit --audit-level=high
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Human Gate — Review Diff Before Applying
|
|
61
|
-
|
|
62
|
-
After running fixers:
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
━━━ Fix Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
66
|
-
|
|
67
|
-
Files that will change:
|
|
68
|
-
src/components/Button.tsx (lint: 3 unused imports removed)
|
|
69
|
-
src/lib/auth.ts (lint: missing semicolons, trailing whitespace)
|
|
70
|
-
src/app/api/users/route.ts (prettier: formatting)
|
|
71
|
-
|
|
72
|
-
Diff preview:
|
|
73
|
-
--- src/components/Button.tsx
|
|
74
|
-
+++ src/components/Button.tsx
|
|
75
|
-
- import { useState, useEffect, useCallback } from 'react'; // useEffect unused
|
|
76
|
-
+ import { useState, useCallback } from 'react';
|
|
77
|
-
|
|
78
|
-
━━━ Remaining Errors (Need Human Review) ━━━
|
|
79
|
-
|
|
80
|
-
src/lib/payment.ts:34 — TS2345: Argument of type 'string | null' not assignable to 'string'
|
|
81
|
-
→ This requires deliberate type narrowing — cannot auto-fix safely
|
|
82
|
-
|
|
83
|
-
━━━ Human Gate ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
-
Apply auto-fixes? Y = write to disk | N = discard | S = select specific files
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**No files are written without explicit "Y" approval.**
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Fix Guard
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
❌ Never run --force on npm audit fix without human approval (can break major APIs)
|
|
95
|
-
❌ Never auto-fix TypeScript errors that require business logic decisions
|
|
96
|
-
❌ Never apply lint fixes to generated test files without human review
|
|
97
|
-
❌ Never "fix" ESLint disable comments — they may be intentional suppressions
|
|
98
|
-
❌ Never mix fix + refactoring in the same run
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## After /fix — Verify
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Verify fixes didn't introduce new errors
|
|
107
|
-
npx tsc --noEmit # Must be clean
|
|
108
|
-
npm test # Must still all pass
|
|
109
|
-
npm run lint # Must be zero errors
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
If any verification step fails after fixes → report and revert auto-fixes for that file.
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Cross-Workflow Navigation
|
|
117
|
-
|
|
118
|
-
| After /fix shows... | Go to |
|
|
119
|
-
|:---|:---|
|
|
120
|
-
| Logic errors remaining after lint | `/debug` |
|
|
121
|
-
| Security issues in audit output | `/tribunal-backend` |
|
|
122
|
-
| Complex type errors needing refactoring | `/refactor` |
|
|
123
|
-
| After all errors fixed | `/deploy` (if pre-deploy fix) or `/generate` (if pre-generation) |
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Usage Examples
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
/fix all lint errors in src/components/
|
|
131
|
-
/fix TypeScript errors after upgrading to Next.js 15
|
|
132
|
-
/fix unused import warnings blocking CI
|
|
133
|
-
/fix after running npm audit --audit-level=high
|
|
134
|
-
/fix formatting inconsistencies across the entire src/ directory
|
|
135
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: Auto-fix known issues with lint, formatting, imports, and TypeScript errors. Runs lint_runner.py and auto-fixers. Human approval required before applying any changes. Shows a diff of what will change before writing to disk.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /fix — Automated Error Resolution
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## When to Use /fix
|
|
12
|
+
|
|
13
|
+
|Use `/fix` when...|Use something else when...|
|
|
14
|
+
|:---|:---|
|
|
15
|
+
|Lint errors blocking CI|Logic bugs → `/debug`|
|
|
16
|
+
|TypeScript type errors|Feature changes needed → `/enhance`|
|
|
17
|
+
|Formatting inconsistencies|Security vulnerabilities → `/tribunal-backend`|
|
|
18
|
+
|Missing imports auto-detectable|Structural changes → `/refactor`|
|
|
19
|
+
|After a dependency version upgrade breaks types||
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## What /fix Handles (Auto-Fixable)
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
✅ AUTO-FIXABLE:
|
|
27
|
+
│ ESLint → eslint --fix (formatting, unused imports, style)
|
|
28
|
+
│ Prettier → prettier --write (spacing, quotes, semicolons)
|
|
29
|
+
│ TypeScript → add missing required imports visible from types
|
|
30
|
+
│ Tailwind → class ordering (prettier-plugin-tailwindcss)
|
|
31
|
+
│ npm audit → npm audit fix (non-breaking dependency patches)
|
|
32
|
+
|
|
33
|
+
⚠️ REQUIRES HUMAN DECISION:
|
|
34
|
+
│ TypeScript strict mode errors (may require type narrowing by developer)
|
|
35
|
+
│ Breaking API changes after major version bump
|
|
36
|
+
│ Logic errors flagged by ESLint (not just style)
|
|
37
|
+
│ Security vulnerabilities (audit fix --force changes major versions)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Execution Sequence
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 1. Run lint with auto-fix
|
|
46
|
+
python .agent/scripts/lint_runner.py . --fix
|
|
47
|
+
|
|
48
|
+
# 2. Fix remaining TypeScript errors (auto-detectable only)
|
|
49
|
+
npx tsc --noEmit 2>&1 | grep "error TS"
|
|
50
|
+
|
|
51
|
+
# 3. Format all files
|
|
52
|
+
npx prettier --write "src/**/*.{ts,tsx,js,json,css}"
|
|
53
|
+
|
|
54
|
+
# 4. Check npm audit (report, don't auto-fix without approval)
|
|
55
|
+
npm audit --audit-level=high
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Human Gate — Review Diff Before Applying
|
|
61
|
+
|
|
62
|
+
After running fixers:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
━━━ Fix Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
66
|
+
|
|
67
|
+
Files that will change:
|
|
68
|
+
src/components/Button.tsx (lint: 3 unused imports removed)
|
|
69
|
+
src/lib/auth.ts (lint: missing semicolons, trailing whitespace)
|
|
70
|
+
src/app/api/users/route.ts (prettier: formatting)
|
|
71
|
+
|
|
72
|
+
Diff preview:
|
|
73
|
+
--- src/components/Button.tsx
|
|
74
|
+
+++ src/components/Button.tsx
|
|
75
|
+
- import { useState, useEffect, useCallback } from 'react'; // useEffect unused
|
|
76
|
+
+ import { useState, useCallback } from 'react';
|
|
77
|
+
|
|
78
|
+
━━━ Remaining Errors (Need Human Review) ━━━
|
|
79
|
+
|
|
80
|
+
src/lib/payment.ts:34 — TS2345: Argument of type 'string | null' not assignable to 'string'
|
|
81
|
+
→ This requires deliberate type narrowing — cannot auto-fix safely
|
|
82
|
+
|
|
83
|
+
━━━ Human Gate ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
Apply auto-fixes? Y = write to disk | N = discard | S = select specific files
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**No files are written without explicit "Y" approval.**
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Fix Guard
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
❌ Never run --force on npm audit fix without human approval (can break major APIs)
|
|
95
|
+
❌ Never auto-fix TypeScript errors that require business logic decisions
|
|
96
|
+
❌ Never apply lint fixes to generated test files without human review
|
|
97
|
+
❌ Never "fix" ESLint disable comments — they may be intentional suppressions
|
|
98
|
+
❌ Never mix fix + refactoring in the same run
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## After /fix — Verify
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Verify fixes didn't introduce new errors
|
|
107
|
+
npx tsc --noEmit # Must be clean
|
|
108
|
+
npm test # Must still all pass
|
|
109
|
+
npm run lint # Must be zero errors
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If any verification step fails after fixes → report and revert auto-fixes for that file.
|
|
113
|
+
|
|
114
|
+
---
|
|
@@ -60,6 +60,9 @@ Y = write to disk | N = discard | R = revise with feedback
|
|
|
60
60
|
❌ Assume environment variables exist (read .env.example first)
|
|
61
61
|
❌ Use Next.js 14 patterns in a Next.js 15 project (check version!)
|
|
62
62
|
❌ Use React 18 hooks in a React 19 project (useFormState → useActionState)
|
|
63
|
+
❌ Use framer-motion v6 API in a v12 project (exitBeforeEnter → mode="wait")
|
|
64
|
+
❌ Use raw useEffect for GSAP — always useGSAP from @gsap/react
|
|
65
|
+
❌ Hallucinate LLM model names — verify against provider's current model list
|
|
63
66
|
```
|
|
64
67
|
|
|
65
68
|
When unsure: write `// VERIFY: [specific reason]` instead of hallucinating.
|
|
@@ -70,6 +73,7 @@ When unsure: write `// VERIFY: [specific reason]` instead of hallucinating.
|
|
|
70
73
|
|
|
71
74
|
**Always active:**
|
|
72
75
|
```
|
|
76
|
+
precedence-reviewer→ Enforces repository Case Law and past rejections (Runs First)
|
|
73
77
|
logic-reviewer → Hallucinated methods, undefined refs, impossible logic
|
|
74
78
|
security-auditor → OWASP vulnerabilities, hardcoded secrets, injection
|
|
75
79
|
```
|
|
@@ -78,13 +82,14 @@ security-auditor → OWASP vulnerabilities, hardcoded secrets, injection
|
|
|
78
82
|
|
|
79
83
|
| Keyword in request | Additional Reviewers |
|
|
80
84
|
|:---|:---|
|
|
81
|
-
| `api`, `route`, `endpoint`, `handler` | `dependency-reviewer` + `type-safety-reviewer` |
|
|
82
|
-
| `sql`, `query`, `database`, `prisma`, `drizzle` | `sql-reviewer` |
|
|
83
|
-
| `component`, `hook`, `react`, `vue`, `jsx` | `frontend-reviewer` + `type-safety-reviewer` |
|
|
85
|
+
| `api`, `route`, `endpoint`, `handler`, `server action` | `dependency-reviewer` + `type-safety-reviewer` |
|
|
86
|
+
| `sql`, `query`, `database`, `prisma`, `drizzle`, `orm` | `sql-reviewer` |
|
|
87
|
+
| `component`, `hook`, `react`, `vue`, `jsx`, `tsx` | `frontend-reviewer` + `type-safety-reviewer` |
|
|
88
|
+
| `animation`, `gsap`, `framer`, `motion`, `scroll` | `frontend-reviewer` + `performance-reviewer` |
|
|
84
89
|
| `test`, `spec`, `vitest`, `jest`, `playwright` | `test-coverage-reviewer` |
|
|
85
90
|
| `slow`, `optimize`, `cache`, `performance`, `bundle` | `performance-reviewer` |
|
|
86
91
|
| `mobile`, `react native`, `expo` | `mobile-reviewer` |
|
|
87
|
-
| `llm`, `openai`, `anthropic`, `gemini`, `embedding` | `ai-code-reviewer` |
|
|
92
|
+
| `llm`, `openai`, `anthropic`, `gemini`, `embedding`, `ai` | `ai-code-reviewer` |
|
|
88
93
|
| `aria`, `wcag`, `a11y`, `accessibility` | `accessibility-reviewer` |
|
|
89
94
|
| `import`, `package`, `npm`, `require` | `dependency-reviewer` |
|
|
90
95
|
|
|
@@ -139,6 +144,7 @@ Write to disk? Y = approve | N = discard | R = revise with feedback
|
|
|
139
144
|
| Security-critical code was generated | `/tribunal-full` for maximum coverage |
|
|
140
145
|
| DB queries were generated | `/tribunal-database` |
|
|
141
146
|
| New API routes were generated | `/tribunal-backend` |
|
|
147
|
+
| Animation/motion code generated | `/tribunal-frontend` |
|
|
142
148
|
| Tests need to be written next | `/test` |
|
|
143
149
|
| Something was rejected 3 times | Escalate to human with failure report |
|
|
144
150
|
|
|
@@ -154,4 +160,7 @@ Write to disk? Y = approve | N = discard | R = revise with feedback
|
|
|
154
160
|
/generate a Zod schema for email + password + role login input
|
|
155
161
|
/generate a Server Action for creating a product with image upload
|
|
156
162
|
/generate a rate-limited fetch wrapper using @upstash/ratelimit
|
|
163
|
+
/generate a Framer Motion page transition with shared element (layoutId)
|
|
164
|
+
/generate a GSAP ScrollTrigger timeline with useGSAP React hook
|
|
165
|
+
/generate an OpenAI structured output call with Zod schema validation
|
|
157
166
|
```
|
|
@@ -1,160 +1,160 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Migration workflow for framework upgrades, dependency bumps, and database migrations. Impact analysis first, expand-and-contract for DB, dependency compatibility matrix before upgrading, rollback tested before deploy.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /migrate — Safe Migration Execution
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## When to Use /migrate
|
|
12
|
-
|
|
13
|
-
|
|
|
14
|
-
|:---|:---|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Migration Types
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
Type A: Framework upgrade (Next.js 14 → 15, React 18 → 19)
|
|
27
|
-
→ Audit breaking changes, update callsites, run Tribunal
|
|
28
|
-
|
|
29
|
-
Type B: Dependency major version (Prisma 5 → 6, next-auth 4 → 5)
|
|
30
|
-
→ Check changelog for removed APIs, update all callsites
|
|
31
|
-
|
|
32
|
-
Type C: Database schema migration (expand-and-contract)
|
|
33
|
-
→ Always in 3 phases, never destructive in one step
|
|
34
|
-
|
|
35
|
-
Type D: Auth system migration
|
|
36
|
-
→ Dual-write old + new, staged rollout, never big bang
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Phase 1 — Impact Analysis
|
|
42
|
-
|
|
43
|
-
Before any migration:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# What uses the old API?
|
|
47
|
-
grep -r "getServerSideProps\|getStaticProps" src/ --include="*.ts" # Next.js pages/ to app/
|
|
48
|
-
grep -r "getServerSession\|NextAuth" src/ --include="*.ts" # next-auth v4 to v5
|
|
49
|
-
grep -r "from 'next-auth'" src/ --include="*.ts" # Count callsites
|
|
50
|
-
grep -r "prisma\.user\.findOne" src/ --include="*.ts" # Removed Prisma APIs
|
|
51
|
-
|
|
52
|
-
# How many files will change?
|
|
53
|
-
# Low risk: < 5 files
|
|
54
|
-
# Medium risk: 5-20 files → plan each file explicitly
|
|
55
|
-
# High risk: > 20 files → automate with codemods, not manual
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Phase 2 — Breaking Change Inventory
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
Framework Migration Breaking Changes (Next.js 14 → 15 example):
|
|
64
|
-
□ params and searchParams are now Promises — must await
|
|
65
|
-
□ cookies(), headers(), draftMode() are async — must await
|
|
66
|
-
□ fetch() caching defaults changed (now no-store by default)
|
|
67
|
-
□ Turbopack becomes default dev server (may affect custom configs)
|
|
68
|
-
|
|
69
|
-
Auth Library Breaking Changes (next-auth v4 → v5):
|
|
70
|
-
□ import { getServerSession } from 'next-auth' → import { auth } from './auth'
|
|
71
|
-
□ Configuration file: pages/api/auth/[...nextauth].ts → auth.ts
|
|
72
|
-
□ SessionProvider import path changed
|
|
73
|
-
□ Callbacks API may have changed
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Phase 3 — Database Migrate (Expand-and-Contract Pattern)
|
|
79
|
-
|
|
80
|
-
**NEVER do destructive schema changes in a single step on live data.**
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
Step 1: EXPAND (add, never remove)
|
|
84
|
-
- Add new column (nullable)
|
|
85
|
-
- Add new table
|
|
86
|
-
- Add new foreign key
|
|
87
|
-
|
|
88
|
-
Step 2: DUAL-WRITE (write to both old and new)
|
|
89
|
-
- Application writes to BOTH old_column and new_column
|
|
90
|
-
- Deploy this code before backfilling
|
|
91
|
-
|
|
92
|
-
Step 3: BACKFILL (populate new structure)
|
|
93
|
-
- Fill new_column from old_column in background batches
|
|
94
|
-
- Verify: SELECT COUNT(*) WHERE new_column IS NULL should = 0
|
|
95
|
-
|
|
96
|
-
Step 4: READ MIGRATION (switch reads to new)
|
|
97
|
-
- Application reads from new_column only
|
|
98
|
-
- Application still writes to both
|
|
99
|
-
|
|
100
|
-
Step 5: CONTRACT (remove old)
|
|
101
|
-
- Remove writes to old_column
|
|
102
|
-
- After 1 deployment cycle → drop old_column
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Phase 4 — Migration Execution Order
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
□ Create git branch: git checkout -b migrate/[description]
|
|
111
|
-
□ Run tests BEFORE migration: npm test (establish baseline)
|
|
112
|
-
□ Apply changes in topological order (foundation files first)
|
|
113
|
-
□ Run: npx tsc --noEmit (no type errors introduced)
|
|
114
|
-
□ Run: npm test (all tests still pass)
|
|
115
|
-
□ Run Tribunal on changed files: /tribunal-full
|
|
116
|
-
□ PR review with explicit diff
|
|
117
|
-
□ Deploy to staging before production
|
|
118
|
-
□ Run tests in staging
|
|
119
|
-
□ Human Gate: approve production deployment
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## Phase 5 — Rollback Plan
|
|
125
|
-
|
|
126
|
-
Before migrating production, document the rollback:
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
Rollback for code migration:
|
|
130
|
-
git revert [migration-commit]
|
|
131
|
-
git push origin main --force-with-lease
|
|
132
|
-
|
|
133
|
-
Rollback for DB migration:
|
|
134
|
-
Maintain down.sql for every migration
|
|
135
|
-
Test rollback script on staging before production migration
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## Migration Guard
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
❌ Never rename a DB column in a single migration (breaks live app)
|
|
144
|
-
❌ Never DROP a column in the same migration that adds the replacement
|
|
145
|
-
❌ Never migrate production database and application code simultaneously
|
|
146
|
-
❌ Never run a migration without first testing on a restored production backup
|
|
147
|
-
❌ Never skip the backward-compatibility window (keep old code during transition)
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## Usage Examples
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
/migrate upgrade Next.js 14 to Next.js 15 App Router
|
|
156
|
-
/migrate upgrade from next-auth v4 to v5 auth.js
|
|
157
|
-
/migrate add a phoneNumber field to the users table
|
|
158
|
-
/migrate remove the deprecated legacy_api_key column from users
|
|
159
|
-
/migrate upgrade Prisma 5 to Prisma 6 and update all breaking API calls
|
|
160
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: Migration workflow for framework upgrades, dependency bumps, and database migrations. Impact analysis first, expand-and-contract for DB, dependency compatibility matrix before upgrading, rollback tested before deploy.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /migrate — Safe Migration Execution
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## When to Use /migrate
|
|
12
|
+
|
|
13
|
+
|Use `/migrate` when...|Use something else when...|
|
|
14
|
+
|:---|:---|
|
|
15
|
+
|Upgrading Next.js major version|Adding a feature → `/enhance`|
|
|
16
|
+
|Upgrading React version|Schema change in existing rows → `/migrate`|
|
|
17
|
+
|Database schema structural change|Simple column add → `/enhance`|
|
|
18
|
+
|Changing auth libraries (next-auth v4 → v5)|Dependency patches → `/fix`|
|
|
19
|
+
|Removing deprecated APIs at scale||
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Migration Types
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Type A: Framework upgrade (Next.js 14 → 15, React 18 → 19)
|
|
27
|
+
→ Audit breaking changes, update callsites, run Tribunal
|
|
28
|
+
|
|
29
|
+
Type B: Dependency major version (Prisma 5 → 6, next-auth 4 → 5)
|
|
30
|
+
→ Check changelog for removed APIs, update all callsites
|
|
31
|
+
|
|
32
|
+
Type C: Database schema migration (expand-and-contract)
|
|
33
|
+
→ Always in 3 phases, never destructive in one step
|
|
34
|
+
|
|
35
|
+
Type D: Auth system migration
|
|
36
|
+
→ Dual-write old + new, staged rollout, never big bang
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Phase 1 — Impact Analysis
|
|
42
|
+
|
|
43
|
+
Before any migration:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# What uses the old API?
|
|
47
|
+
grep -r "getServerSideProps\|getStaticProps" src/ --include="*.ts" # Next.js pages/ to app/
|
|
48
|
+
grep -r "getServerSession\|NextAuth" src/ --include="*.ts" # next-auth v4 to v5
|
|
49
|
+
grep -r "from 'next-auth'" src/ --include="*.ts" # Count callsites
|
|
50
|
+
grep -r "prisma\.user\.findOne" src/ --include="*.ts" # Removed Prisma APIs
|
|
51
|
+
|
|
52
|
+
# How many files will change?
|
|
53
|
+
# Low risk: < 5 files
|
|
54
|
+
# Medium risk: 5-20 files → plan each file explicitly
|
|
55
|
+
# High risk: > 20 files → automate with codemods, not manual
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Phase 2 — Breaking Change Inventory
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Framework Migration Breaking Changes (Next.js 14 → 15 example):
|
|
64
|
+
□ params and searchParams are now Promises — must await
|
|
65
|
+
□ cookies(), headers(), draftMode() are async — must await
|
|
66
|
+
□ fetch() caching defaults changed (now no-store by default)
|
|
67
|
+
□ Turbopack becomes default dev server (may affect custom configs)
|
|
68
|
+
|
|
69
|
+
Auth Library Breaking Changes (next-auth v4 → v5):
|
|
70
|
+
□ import { getServerSession } from 'next-auth' → import { auth } from './auth'
|
|
71
|
+
□ Configuration file: pages/api/auth/[...nextauth].ts → auth.ts
|
|
72
|
+
□ SessionProvider import path changed
|
|
73
|
+
□ Callbacks API may have changed
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Phase 3 — Database Migrate (Expand-and-Contract Pattern)
|
|
79
|
+
|
|
80
|
+
**NEVER do destructive schema changes in a single step on live data.**
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Step 1: EXPAND (add, never remove)
|
|
84
|
+
- Add new column (nullable)
|
|
85
|
+
- Add new table
|
|
86
|
+
- Add new foreign key
|
|
87
|
+
|
|
88
|
+
Step 2: DUAL-WRITE (write to both old and new)
|
|
89
|
+
- Application writes to BOTH old_column and new_column
|
|
90
|
+
- Deploy this code before backfilling
|
|
91
|
+
|
|
92
|
+
Step 3: BACKFILL (populate new structure)
|
|
93
|
+
- Fill new_column from old_column in background batches
|
|
94
|
+
- Verify: SELECT COUNT(*) WHERE new_column IS NULL should = 0
|
|
95
|
+
|
|
96
|
+
Step 4: READ MIGRATION (switch reads to new)
|
|
97
|
+
- Application reads from new_column only
|
|
98
|
+
- Application still writes to both
|
|
99
|
+
|
|
100
|
+
Step 5: CONTRACT (remove old)
|
|
101
|
+
- Remove writes to old_column
|
|
102
|
+
- After 1 deployment cycle → drop old_column
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Phase 4 — Migration Execution Order
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
□ Create git branch: git checkout -b migrate/[description]
|
|
111
|
+
□ Run tests BEFORE migration: npm test (establish baseline)
|
|
112
|
+
□ Apply changes in topological order (foundation files first)
|
|
113
|
+
□ Run: npx tsc --noEmit (no type errors introduced)
|
|
114
|
+
□ Run: npm test (all tests still pass)
|
|
115
|
+
□ Run Tribunal on changed files: /tribunal-full
|
|
116
|
+
□ PR review with explicit diff
|
|
117
|
+
□ Deploy to staging before production
|
|
118
|
+
□ Run tests in staging
|
|
119
|
+
□ Human Gate: approve production deployment
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Phase 5 — Rollback Plan
|
|
125
|
+
|
|
126
|
+
Before migrating production, document the rollback:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Rollback for code migration:
|
|
130
|
+
git revert [migration-commit]
|
|
131
|
+
git push origin main --force-with-lease
|
|
132
|
+
|
|
133
|
+
Rollback for DB migration:
|
|
134
|
+
Maintain down.sql for every migration
|
|
135
|
+
Test rollback script on staging before production migration
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Migration Guard
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
❌ Never rename a DB column in a single migration (breaks live app)
|
|
144
|
+
❌ Never DROP a column in the same migration that adds the replacement
|
|
145
|
+
❌ Never migrate production database and application code simultaneously
|
|
146
|
+
❌ Never run a migration without first testing on a restored production backup
|
|
147
|
+
❌ Never skip the backward-compatibility window (keep old code during transition)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Usage Examples
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
/migrate upgrade Next.js 14 to Next.js 15 App Router
|
|
156
|
+
/migrate upgrade from next-auth v4 to v5 auth.js
|
|
157
|
+
/migrate add a phoneNumber field to the users table
|
|
158
|
+
/migrate remove the deprecated legacy_api_key column from users
|
|
159
|
+
/migrate upgrade Prisma 5 to Prisma 6 and update all breaking API calls
|
|
160
|
+
```
|