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,279 +1,151 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Automated multi-stage API endpoint testing. Generates and runs auth-aware request sequences.
|
|
2
|
+
description: Automated multi-stage API endpoint testing. Generates and runs auth-aware request sequences (login → use token → test CRUD → verify errors). Reports response codes, schema mismatches, and unexpected data.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# /api-tester — Automated API
|
|
5
|
+
# /api-tester — Automated API Testing
|
|
6
6
|
|
|
7
7
|
$ARGUMENTS
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## When to Use /api-tester
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
|
18
|
-
|
|
19
|
-
| Testing multi-step flows (auth + resource lifecycle) | Unit tests → `/test` |
|
|
20
|
-
| Verifying endpoint contracts before deploy | Logic review → `/review` |
|
|
21
|
-
| Debugging a specific flow returning wrong data | Root cause → `/debug` |
|
|
22
|
-
| Security testing for injection/rate limits | Full security audit → `/audit` |
|
|
13
|
+
|Use `/api-tester` when...|Use something else when...|
|
|
14
|
+
|:---|:---|
|
|
15
|
+
|Testing REST API endpoints manually|Unit tests needed → `/test`|
|
|
16
|
+
|Verifying auth token flows end-to-end|Full security audit → `/audit`|
|
|
17
|
+
|After generating new endpoints|Load testing → `/performance-benchmarker`|
|
|
18
|
+
|Checking response schemas||
|
|
23
19
|
|
|
24
20
|
---
|
|
25
21
|
|
|
26
|
-
##
|
|
27
|
-
|
|
28
|
-
- After creating or modifying API routes.
|
|
29
|
-
- Before deployment to validate endpoint contracts.
|
|
30
|
-
- When debugging a multi-step flow (e.g., Register → Login → Create Resource → Verify).
|
|
31
|
-
- When the user says "test api", "endpoint test", or "api flow".
|
|
32
|
-
|
|
33
|
-
---
|
|
22
|
+
## Phase 1 — Endpoint Discovery
|
|
34
23
|
|
|
35
|
-
|
|
24
|
+
```bash
|
|
25
|
+
# Find all defined routes
|
|
26
|
+
grep -r "app.get\|app.post\|app.put\|app.delete\|app.patch" src/ --include="*.ts"
|
|
27
|
+
grep -r "router.get\|router.post\|router.put" src/ --include="*.ts"
|
|
36
28
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
│
|
|
40
|
-
▼
|
|
41
|
-
Context read — route files, middleware, schema, auth config, package.json
|
|
42
|
-
│
|
|
43
|
-
▼
|
|
44
|
-
Route discovery — scan for all registered endpoints and methods
|
|
45
|
-
│
|
|
46
|
-
▼
|
|
47
|
-
Test Plan generated (sequence of requests with dependencies & captures)
|
|
48
|
-
│
|
|
49
|
-
▼
|
|
50
|
-
Environment check — server running? Base URL resolved? Auth available?
|
|
51
|
-
│
|
|
52
|
-
▼
|
|
53
|
-
Execution — each step runs, captures response, feeds next step
|
|
54
|
-
│
|
|
55
|
-
▼
|
|
56
|
-
Report — pass/fail per step, response times, payload diffs, coverage map
|
|
29
|
+
# Next.js Route Handlers
|
|
30
|
+
find src/app/api -name "route.ts" | sort
|
|
57
31
|
```
|
|
58
32
|
|
|
59
33
|
---
|
|
60
34
|
|
|
61
|
-
##
|
|
35
|
+
## Phase 2 — Auth Flow (Token Acquisition)
|
|
62
36
|
|
|
63
|
-
Before
|
|
37
|
+
Before testing protected endpoints, acquire auth token:
|
|
64
38
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
| FastAPI | `@app.get/post/put/delete` | Method, path, response model |
|
|
72
|
-
| Go (Chi/Gin) | `r.Get/Post/Put/Delete` | Method, path, handler |
|
|
39
|
+
```bash
|
|
40
|
+
# Acquire JWT
|
|
41
|
+
curl -X POST http://localhost:3000/api/auth/login \
|
|
42
|
+
-H "Content-Type: application/json" \
|
|
43
|
+
-d '{"email":"test@example.com","password":"testpassword"}' \
|
|
44
|
+
-s | jq '.token'
|
|
73
45
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
GET /api/users/:id → UserController.get [auth: required]
|
|
80
|
-
PUT /api/users/:id → UserController.update [auth: owner]
|
|
81
|
-
DELETE /api/users/:id → UserController.delete [auth: admin]
|
|
82
|
-
POST /api/auth/login → AuthController.login [auth: none]
|
|
83
|
-
POST /api/auth/register → AuthController.register [auth: none]
|
|
46
|
+
# Assign to variable
|
|
47
|
+
TOKEN=$(curl -X POST http://localhost:3000/api/auth/login \
|
|
48
|
+
-H "Content-Type: application/json" \
|
|
49
|
+
-d '{"email":"test@example.com","password":"testpassword"}' \
|
|
50
|
+
-s | jq -r '.token')
|
|
84
51
|
```
|
|
85
52
|
|
|
86
53
|
---
|
|
87
54
|
|
|
88
|
-
##
|
|
55
|
+
## Phase 3 — CRUD Sequence Testing
|
|
89
56
|
|
|
90
|
-
|
|
91
|
-
Full create-read-update-read-delete-verify cycle:
|
|
92
|
-
```
|
|
93
|
-
Step 1: POST /api/resource → Create (capture: response.id → $RESOURCE_ID)
|
|
94
|
-
Step 2: GET /api/resource/$RESOURCE_ID → Read (assert: 200, body matches creation)
|
|
95
|
-
Step 3: PUT /api/resource/$RESOURCE_ID → Update (send modified fields)
|
|
96
|
-
Step 4: GET /api/resource/$RESOURCE_ID → Read (assert: updated fields match)
|
|
97
|
-
Step 5: DELETE /api/resource/$RESOURCE_ID → Delete (assert: 204 or 200)
|
|
98
|
-
Step 6: GET /api/resource/$RESOURCE_ID → Read (assert: 404)
|
|
99
|
-
```
|
|
57
|
+
Test endpoints in the correct order (create before read, read before delete):
|
|
100
58
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
Step 6: GET /api/protected → With $NEW_JWT (assert: 200)
|
|
110
|
-
Step 7: POST /api/auth/logout → Invalidate session
|
|
111
|
-
Step 8: GET /api/protected → With invalidated JWT (assert: 401)
|
|
112
|
-
```
|
|
59
|
+
```bash
|
|
60
|
+
# 1. CREATE (POST)
|
|
61
|
+
CREATE_RESPONSE=$(curl -X POST http://localhost:3000/api/users \
|
|
62
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
63
|
+
-H "Content-Type: application/json" \
|
|
64
|
+
-d '{"name":"Test User","email":"new@test.com"}')
|
|
65
|
+
CREATED_ID=$(echo $CREATE_RESPONSE | jq -r '.id')
|
|
66
|
+
echo "Created: $CREATED_ID"
|
|
113
67
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
Step 3: POST /api/resource → Duplicate unique field (assert: 409)
|
|
119
|
-
Step 4: GET /api/resource/99999 → Non-existent ID (assert: 404)
|
|
120
|
-
Step 5: PUT /api/resource/:id → Unauthorized user (assert: 403)
|
|
121
|
-
Step 6: DELETE /api/resource/:id → Without auth (assert: 401)
|
|
122
|
-
Step 7: GET /api/resource?page=-1 → Invalid pagination (assert: 400)
|
|
123
|
-
Step 8: POST /api/resource → Payload too large (assert: 413 or 400)
|
|
124
|
-
```
|
|
68
|
+
# 2. READ (GET)
|
|
69
|
+
curl -X GET "http://localhost:3000/api/users/$CREATED_ID" \
|
|
70
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
71
|
+
| jq .
|
|
125
72
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
Step 4: GET /api/resource?page=3&limit=2 → (assert: 1 item, hasMore: false)
|
|
132
|
-
Step 5: GET /api/resource?sort=createdAt&order=desc → (assert: items in descending order)
|
|
133
|
-
Step 6: GET /api/resource?filter=name:test → (assert: only matching items returned)
|
|
134
|
-
```
|
|
73
|
+
# 3. UPDATE (PATCH)
|
|
74
|
+
curl -X PATCH "http://localhost:3000/api/users/$CREATED_ID" \
|
|
75
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
76
|
+
-H "Content-Type: application/json" \
|
|
77
|
+
-d '{"name":"Updated Name"}'
|
|
135
78
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
Step 2: POST /api/auth/login → (assert: 429 Too Many Requests or similar)
|
|
140
|
-
Step 3: Wait [cooldown period]
|
|
141
|
-
Step 4: POST /api/auth/login → (assert: allowed again)
|
|
142
|
-
Step 5: POST /api/resource → With SQL injection in body (assert: 400, no SQL error exposed)
|
|
143
|
-
Step 6: GET /api/resource?id=1 OR 1=1 → (assert: 400 or filtered, no data leak)
|
|
79
|
+
# 4. DELETE
|
|
80
|
+
curl -X DELETE "http://localhost:3000/api/users/$CREATED_ID" \
|
|
81
|
+
-H "Authorization: Bearer $TOKEN"
|
|
144
82
|
```
|
|
145
83
|
|
|
146
84
|
---
|
|
147
85
|
|
|
148
|
-
##
|
|
86
|
+
## Phase 4 — Error Case Testing
|
|
149
87
|
|
|
150
|
-
|
|
88
|
+
Test that errors are handled correctly:
|
|
151
89
|
|
|
152
|
-
```
|
|
153
|
-
|
|
90
|
+
```bash
|
|
91
|
+
# 4xx errors (client errors — must NOT return 200!)
|
|
92
|
+
echo "--- Unauthenticated request (expect 401) ---"
|
|
93
|
+
curl -X GET http://localhost:3000/api/users -s -o /dev/null -w "%{http_code}\n"
|
|
154
94
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
$
|
|
158
|
-
|
|
159
|
-
$TOTAL_COUNT = response.body.meta.total
|
|
160
|
-
```
|
|
95
|
+
echo "--- Invalid ID (expect 404 or 400) ---"
|
|
96
|
+
curl -X GET "http://localhost:3000/api/users/not-a-real-id" \
|
|
97
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
98
|
+
-s -o /dev/null -w "%{http_code}\n"
|
|
161
99
|
|
|
162
|
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
100
|
+
echo "--- Invalid body (expect 400) ---"
|
|
101
|
+
curl -X POST http://localhost:3000/api/users \
|
|
102
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
103
|
+
-H "Content-Type: application/json" \
|
|
104
|
+
-d '{"invalid":"field"}' \
|
|
105
|
+
-s -o /dev/null -w "%{http_code}\n"
|
|
166
106
|
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
| Body field exists | `assert: body.id exists` | Field presence |
|
|
177
|
-
| Body field value | `assert: body.name === "test"` | Exact match |
|
|
178
|
-
| Body field type | `assert: body.items is Array` | Type check |
|
|
179
|
-
| Header present | `assert: headers.content-type contains "json"` | Header check |
|
|
180
|
-
| Response time | `assert: time < 500ms` | Performance gate |
|
|
181
|
-
| Array length | `assert: body.items.length === 3` | Count check |
|
|
182
|
-
| Negative match | `assert: body.password === undefined` | Field NOT present |
|
|
107
|
+
echo "--- Rate limiting (expect 429 after N requests) ---"
|
|
108
|
+
for i in {1..15}; do
|
|
109
|
+
STATUS=$(curl -X POST http://localhost:3000/api/auth/login \
|
|
110
|
+
-H "Content-Type: application/json" \
|
|
111
|
+
-d '{"email":"x","password":"wrong"}' \
|
|
112
|
+
-s -o /dev/null -w "%{http_code}")
|
|
113
|
+
echo "Attempt $i: $STATUS"
|
|
114
|
+
done
|
|
115
|
+
```
|
|
183
116
|
|
|
184
117
|
---
|
|
185
118
|
|
|
186
|
-
##
|
|
119
|
+
## Phase 5 — Test Report
|
|
187
120
|
|
|
188
121
|
```
|
|
189
122
|
━━━ API Test Report ━━━━━━━━━━━━━━━━━━━━━━
|
|
190
123
|
|
|
191
|
-
Flow:
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
━━━ Execution ━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
197
|
-
|
|
198
|
-
Step 1: POST /api/auth/login ✅ 200 (142ms)
|
|
199
|
-
↳ Captured: $JWT
|
|
200
|
-
Step 2: GET /api/users/me ✅ 200 (89ms)
|
|
201
|
-
↳ Asserted: body.email === "test@example.com"
|
|
202
|
-
Step 3: PUT /api/users/me ✅ 200 (112ms)
|
|
203
|
-
↳ Sent: { name: "Updated Name" }
|
|
204
|
-
Step 4: GET /api/users/me ✅ 200 (78ms)
|
|
205
|
-
↳ Asserted: body.name === "Updated Name"
|
|
206
|
-
Step 5: DELETE /api/users/me ✅ 204 (95ms)
|
|
207
|
-
Step 6: GET /api/users/me ❌ FAIL (67ms)
|
|
208
|
-
↳ Expected: 404
|
|
209
|
-
↳ Received: 200 { name: "Updated Name", deletedAt: "2026-03-05T..." }
|
|
210
|
-
|
|
211
|
-
━━━ Failure Analysis ━━━━━━━━━━━━━━━━━━━━
|
|
212
|
-
|
|
213
|
-
Step 6: Soft-delete returning 200 instead of 404.
|
|
214
|
-
Root cause: GET route doesn't filter `deletedAt IS NOT NULL`.
|
|
215
|
-
File to check: controllers/user.controller.ts → findOne method
|
|
216
|
-
Suggested fix: Add `WHERE deletedAt IS NULL` condition to query.
|
|
217
|
-
|
|
218
|
-
━━━ Coverage ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
219
|
-
|
|
220
|
-
Endpoints tested: 4 of 7 (57%)
|
|
221
|
-
Methods tested: GET ✅ POST ✅ PUT ✅ DELETE ✅ PATCH ❌
|
|
222
|
-
Auth scenarios: authenticated ✅ unauthenticated ❌ admin ❌
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Security Constraints
|
|
124
|
+
Auth Flow: ✅ Login → token acquired
|
|
125
|
+
POST /users: ✅ 201 Created — id returned
|
|
126
|
+
GET /users: ✅ 200 — data matches expected schema
|
|
127
|
+
PATCH /users: ✅ 200 — update reflected
|
|
128
|
+
DELETE /users: ✅ 204 No Content
|
|
228
129
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
---
|
|
130
|
+
Error Cases:
|
|
131
|
+
Unauthenticated: ✅ 401 (expected)
|
|
132
|
+
Invalid ID: ✅ 404 (expected)
|
|
133
|
+
Invalid body: ✅ 400 (expected) — Zod error returned
|
|
134
|
+
Rate limiting: ✅ 429 on attempt 11 (expected)
|
|
236
135
|
|
|
237
|
-
|
|
136
|
+
━━━ Issues Found ━━━━━━━━━━━━━━━━━━━━━━━━
|
|
238
137
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
| Destructive test (DELETE) on a production URL | Stop and confirm explicitly before executing |
|
|
243
|
-
| Test step fails with 5xx | Halt the flow — server error is not a test assertion failure |
|
|
244
|
-
| Auth step fails | Halt and report — remaining steps are invalid without a token |
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## Cross-Workflow Navigation
|
|
249
|
-
|
|
250
|
-
| After /api-tester reveals... | Go to |
|
|
251
|
-
|---|---|
|
|
252
|
-
| Soft-delete returning 200, should be 404 | `/fix` or `/debug` the query filter |
|
|
253
|
-
| Endpoint returns 500 on valid input | `/debug` for root cause |
|
|
254
|
-
| Security test: SQL injection returns 500 with DB error | ❌ CRITICAL → `/audit` immediately |
|
|
255
|
-
| Rate limiting is missing | `/enhance` to add rate-limiting middleware |
|
|
256
|
-
| All tests pass, ready for deploy | `/deploy` following pre-flight checklist |
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## Hallucination Guard
|
|
261
|
-
|
|
262
|
-
- **Scan route files first** — only test endpoints that exist in the codebase.
|
|
263
|
-
- **Verify HTTP methods** — only use methods the route actually supports.
|
|
264
|
-
- **Never invent response fields** — verify against schema, types, or actual response.
|
|
265
|
-
- **Flag assumptions**: `// ASSUMPTION: this endpoint requires JWT auth based on middleware scan`.
|
|
266
|
-
- **Never fabricate response times** — only report measured values.
|
|
138
|
+
❌ GET /api/users returns 200 with no auth (should be 401)
|
|
139
|
+
⚠️ PATCH /api/users doesn't validate Content-Type (accepts any body)
|
|
140
|
+
```
|
|
267
141
|
|
|
268
142
|
---
|
|
269
143
|
|
|
270
|
-
## Usage
|
|
144
|
+
## Usage Examples
|
|
271
145
|
|
|
272
146
|
```
|
|
273
|
-
/api-tester
|
|
274
|
-
/api-tester
|
|
275
|
-
/api-tester
|
|
276
|
-
/api-tester
|
|
277
|
-
/api-tester pagination for /api/products
|
|
278
|
-
/api-tester rate limiting on /api/auth/login
|
|
147
|
+
/api-tester POST /api/auth/login then test /api/users CRUD
|
|
148
|
+
/api-tester test the /api/checkout flow with Stripe test card
|
|
149
|
+
/api-tester verify all auth routes return 401 for unauthenticated requests
|
|
150
|
+
/api-tester test rate limiting on /api/auth/login
|
|
279
151
|
```
|
|
@@ -1,168 +1,127 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Full project audit combining security, lint, schema,
|
|
2
|
+
description: Full project audit combining security scan, lint, schema validation, test coverage, dependency analysis, and bundle analysis. Runs all scripts in priority order. Human review required before applying any fixes.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# /audit —
|
|
5
|
+
# /audit — Complete Project Health Assessment
|
|
6
6
|
|
|
7
7
|
$ARGUMENTS
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
This command runs a full audit of the project, combining all available analysis scripts in priority order. Use it before major releases, after onboarding to a new codebase, or whenever you need a complete health check.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
11
|
## When to Use /audit
|
|
16
12
|
|
|
17
|
-
|
|
|
18
|
-
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
13
|
+
|Use `/audit` when...|Use something else when...|
|
|
14
|
+
|:---|:---|
|
|
15
|
+
|Before a major release or launch|Single file review → `/review`|
|
|
16
|
+
|After a security incident|Just lint errors → `/fix`|
|
|
17
|
+
|Onboarding to a new codebase|Performance only → `/performance-benchmarker`|
|
|
18
|
+
|Weekly/monthly health check|Testing only → `/test`|
|
|
19
|
+
|Before major dependency updates||
|
|
24
20
|
|
|
25
21
|
---
|
|
26
22
|
|
|
27
|
-
##
|
|
23
|
+
## Execution Order (Fixed — Do Not Reorder)
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
Security failures early in the pipeline halt subsequent steps. Lint/test failures continue with flags.
|
|
30
26
|
|
|
31
27
|
```
|
|
32
|
-
Priority 1
|
|
33
|
-
|
|
34
|
-
Priority 3 → Schema Validation (advisory)
|
|
35
|
-
Priority 4 → Test Suite (advisory, marks task incomplete)
|
|
36
|
-
Priority 5 → Dependency Analysis (advisory)
|
|
37
|
-
Priority 6 → Bundle Size Analysis (advisory)
|
|
38
|
-
```
|
|
28
|
+
Priority 1 — Security (HALT if critical finding)
|
|
29
|
+
python .agent/scripts/security_scan.py .
|
|
39
30
|
|
|
40
|
-
|
|
31
|
+
Priority 2 — Dependencies (HALT if exploitable CVE found)
|
|
32
|
+
python .agent/scripts/dependency_analyzer.py . --audit
|
|
41
33
|
|
|
42
|
-
|
|
34
|
+
Priority 3 — Type Checking (CONTINUE but flag)
|
|
35
|
+
npx tsc --noEmit
|
|
43
36
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// turbo
|
|
47
|
-
python .agent/scripts/security_scan.py .
|
|
37
|
+
Priority 4 — Lint (CONTINUE but flag as deployment blocker)
|
|
38
|
+
python .agent/scripts/lint_runner.py .
|
|
48
39
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
python .agent/scripts/lint_runner.py .
|
|
40
|
+
Priority 5 — Schema Validation (CONTINUE but flag)
|
|
41
|
+
python .agent/scripts/schema_validator.py .
|
|
52
42
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
python .agent/scripts/schema_validator.py .
|
|
43
|
+
Priority 6 — Tests (CONTINUE but mark incomplete)
|
|
44
|
+
python .agent/scripts/test_runner.py . --coverage
|
|
56
45
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
python .agent/scripts/test_runner.py .
|
|
60
|
-
|
|
61
|
-
# Priority 5 — Dependencies
|
|
62
|
-
// turbo
|
|
63
|
-
python .agent/scripts/dependency_analyzer.py . --audit
|
|
64
|
-
|
|
65
|
-
# Priority 6 — Bundle
|
|
66
|
-
// turbo
|
|
67
|
-
python .agent/scripts/bundle_analyzer.py .
|
|
46
|
+
Priority 7 — Bundle Analysis (INFORM only)
|
|
47
|
+
python .agent/scripts/bundle_analyzer.py . --build
|
|
68
48
|
```
|
|
69
49
|
|
|
70
|
-
###
|
|
50
|
+
### Cascade Failure Rules
|
|
71
51
|
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
| Bundle (P6) | Oversized assets | Continue, note thresholds exceeded |
|
|
80
|
-
|
|
81
|
-
### Script Failure Handling
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
Script exits 0 → Success, continue pipeline
|
|
85
|
-
Script exits 1 → Failure, report and decide: retry or skip?
|
|
86
|
-
Script not found → Skip with ⚠️ warning, do not block pipeline
|
|
87
|
-
Script times out → Kill process, report timeout, continue with next check
|
|
88
|
-
```
|
|
52
|
+
|Check|Failure Behavior|
|
|
53
|
+
|:---|:---|
|
|
54
|
+
|Security scan (critical)|**HALT** — all subsequent steps cancelled|
|
|
55
|
+
|Dependency audit (exploitable CVE)|**HALT** — fix before proceeding|
|
|
56
|
+
|Lint + type errors|**CONTINUE** — flag as deployment blocker|
|
|
57
|
+
|Tests failing|**CONTINUE** — mark task as incomplete|
|
|
58
|
+
|Bundle analysis (large)|**INFORM** — no blocking|
|
|
89
59
|
|
|
90
60
|
---
|
|
91
61
|
|
|
92
|
-
##
|
|
62
|
+
## Script Retry Protocol
|
|
93
63
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/audit before deploy → runs P1 + P2 + P4 (blocking gates only)
|
|
101
|
-
/audit fresh codebase → runs full suite and flags all advisory items
|
|
64
|
+
```
|
|
65
|
+
Script exits 0: Success — continue pipeline
|
|
66
|
+
Script exits 1: Failure — report and decide: retry or skip?
|
|
67
|
+
Script not found: Skip with warning — do not block pipeline
|
|
68
|
+
Script times out: Kill after 5 min — report timeout — continue
|
|
69
|
+
Script crashes: Catch exception — report stack trace — continue
|
|
102
70
|
```
|
|
103
71
|
|
|
72
|
+
**Hard limit: 3 retries per script.** After 3 failures, report to human and continue with remaining scripts.
|
|
73
|
+
|
|
104
74
|
---
|
|
105
75
|
|
|
106
76
|
## Audit Report Format
|
|
107
77
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
- [
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- [
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
78
|
+
```
|
|
79
|
+
━━━ Audit Report: [Project Name] ━━━━━━━━━━━━━━━━━━━━
|
|
80
|
+
|
|
81
|
+
Score: [N/7 checks passed]
|
|
82
|
+
|
|
83
|
+
1. Security Scan: ✅ PASSED | ❌ FAILED (CRITICAL — HALTED) | ⚠️ WARNINGS
|
|
84
|
+
2. Dependency Audit: ✅ PASSED | ❌ FAILED (CVE-XXXX-XXXX found) | ⚠️ WARNINGS
|
|
85
|
+
3. TypeScript: ✅ PASSED | ❌ FAILED (N errors)
|
|
86
|
+
4. Lint: ✅ PASSED | ❌ FAILED (N errors, M warnings)
|
|
87
|
+
5. Schema Validation: ✅ PASSED | ❌ FAILED | N/A
|
|
88
|
+
6. Test Coverage: ✅ PASSED | ❌ FAILED (N% — below 80% threshold)
|
|
89
|
+
7. Bundle Size: ✅ GOOD (310kb) | ⚠️ LARGE (>500kb) | ❌ CRITICAL (>1mb)
|
|
90
|
+
|
|
91
|
+
━━━ Critical Issues (Fix Before Deploy) ━━━━━━━━━━━━━
|
|
92
|
+
- [CRITICAL] SQL injection in src/routes/users.ts:47
|
|
93
|
+
- [HIGH] JWT secret from hardcoded fallback in src/lib/auth.ts:12
|
|
94
|
+
|
|
95
|
+
━━━ Important Issues (Fix Before Release) ━━━━━━━━━━
|
|
96
|
+
- [MEDIUM] 4 TypeScript 'any' types in src/components/
|
|
97
|
+
- [MEDIUM] Test coverage: 58% (target: 80%)
|
|
98
|
+
|
|
99
|
+
━━━ Recommendations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
100
|
+
- Update lodash 4.17.20 → 4.17.21 (Prototype pollution CVE)
|
|
101
|
+
- Add @types/node to devDependencies (missing)
|
|
102
|
+
- Bundle size: chart library causes +240kb — use dynamic import
|
|
103
|
+
|
|
104
|
+
━━━ Suggested Next Steps ━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
105
|
+
Critical items → /tribunal-backend to fix injection and JWT issues
|
|
106
|
+
Test gaps → /test to add coverage for checkout and auth flows
|
|
107
|
+
Bundle → /enhance to add dynamic import for chart component
|
|
134
108
|
```
|
|
135
109
|
|
|
136
110
|
---
|
|
137
111
|
|
|
138
|
-
##
|
|
112
|
+
## Human Review Gate
|
|
139
113
|
|
|
140
|
-
|
|
114
|
+
After the audit report is produced:
|
|
141
115
|
|
|
142
|
-
```bash
|
|
143
|
-
// turbo
|
|
144
|
-
python .agent/scripts/checklist.py .
|
|
145
116
|
```
|
|
117
|
+
Human Gate required before any fixes are applied.
|
|
146
118
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
119
|
+
Approve a fix plan?
|
|
120
|
+
Y = proceed with automated fixes where safe
|
|
121
|
+
N = report only, no changes
|
|
122
|
+
S = select specific items to fix
|
|
123
|
+
```
|
|
150
124
|
|
|
151
|
-
|
|
152
|
-
|---|---|
|
|
153
|
-
| Security CRITICAL findings | `/review [file]` for targeted analysis, then fix with `/generate` |
|
|
154
|
-
| Many lint errors | `/fix` to auto-resolve lint and formatting issues |
|
|
155
|
-
| Test failures | `/debug` to find root cause, then `/test` to add coverage |
|
|
156
|
-
| Outdated or vulnerable dependencies | `/migrate` for framework/dependency upgrades |
|
|
157
|
-
| Bundle size too large | `/tribunal-performance` for optimization review |
|
|
125
|
+
No files are modified without explicit approval.
|
|
158
126
|
|
|
159
127
|
---
|
|
160
|
-
|
|
161
|
-
## Usage
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
/audit
|
|
165
|
-
/audit this project before we deploy
|
|
166
|
-
/audit focus on security and dependencies only
|
|
167
|
-
/audit after upgrading to Next.js 15
|
|
168
|
-
```
|