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.
Files changed (250) hide show
  1. package/.agent/ARCHITECTURE.md +99 -99
  2. package/.agent/GEMINI.md +52 -52
  3. package/.agent/agents/accessibility-reviewer.md +139 -86
  4. package/.agent/agents/ai-code-reviewer.md +160 -90
  5. package/.agent/agents/backend-specialist.md +164 -127
  6. package/.agent/agents/code-archaeologist.md +115 -73
  7. package/.agent/agents/database-architect.md +130 -110
  8. package/.agent/agents/debugger.md +137 -97
  9. package/.agent/agents/dependency-reviewer.md +78 -30
  10. package/.agent/agents/devops-engineer.md +161 -118
  11. package/.agent/agents/documentation-writer.md +151 -87
  12. package/.agent/agents/explorer-agent.md +117 -99
  13. package/.agent/agents/frontend-reviewer.md +127 -47
  14. package/.agent/agents/frontend-specialist.md +169 -109
  15. package/.agent/agents/game-developer.md +28 -164
  16. package/.agent/agents/logic-reviewer.md +87 -49
  17. package/.agent/agents/mobile-developer.md +151 -103
  18. package/.agent/agents/mobile-reviewer.md +133 -50
  19. package/.agent/agents/orchestrator.md +121 -110
  20. package/.agent/agents/penetration-tester.md +103 -77
  21. package/.agent/agents/performance-optimizer.md +136 -92
  22. package/.agent/agents/performance-reviewer.md +139 -69
  23. package/.agent/agents/product-manager.md +104 -70
  24. package/.agent/agents/product-owner.md +6 -25
  25. package/.agent/agents/project-planner.md +95 -95
  26. package/.agent/agents/qa-automation-engineer.md +174 -87
  27. package/.agent/agents/security-auditor.md +133 -129
  28. package/.agent/agents/seo-specialist.md +160 -99
  29. package/.agent/agents/sql-reviewer.md +132 -44
  30. package/.agent/agents/supervisor-agent.md +137 -109
  31. package/.agent/agents/swarm-worker-contracts.md +17 -17
  32. package/.agent/agents/swarm-worker-registry.md +46 -46
  33. package/.agent/agents/test-coverage-reviewer.md +132 -53
  34. package/.agent/agents/test-engineer.md +0 -21
  35. package/.agent/agents/type-safety-reviewer.md +143 -33
  36. package/.agent/patterns/generator.md +9 -9
  37. package/.agent/patterns/inversion.md +12 -12
  38. package/.agent/patterns/pipeline.md +9 -9
  39. package/.agent/patterns/reviewer.md +13 -13
  40. package/.agent/patterns/tool-wrapper.md +9 -9
  41. package/.agent/rules/GEMINI.md +63 -63
  42. package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
  43. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  44. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  45. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  46. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  47. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  48. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  49. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  50. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  51. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  52. package/.agent/scripts/compress_skills.py +167 -0
  53. package/.agent/scripts/consolidate_skills.py +173 -0
  54. package/.agent/scripts/deep_compress.py +202 -0
  55. package/.agent/scripts/minify_context.py +80 -0
  56. package/.agent/scripts/security_scan.py +1 -1
  57. package/.agent/scripts/strip_tribunal.py +41 -0
  58. package/.agent/skills/agent-organizer/SKILL.md +60 -100
  59. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  60. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +108 -53
  61. package/.agent/skills/api-patterns/SKILL.md +197 -257
  62. package/.agent/skills/api-security-auditor/SKILL.md +125 -57
  63. package/.agent/skills/app-builder/SKILL.md +326 -50
  64. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  65. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  66. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  67. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  68. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  69. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  70. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  71. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  72. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  73. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  74. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  75. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  76. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  77. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  78. package/.agent/skills/appflow-wireframe/SKILL.md +71 -98
  79. package/.agent/skills/architecture/SKILL.md +161 -200
  80. package/.agent/skills/authentication-best-practices/SKILL.md +121 -54
  81. package/.agent/skills/bash-linux/SKILL.md +71 -166
  82. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  83. package/.agent/skills/brainstorming/SKILL.md +345 -127
  84. package/.agent/skills/building-native-ui/SKILL.md +125 -57
  85. package/.agent/skills/clean-code/SKILL.md +266 -149
  86. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  87. package/.agent/skills/config-validator/SKILL.md +73 -131
  88. package/.agent/skills/csharp-developer/SKILL.md +434 -73
  89. package/.agent/skills/database-design/SKILL.md +190 -275
  90. package/.agent/skills/deployment-procedures/SKILL.md +81 -158
  91. package/.agent/skills/devops-engineer/SKILL.md +255 -94
  92. package/.agent/skills/devops-incident-responder/SKILL.md +50 -69
  93. package/.agent/skills/doc.md +5 -5
  94. package/.agent/skills/documentation-templates/SKILL.md +19 -63
  95. package/.agent/skills/edge-computing/SKILL.md +75 -165
  96. package/.agent/skills/extract-design-system/SKILL.md +84 -58
  97. package/.agent/skills/framer-motion-expert/SKILL.md +195 -0
  98. package/.agent/skills/frontend-design/SKILL.md +151 -499
  99. package/.agent/skills/game-design-expert/SKILL.md +71 -0
  100. package/.agent/skills/game-engineering-expert/SKILL.md +88 -0
  101. package/.agent/skills/geo-fundamentals/SKILL.md +52 -178
  102. package/.agent/skills/github-operations/SKILL.md +197 -272
  103. package/.agent/skills/gsap-expert/SKILL.md +194 -0
  104. package/.agent/skills/i18n-localization/SKILL.md +60 -172
  105. package/.agent/skills/intelligent-routing/SKILL.md +123 -103
  106. package/.agent/skills/lint-and-validate/SKILL.md +8 -52
  107. package/.agent/skills/llm-engineering/SKILL.md +281 -195
  108. package/.agent/skills/local-first/SKILL.md +76 -159
  109. package/.agent/skills/mcp-builder/SKILL.md +48 -188
  110. package/.agent/skills/mobile-design/SKILL.md +213 -219
  111. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  112. package/.agent/skills/nextjs-react-expert/SKILL.md +184 -203
  113. package/.agent/skills/nodejs-best-practices/SKILL.md +403 -185
  114. package/.agent/skills/observability/SKILL.md +211 -203
  115. package/.agent/skills/parallel-agents/SKILL.md +53 -146
  116. package/.agent/skills/performance-profiling/SKILL.md +171 -151
  117. package/.agent/skills/plan-writing/SKILL.md +49 -153
  118. package/.agent/skills/platform-engineer/SKILL.md +57 -103
  119. package/.agent/skills/playwright-best-practices/SKILL.md +110 -63
  120. package/.agent/skills/powershell-windows/SKILL.md +61 -179
  121. package/.agent/skills/python-patterns/SKILL.md +7 -35
  122. package/.agent/skills/python-pro/SKILL.md +273 -114
  123. package/.agent/skills/react-specialist/SKILL.md +227 -108
  124. package/.agent/skills/readme-builder/SKILL.md +15 -85
  125. package/.agent/skills/realtime-patterns/SKILL.md +216 -243
  126. package/.agent/skills/red-team-tactics/SKILL.md +10 -51
  127. package/.agent/skills/rust-pro/SKILL.md +525 -142
  128. package/.agent/skills/seo-fundamentals/SKILL.md +92 -153
  129. package/.agent/skills/server-management/SKILL.md +110 -166
  130. package/.agent/skills/shadcn-ui-expert/SKILL.md +154 -55
  131. package/.agent/skills/skill-creator/SKILL.md +18 -58
  132. package/.agent/skills/sql-pro/SKILL.md +543 -68
  133. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
  134. package/.agent/skills/swiftui-expert/SKILL.md +124 -57
  135. package/.agent/skills/systematic-debugging/SKILL.md +49 -151
  136. package/.agent/skills/tailwind-patterns/SKILL.md +433 -149
  137. package/.agent/skills/tdd-workflow/SKILL.md +63 -169
  138. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  139. package/.agent/skills/testing-patterns/SKILL.md +437 -130
  140. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  141. package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
  142. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  143. package/.agent/skills/vue-expert/SKILL.md +225 -119
  144. package/.agent/skills/vulnerability-scanner/SKILL.md +264 -226
  145. package/.agent/skills/web-accessibility-auditor/SKILL.md +141 -58
  146. package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
  147. package/.agent/skills/webapp-testing/SKILL.md +71 -196
  148. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  149. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  150. package/.agent/workflows/api-tester.md +96 -224
  151. package/.agent/workflows/audit.md +81 -122
  152. package/.agent/workflows/brainstorm.md +69 -105
  153. package/.agent/workflows/changelog.md +65 -97
  154. package/.agent/workflows/create.md +73 -88
  155. package/.agent/workflows/debug.md +80 -111
  156. package/.agent/workflows/deploy.md +119 -92
  157. package/.agent/workflows/enhance.md +80 -91
  158. package/.agent/workflows/fix.md +68 -97
  159. package/.agent/workflows/generate.md +165 -164
  160. package/.agent/workflows/migrate.md +106 -109
  161. package/.agent/workflows/orchestrate.md +103 -86
  162. package/.agent/workflows/performance-benchmarker.md +77 -268
  163. package/.agent/workflows/plan.md +120 -98
  164. package/.agent/workflows/preview.md +39 -96
  165. package/.agent/workflows/refactor.md +105 -97
  166. package/.agent/workflows/review-ai.md +63 -102
  167. package/.agent/workflows/review.md +71 -110
  168. package/.agent/workflows/session.md +53 -113
  169. package/.agent/workflows/status.md +42 -88
  170. package/.agent/workflows/strengthen-skills.md +90 -51
  171. package/.agent/workflows/swarm.md +114 -129
  172. package/.agent/workflows/test.md +125 -102
  173. package/.agent/workflows/tribunal-backend.md +60 -78
  174. package/.agent/workflows/tribunal-database.md +62 -100
  175. package/.agent/workflows/tribunal-frontend.md +62 -82
  176. package/.agent/workflows/tribunal-full.md +56 -100
  177. package/.agent/workflows/tribunal-mobile.md +65 -94
  178. package/.agent/workflows/tribunal-performance.md +62 -105
  179. package/.agent/workflows/ui-ux-pro-max.md +72 -121
  180. package/README.md +11 -15
  181. package/package.json +1 -1
  182. package/.agent/skills/api-patterns/api-style.md +0 -42
  183. package/.agent/skills/api-patterns/auth.md +0 -24
  184. package/.agent/skills/api-patterns/documentation.md +0 -26
  185. package/.agent/skills/api-patterns/graphql.md +0 -41
  186. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  187. package/.agent/skills/api-patterns/response.md +0 -37
  188. package/.agent/skills/api-patterns/rest.md +0 -40
  189. package/.agent/skills/api-patterns/security-testing.md +0 -122
  190. package/.agent/skills/api-patterns/trpc.md +0 -41
  191. package/.agent/skills/api-patterns/versioning.md +0 -22
  192. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  193. package/.agent/skills/app-builder/feature-building.md +0 -53
  194. package/.agent/skills/app-builder/project-detection.md +0 -34
  195. package/.agent/skills/app-builder/scaffolding.md +0 -118
  196. package/.agent/skills/app-builder/tech-stack.md +0 -40
  197. package/.agent/skills/architecture/context-discovery.md +0 -43
  198. package/.agent/skills/architecture/examples.md +0 -94
  199. package/.agent/skills/architecture/pattern-selection.md +0 -68
  200. package/.agent/skills/architecture/patterns-reference.md +0 -50
  201. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  202. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  203. package/.agent/skills/database-design/database-selection.md +0 -43
  204. package/.agent/skills/database-design/indexing.md +0 -39
  205. package/.agent/skills/database-design/migrations.md +0 -48
  206. package/.agent/skills/database-design/optimization.md +0 -36
  207. package/.agent/skills/database-design/orm-selection.md +0 -30
  208. package/.agent/skills/database-design/schema-design.md +0 -56
  209. package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
  210. package/.agent/skills/framer-motion-animations/SKILL.md +0 -74
  211. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  212. package/.agent/skills/frontend-design/color-system.md +0 -329
  213. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  214. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  215. package/.agent/skills/frontend-design/typography-system.md +0 -363
  216. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  217. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  218. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  219. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  220. package/.agent/skills/game-development/SKILL.md +0 -236
  221. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  222. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  223. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  224. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  225. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  226. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  227. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  228. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  229. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  230. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  231. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  232. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  233. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  234. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  235. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  236. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  237. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  238. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  239. package/.agent/skills/mobile-design/platform-android.md +0 -666
  240. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  241. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  242. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  243. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  244. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  245. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  246. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  247. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  248. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  249. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  250. 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 Test Flows
5
+ # /api-tester — Automated API Testing
6
6
 
7
7
  $ARGUMENTS
8
8
 
9
9
  ---
10
10
 
11
- This command generates and runs multi-stage API test sequences. It goes beyond single-endpoint testing by simulating realistic user sessions with chained requests, variable capture, and assertion verification.
11
+ ## When to Use /api-tester
12
12
 
13
- ---
14
-
15
- ## When to Use This vs Other Commands
16
-
17
- | Use `/api-tester` when... | Use something else when... |
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
- ## When to Use
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
- ## Pipeline Flow
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
- Your request (endpoint or flow description)
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
- ## Step 1: Route Discovery
35
+ ## Phase 2 Auth Flow (Token Acquisition)
62
36
 
63
- Before generating tests, scan the codebase for route definitions:
37
+ Before testing protected endpoints, acquire auth token:
64
38
 
65
- | Framework | Scan Pattern | What to Extract |
66
- |---|---|---|
67
- | Express | `app.get/post/put/delete/patch` or `router.*` | Method, path, middleware |
68
- | Fastify | `fastify.route` or `fastify.get/post/...` | Method, path, schema |
69
- | Next.js API | `app/api/**/route.ts` | Exported functions (GET, POST) |
70
- | Django/DRF | `urlpatterns`, `@api_view` | Method, path, viewset |
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
- **Output a route map before generating tests:**
75
- ```
76
- ━━━ Route Map ━━━━━━━━━━━━━━━━━━━━━━━━━━
77
- GET /api/users → UserController.list [auth: required]
78
- POST /api/users → UserController.create [auth: admin]
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
- ## Step 2: Test Pattern Selection
55
+ ## Phase 3 CRUD Sequence Testing
89
56
 
90
- ### Pattern 1: CRUD Lifecycle
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
- ### Pattern 2: Auth Flow
102
- Full authentication lifecycle:
103
- ```
104
- Step 1: POST /api/auth/register → Register (capture: $TOKEN)
105
- Step 2: POST /api/auth/login → Login (capture: $JWT, $REFRESH_TOKEN)
106
- Step 3: GET /api/protected → With JWT header (assert: 200)
107
- Step 4: GET /api/protected → Without JWT (assert: 401)
108
- Step 5: POST /api/auth/refresh → With $REFRESH_TOKEN (capture: $NEW_JWT)
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
- ### Pattern 3: Edge Cases & Error Handling
115
- ```
116
- Step 1: POST /api/resource → Missing required fields (assert: 400 + error message)
117
- Step 2: POST /api/resource → Invalid field types (assert: 400 + validation detail)
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
- ### Pattern 4: Pagination & Filtering
127
- ```
128
- Step 1: POST /api/resource → Create 5 records (loop)
129
- Step 2: GET /api/resource?page=1&limit=2 → (assert: 2 items, hasMore: true)
130
- Step 3: GET /api/resource?page=2&limit=2 → (assert: 2 items, hasMore: true)
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
- ### Pattern 5: Rate Limiting & Security
137
- ```
138
- Step 1: POST /api/auth/login × 10 → Rapid-fire login attempts
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
- ## Step 3: Variable Capture & Chaining
86
+ ## Phase 4 Error Case Testing
149
87
 
150
- Tests are chained via captured variables:
88
+ Test that errors are handled correctly:
151
89
 
152
- ```
153
- $VAR_NAME = response.body.fieldPath
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
- Examples:
156
- $USER_ID = response.body.data.id
157
- $JWT = response.body.token
158
- $CSRF_TOKEN = response.headers['x-csrf-token']
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
- Variables are passed forward:
163
- - **Headers**: `Authorization: Bearer $JWT`
164
- - **URL params**: `/api/users/$USER_ID`
165
- - **Body fields**: `{ "userId": "$USER_ID" }`
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
- ## Step 4: Assertion Engine
170
-
171
- Each step can assert on:
172
-
173
- | Assertion Type | Example | Description |
174
- |---|---|---|
175
- | Status code | `assert: 200` | HTTP status |
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
- ## Output Format
119
+ ## Phase 5 — Test Report
187
120
 
188
121
  ```
189
122
  ━━━ API Test Report ━━━━━━━━━━━━━━━━━━━━━━
190
123
 
191
- Flow: [Name of the flow tested]
192
- Base: [base URL]
193
- Steps: 6 total | 5 passed | 1 failed
194
- Time: 1.2s total
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
- - **Never hardcode** API keys, tokens, or passwords in generated test scripts.
230
- - **Use env vars**: `process.env.TEST_API_KEY`, `process.env.API_BASE_URL`.
231
- - **Sanitize test payloads** — no actual SQL injection payloads that could damage data.
232
- - **Never run destructive tests** against production URLs without explicit user confirmation.
233
- - **Clean up created resources** at the end of every test flow (DELETE what was POSTed).
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
- ## Abort Conditions
136
+ ━━━ Issues Found ━━━━━━━━━━━━━━━━━━━━━━━━
238
137
 
239
- | Condition | Action |
240
- |---|---|
241
- | Server is not running | Prompt to run `/preview start` before continuing |
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 CRUD flow for /api/posts
274
- /api-tester auth flow with JWT refresh
275
- /api-tester edge cases for /api/users
276
- /api-tester full lifecycle for /api/orders including payment
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, tests, dependencies, and bundle analysis
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 — Comprehensive Project Health Check
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
- | Situation | Recommended |
18
- |---|---|
19
- | Before a production deploy | `/audit` (full) |
20
- | After a dependency upgrade | `/audit` focus on deps + security |
21
- | When onboarding to a new codebase | `/audit` full scan first |
22
- | Single file just changed | `/review [file]` is faster |
23
- | Suspected security issue | `/audit` — security runs first |
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
- ## What Happens
23
+ ## Execution Order (Fixed — Do Not Reorder)
28
24
 
29
- The audit runs in strict priority order. Critical issues block further checks:
25
+ Security failures early in the pipeline halt subsequent steps. Lint/test failures continue with flags.
30
26
 
31
27
  ```
32
- Priority 1 Security Scan (CRITICAL: halts on failure)
33
- Priority 2 → Lint & Type Check (BLOCKING for deploy on error)
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
- ### Execution Commands
31
+ Priority 2 — Dependencies (HALT if exploitable CVE found)
32
+ python .agent/scripts/dependency_analyzer.py . --audit
41
33
 
42
- Each priority maps to a script:
34
+ Priority 3 Type Checking (CONTINUE but flag)
35
+ npx tsc --noEmit
43
36
 
44
- ```bash
45
- # Priority 1 — Security
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
- # Priority 2Lint
50
- // turbo
51
- python .agent/scripts/lint_runner.py .
40
+ Priority 5Schema Validation (CONTINUE but flag)
41
+ python .agent/scripts/schema_validator.py .
52
42
 
53
- # Priority 3Schema
54
- // turbo
55
- python .agent/scripts/schema_validator.py .
43
+ Priority 6Tests (CONTINUE but mark incomplete)
44
+ python .agent/scripts/test_runner.py . --coverage
56
45
 
57
- # Priority 4Tests
58
- // turbo
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 7Bundle Analysis (INFORM only)
47
+ python .agent/scripts/bundle_analyzer.py . --build
68
48
  ```
69
49
 
70
- ### Abort Conditions
50
+ ### Cascade Failure Rules
71
51
 
72
- | Priority | Condition | Action |
73
- |---|---|---|
74
- | Security (P1) | CRITICAL findings | **HALT** — report and stop. Do not proceed until resolved. |
75
- | Lint (P2) | Errors (not warnings) | Continue but flag as **deploy-blocking** |
76
- | Schema (P3) | Any failure | Continue, report as advisory |
77
- | Tests (P4) | Failures | Continue, mark task as **incomplete** |
78
- | Deps (P5) | Vulnerabilities | Continue, flag severity level |
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
- ## Scoped Audit (Optional)
62
+ ## Script Retry Protocol
93
63
 
94
- To audit a specific concern only, pass a flag:
95
-
96
- ```bash
97
- /audit security only → runs Priority 1 only
98
- /audit deps → runs Priority 5 only
99
- /audit lint → runs Priority 2 only
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
- After running all checks, produce a structured report:
109
-
110
- ```markdown
111
- ## 🔍 Project Audit Report — [date]
112
-
113
- ### Security: [PASS / FAIL ❌]
114
- - [findings summary with severity: CRITICAL / HIGH / MEDIUM / LOW]
115
-
116
- ### Lint & Types: [PASS / FAIL ❌]
117
- - [findings summary errors vs. warnings distinguished]
118
-
119
- ### Schema: [PASS / WARN ⚠️ / N/A]
120
- - [findings summary]
121
-
122
- ### Tests: [PASS / FAIL / N/A]
123
- - [pass/fail counts + names of failing tests]
124
-
125
- ### Dependencies: [CLEAN / ISSUES ⚠️]
126
- - [phantom imports, unused deps, known vulnerabilities with CVE IDs]
127
-
128
- ### Bundle: [OK ✅ / LARGE ⚠️ / N/A]
129
- - [total size, heavy deps, suggested optimizations]
130
-
131
- ### Verdict:
132
- [DEPLOY-READY / BLOCKED reason]
133
- [Next recommended action]
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
- ## Quick Audit
112
+ ## Human Review Gate
139
113
 
140
- For a faster check that skips bundle and schema:
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
- ## Cross-Workflow Navigation
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
- | If the audit reveals... | Go to |
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
- ```