tribunal-kit 4.0.1 → 4.3.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 (196) hide show
  1. package/.agent/ARCHITECTURE.md +21 -14
  2. package/.agent/GEMINI.md +4 -2
  3. package/.agent/agents/api-architect.md +66 -0
  4. package/.agent/agents/db-latency-auditor.md +216 -0
  5. package/.agent/agents/precedence-reviewer.md +41 -4
  6. package/.agent/agents/resilience-reviewer.md +88 -0
  7. package/.agent/agents/schema-reviewer.md +67 -0
  8. package/.agent/agents/swarm-worker-contracts.md +5 -5
  9. package/.agent/agents/throughput-optimizer.md +299 -0
  10. package/.agent/agents/ui-ux-auditor.md +292 -0
  11. package/.agent/agents/vitals-reviewer.md +223 -0
  12. package/.agent/history/case-law/cases/case-0001.json +33 -0
  13. package/.agent/history/case-law/index.json +35 -0
  14. package/.agent/rules/GEMINI.md +28 -11
  15. package/.agent/scripts/__pycache__/_colors.cpython-311.pyc +0 -0
  16. package/.agent/scripts/__pycache__/_utils.cpython-311.pyc +0 -0
  17. package/.agent/scripts/__pycache__/case_law_manager.cpython-311.pyc +0 -0
  18. package/.agent/scripts/_colors.js +18 -0
  19. package/.agent/scripts/_utils.js +42 -0
  20. package/.agent/scripts/auto_preview.js +197 -0
  21. package/.agent/scripts/bundle_analyzer.js +290 -0
  22. package/.agent/scripts/case_law_manager.js +684 -0
  23. package/.agent/scripts/checklist.js +266 -0
  24. package/.agent/scripts/colors.js +17 -0
  25. package/.agent/scripts/compress_skills.js +141 -0
  26. package/.agent/scripts/consolidate_skills.js +149 -0
  27. package/.agent/scripts/context_broker.js +609 -0
  28. package/.agent/scripts/deep_compress.js +150 -0
  29. package/.agent/scripts/dependency_analyzer.js +272 -0
  30. package/.agent/scripts/inner_loop_validator.js +465 -0
  31. package/.agent/scripts/lint_runner.js +187 -0
  32. package/.agent/scripts/minify_context.js +100 -0
  33. package/.agent/scripts/patch_skills_meta.js +156 -0
  34. package/.agent/scripts/patch_skills_output.js +244 -0
  35. package/.agent/scripts/schema_validator.js +297 -0
  36. package/.agent/scripts/security_scan.js +303 -0
  37. package/.agent/scripts/session_manager.js +276 -0
  38. package/.agent/scripts/skill_evolution.js +644 -0
  39. package/.agent/scripts/skill_integrator.js +313 -0
  40. package/.agent/scripts/strengthen_skills.js +193 -0
  41. package/.agent/scripts/strip_tribunal.js +47 -0
  42. package/.agent/scripts/swarm_dispatcher.js +360 -0
  43. package/.agent/scripts/test_runner.js +193 -0
  44. package/.agent/scripts/utils.js +32 -0
  45. package/.agent/scripts/verify_all.js +256 -0
  46. package/.agent/skills/agent-organizer/SKILL.md +42 -0
  47. package/.agent/skills/agentic-patterns/SKILL.md +42 -0
  48. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +42 -0
  49. package/.agent/skills/api-patterns/SKILL.md +42 -0
  50. package/.agent/skills/api-security-auditor/SKILL.md +42 -0
  51. package/.agent/skills/app-builder/SKILL.md +42 -0
  52. package/.agent/skills/app-builder/templates/SKILL.md +70 -0
  53. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +1 -1
  54. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
  55. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +1 -1
  56. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
  57. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +1 -1
  58. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +1 -1
  59. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +1 -1
  60. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +1 -1
  61. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +1 -1
  62. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +1 -1
  63. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +1 -1
  64. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +1 -1
  65. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +1 -1
  66. package/.agent/skills/appflow-wireframe/SKILL.md +42 -0
  67. package/.agent/skills/architecture/SKILL.md +42 -0
  68. package/.agent/skills/authentication-best-practices/SKILL.md +42 -0
  69. package/.agent/skills/bash-linux/SKILL.md +42 -0
  70. package/.agent/skills/behavioral-modes/SKILL.md +42 -0
  71. package/.agent/skills/brainstorming/SKILL.md +42 -0
  72. package/.agent/skills/building-native-ui/SKILL.md +42 -0
  73. package/.agent/skills/clean-code/SKILL.md +42 -0
  74. package/.agent/skills/code-review-checklist/SKILL.md +42 -0
  75. package/.agent/skills/config-validator/SKILL.md +42 -0
  76. package/.agent/skills/csharp-developer/SKILL.md +42 -0
  77. package/.agent/skills/data-validation-schemas/SKILL.md +320 -0
  78. package/.agent/skills/database-design/SKILL.md +42 -0
  79. package/.agent/skills/deployment-procedures/SKILL.md +42 -0
  80. package/.agent/skills/devops-engineer/SKILL.md +42 -0
  81. package/.agent/skills/devops-incident-responder/SKILL.md +42 -0
  82. package/.agent/skills/doc.md +1 -1
  83. package/.agent/skills/documentation-templates/SKILL.md +42 -0
  84. package/.agent/skills/edge-computing/SKILL.md +42 -0
  85. package/.agent/skills/error-resilience/SKILL.md +420 -0
  86. package/.agent/skills/extract-design-system/SKILL.md +42 -0
  87. package/.agent/skills/framer-motion-expert/SKILL.md +42 -1
  88. package/.agent/skills/frontend-design/SKILL.md +42 -0
  89. package/.agent/skills/game-design-expert/SKILL.md +42 -0
  90. package/.agent/skills/game-engineering-expert/SKILL.md +42 -0
  91. package/.agent/skills/geo-fundamentals/SKILL.md +42 -0
  92. package/.agent/skills/github-operations/SKILL.md +42 -0
  93. package/.agent/skills/gsap-core/SKILL.md +300 -0
  94. package/.agent/skills/gsap-frameworks/SKILL.md +199 -0
  95. package/.agent/skills/gsap-performance/SKILL.md +125 -0
  96. package/.agent/skills/gsap-plugins/SKILL.md +472 -0
  97. package/.agent/skills/gsap-react/SKILL.md +181 -0
  98. package/.agent/skills/gsap-scrolltrigger/SKILL.md +342 -0
  99. package/.agent/skills/gsap-timeline/SKILL.md +153 -0
  100. package/.agent/skills/gsap-utils/SKILL.md +330 -0
  101. package/.agent/skills/i18n-localization/SKILL.md +42 -0
  102. package/.agent/skills/intelligent-routing/SKILL.md +72 -1
  103. package/.agent/skills/lint-and-validate/SKILL.md +42 -0
  104. package/.agent/skills/llm-engineering/SKILL.md +42 -0
  105. package/.agent/skills/local-first/SKILL.md +42 -0
  106. package/.agent/skills/mcp-builder/SKILL.md +42 -0
  107. package/.agent/skills/mobile-design/SKILL.md +42 -0
  108. package/.agent/skills/monorepo-management/SKILL.md +326 -0
  109. package/.agent/skills/motion-engineering/SKILL.md +42 -0
  110. package/.agent/skills/nextjs-react-expert/SKILL.md +42 -0
  111. package/.agent/skills/nodejs-best-practices/SKILL.md +42 -0
  112. package/.agent/skills/observability/SKILL.md +42 -0
  113. package/.agent/skills/parallel-agents/SKILL.md +42 -0
  114. package/.agent/skills/performance-profiling/SKILL.md +42 -0
  115. package/.agent/skills/plan-writing/SKILL.md +42 -0
  116. package/.agent/skills/platform-engineer/SKILL.md +42 -0
  117. package/.agent/skills/playwright-best-practices/SKILL.md +42 -0
  118. package/.agent/skills/powershell-windows/SKILL.md +42 -0
  119. package/.agent/skills/project-idioms/SKILL.md +42 -0
  120. package/.agent/skills/python-patterns/SKILL.md +42 -0
  121. package/.agent/skills/python-pro/SKILL.md +42 -0
  122. package/.agent/skills/react-specialist/SKILL.md +42 -0
  123. package/.agent/skills/readme-builder/SKILL.md +42 -0
  124. package/.agent/skills/realtime-patterns/SKILL.md +42 -0
  125. package/.agent/skills/red-team-tactics/SKILL.md +42 -0
  126. package/.agent/skills/rust-pro/SKILL.md +42 -0
  127. package/.agent/skills/seo-fundamentals/SKILL.md +42 -0
  128. package/.agent/skills/server-management/SKILL.md +42 -0
  129. package/.agent/skills/shadcn-ui-expert/SKILL.md +42 -0
  130. package/.agent/skills/skill-creator/SKILL.md +42 -0
  131. package/.agent/skills/sql-pro/SKILL.md +42 -0
  132. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +42 -0
  133. package/.agent/skills/swiftui-expert/SKILL.md +42 -0
  134. package/.agent/skills/systematic-debugging/SKILL.md +42 -0
  135. package/.agent/skills/tailwind-patterns/SKILL.md +42 -0
  136. package/.agent/skills/tdd-workflow/SKILL.md +42 -0
  137. package/.agent/skills/test-result-analyzer/SKILL.md +42 -0
  138. package/.agent/skills/testing-patterns/SKILL.md +42 -0
  139. package/.agent/skills/trend-researcher/SKILL.md +42 -0
  140. package/.agent/skills/typescript-advanced/SKILL.md +327 -0
  141. package/.agent/skills/ui-ux-pro-max/SKILL.md +42 -0
  142. package/.agent/skills/ui-ux-researcher/SKILL.md +42 -0
  143. package/.agent/skills/vue-expert/SKILL.md +42 -0
  144. package/.agent/skills/vulnerability-scanner/SKILL.md +42 -0
  145. package/.agent/skills/web-accessibility-auditor/SKILL.md +42 -0
  146. package/.agent/skills/web-design-guidelines/SKILL.md +42 -0
  147. package/.agent/skills/webapp-testing/SKILL.md +42 -0
  148. package/.agent/skills/whimsy-injector/SKILL.md +42 -0
  149. package/.agent/skills/workflow-optimizer/SKILL.md +42 -0
  150. package/.agent/workflows/audit.md +6 -6
  151. package/.agent/workflows/deploy.md +1 -1
  152. package/.agent/workflows/generate.md +23 -6
  153. package/.agent/workflows/session.md +5 -5
  154. package/.agent/workflows/swarm.md +2 -2
  155. package/.agent/workflows/tribunal-backend.md +13 -2
  156. package/.agent/workflows/tribunal-full.md +15 -8
  157. package/.agent/workflows/tribunal-speed.md +183 -0
  158. package/README.md +64 -8
  159. package/bin/tribunal-kit.js +281 -41
  160. package/package.json +9 -6
  161. package/scripts/changelog.js +167 -0
  162. package/scripts/sync-version.js +81 -0
  163. package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
  164. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  165. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  166. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  167. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  168. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  169. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  170. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  171. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  172. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  173. package/.agent/scripts/auto_preview.py +0 -180
  174. package/.agent/scripts/bundle_analyzer.py +0 -259
  175. package/.agent/scripts/case_law_manager.py +0 -525
  176. package/.agent/scripts/checklist.py +0 -209
  177. package/.agent/scripts/compress_skills.py +0 -167
  178. package/.agent/scripts/consolidate_skills.py +0 -173
  179. package/.agent/scripts/deep_compress.py +0 -202
  180. package/.agent/scripts/dependency_analyzer.py +0 -247
  181. package/.agent/scripts/lint_runner.py +0 -188
  182. package/.agent/scripts/minify_context.py +0 -80
  183. package/.agent/scripts/patch_skills_meta.py +0 -177
  184. package/.agent/scripts/patch_skills_output.py +0 -285
  185. package/.agent/scripts/schema_validator.py +0 -279
  186. package/.agent/scripts/security_scan.py +0 -224
  187. package/.agent/scripts/session_manager.py +0 -261
  188. package/.agent/scripts/skill_evolution.py +0 -563
  189. package/.agent/scripts/skill_integrator.py +0 -234
  190. package/.agent/scripts/strengthen_skills.py +0 -220
  191. package/.agent/scripts/strip_tribunal.py +0 -41
  192. package/.agent/scripts/swarm_dispatcher.py +0 -350
  193. package/.agent/scripts/test_runner.py +0 -192
  194. package/.agent/scripts/test_swarm_dispatcher.py +0 -163
  195. package/.agent/scripts/verify_all.py +0 -195
  196. package/.agent/skills/gsap-expert/SKILL.md +0 -194
@@ -0,0 +1,256 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * verify_all.js — Full pre-deploy validation suite for the Tribunal Agent Kit.
4
+ *
5
+ * Runs comprehensive checks before any production deployment.
6
+ *
7
+ * Usage:
8
+ * node .agent/scripts/verify_all.js
9
+ * node .agent/scripts/verify_all.js --skip build,deps
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ const fs = require('fs');
15
+ const path = require('path');
16
+ const { execFileSync } = require('child_process');
17
+
18
+ // ━━━ ANSI colors ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
19
+ const RED = '\x1b[91m';
20
+ const GREEN = '\x1b[92m';
21
+ const YELLOW = '\x1b[93m';
22
+ const BLUE = '\x1b[94m';
23
+ const BOLD = '\x1b[1m';
24
+ const RESET = '\x1b[0m';
25
+
26
+ const RESULTS = [];
27
+
28
+ function section(title) {
29
+ console.log(`\n${BOLD}${BLUE}━━━ ${title} ━━━${RESET}`);
30
+ }
31
+
32
+ function ok(label, note) {
33
+ const msg = `${GREEN}✅ ${label}${RESET}` + (note ? ` ${YELLOW}(${note})${RESET}` : '');
34
+ console.log(` ${msg}`);
35
+ RESULTS.push({ label, passed: true, note: note || '' });
36
+ }
37
+
38
+ function fail(label, note) {
39
+ const noteStr = note ? `\n ${note}` : '';
40
+ console.log(` ${RED}❌ ${label}${RESET}${noteStr}`);
41
+ RESULTS.push({ label, passed: false, note: note || '' });
42
+ }
43
+
44
+ function skip(label, reason) {
45
+ console.log(` ${YELLOW}⏭️ ${label} — ${reason}${RESET}`);
46
+ RESULTS.push({ label, passed: true, note: `skipped: ${reason}` });
47
+ }
48
+
49
+ /**
50
+ * Run a shell command and return true if it exits with code 0.
51
+ */
52
+ function run(label, cmd, cwd) {
53
+ try {
54
+ const isWindows = process.platform === 'win32';
55
+ let bin = cmd[0];
56
+ if (isWindows && (bin === 'npm' || bin === 'npx')) bin += '.cmd';
57
+
58
+ execFileSync(bin, cmd.slice(1), {
59
+ cwd,
60
+ stdio: 'pipe',
61
+ timeout: 120000,
62
+ encoding: 'utf8',
63
+ });
64
+ ok(label);
65
+ return true;
66
+ } catch (err) {
67
+ if (err.code === 'ENOENT') {
68
+ skip(label, 'tool not installed — skipping');
69
+ return true;
70
+ }
71
+ if (err.killed) {
72
+ fail(label, 'timed out after 120s');
73
+ return false;
74
+ }
75
+ const output = ((err.stdout || '') + (err.stderr || '')).trim();
76
+ fail(label, output ? output.slice(0, 500) : 'non-zero exit code');
77
+ return false;
78
+ }
79
+ }
80
+
81
+
82
+ /**
83
+ * Scan source files for obviously hardcoded credentials.
84
+ */
85
+ function scanSecrets(cwd) {
86
+ const patterns = ['password=', 'secret=', 'api_key=', 'private_key=', 'auth_token='];
87
+ const found = [];
88
+ const skipDirs = new Set(['node_modules', '.git', 'dist', '__pycache__', '.agent']);
89
+
90
+ function walk(dir) {
91
+ let entries;
92
+ try { entries = fs.readdirSync(dir, { withFileTypes: true }); } catch { return; }
93
+
94
+ for (const entry of entries) {
95
+ const fullPath = path.join(dir, entry.name);
96
+ if (entry.isDirectory()) {
97
+ if (!skipDirs.has(entry.name)) walk(fullPath);
98
+ } else if (entry.isFile()) {
99
+ if (!/\.(ts|js|tsx|jsx|py)$/.test(entry.name)) continue;
100
+
101
+ let content;
102
+ try { content = fs.readFileSync(fullPath, 'utf8'); } catch { continue; }
103
+
104
+ const lines = content.split('\n');
105
+ for (let i = 0; i < lines.length; i++) {
106
+ const low = lines[i].toLowerCase().trim();
107
+ const hasPattern = patterns.some(p => low.includes(p));
108
+ if (hasPattern && !low.startsWith('#') && low.includes('=')) {
109
+ const rel = path.relative(cwd, fullPath);
110
+ found.push(`${rel}:${i + 1}`);
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ walk(cwd);
118
+
119
+ if (found.length > 0) {
120
+ fail('Secret scan', found.slice(0, 5).join('\n '));
121
+ return false;
122
+ }
123
+ ok('Secret scan — no hardcoded credentials found');
124
+ return true;
125
+ }
126
+
127
+
128
+ /**
129
+ * Check if there's a package.json to run npm commands against.
130
+ */
131
+ function hasNpm(cwd) {
132
+ return fs.existsSync(path.join(cwd, 'package.json'));
133
+ }
134
+
135
+
136
+ /**
137
+ * Run all verification checks. Returns number of failures.
138
+ */
139
+ function verifyAll(cwd, skipped) {
140
+ let failures = 0;
141
+
142
+ section('1 — Secret Scan');
143
+ if (!skipped.includes('secrets')) {
144
+ if (!scanSecrets(cwd)) failures++;
145
+ } else {
146
+ skip('Secret scan', 'skipped by flag');
147
+ }
148
+
149
+ section('2 — TypeScript');
150
+ if (!skipped.includes('typescript')) {
151
+ if (hasNpm(cwd)) {
152
+ if (!run('tsc --noEmit', ['npx', 'tsc', '--noEmit'], cwd)) failures++;
153
+ } else {
154
+ skip('TypeScript', 'no package.json found in project');
155
+ }
156
+ } else {
157
+ skip('TypeScript', 'skipped by flag');
158
+ }
159
+
160
+ section('3 — ESLint');
161
+ if (!skipped.includes('lint')) {
162
+ if (hasNpm(cwd)) {
163
+ if (!run('ESLint', ['npx', 'eslint', '.', '--max-warnings=0'], cwd)) failures++;
164
+ } else {
165
+ skip('ESLint', 'no package.json found in project');
166
+ }
167
+ } else {
168
+ skip('ESLint', 'skipped by flag');
169
+ }
170
+
171
+ section('4 — Unit Tests');
172
+ if (!skipped.includes('tests')) {
173
+ if (hasNpm(cwd)) {
174
+ if (!run('Test suite', ['npm', 'test', '--', '--passWithNoTests'], cwd)) failures++;
175
+ } else {
176
+ skip('Tests', 'no package.json found in project');
177
+ }
178
+ } else {
179
+ skip('Tests', 'skipped by flag');
180
+ }
181
+
182
+ section('5 — Build');
183
+ if (!skipped.includes('build')) {
184
+ if (hasNpm(cwd)) {
185
+ if (!run('npm run build', ['npm', 'run', 'build'], cwd)) failures++;
186
+ } else {
187
+ skip('Build', 'no package.json found in project');
188
+ }
189
+ } else {
190
+ skip('Build', 'skipped by flag');
191
+ }
192
+
193
+ section('6 — Dependency Audit');
194
+ if (!skipped.includes('deps')) {
195
+ if (hasNpm(cwd)) {
196
+ if (!run('npm audit', ['npm', 'audit', '--audit-level=high'], cwd)) failures++;
197
+ } else {
198
+ skip('Dependency audit', 'no package.json found in project');
199
+ }
200
+ } else {
201
+ skip('Dependency audit', 'skipped by flag');
202
+ }
203
+
204
+ // ━━━ Summary ━━━
205
+ console.log(`\n${BOLD}━━━ Summary ━━━${RESET}`);
206
+ for (const { label, passed, note } of RESULTS) {
207
+ const status = passed ? `${GREEN}✅${RESET}` : `${RED}❌${RESET}`;
208
+ const noteStr = (!passed && note) ? ` ${YELLOW}(${note})${RESET}` : '';
209
+ console.log(` ${status} ${label}${noteStr}`);
210
+ }
211
+
212
+ console.log();
213
+ if (failures === 0) {
214
+ console.log(`${GREEN}${BOLD}All checks passed — safe to deploy.${RESET}`);
215
+ } else {
216
+ console.log(`${RED}${BOLD}${failures} check(s) failed — fix before deploying.${RESET}`);
217
+ }
218
+
219
+ return failures;
220
+ }
221
+
222
+
223
+ /**
224
+ * Parse CLI arguments manually (no external dependencies).
225
+ */
226
+ function parseArgs(argv) {
227
+ const args = { skip: [] };
228
+ const raw = argv.slice(2);
229
+
230
+ for (let i = 0; i < raw.length; i++) {
231
+ if (raw[i] === '--skip' && raw[i + 1]) {
232
+ args.skip = raw[++i].split(',').map(s => s.trim().toLowerCase()).filter(Boolean);
233
+ }
234
+ }
235
+ return args;
236
+ }
237
+
238
+
239
+ function main() {
240
+ const args = parseArgs(process.argv);
241
+ const cwd = process.cwd();
242
+
243
+ console.log(`${BOLD}Tribunal — verify_all.js${RESET}`);
244
+ console.log(`Project: ${cwd}\n`);
245
+
246
+ const failures = verifyAll(cwd, args.skip);
247
+ process.exit(failures > 0 ? 1 : 0);
248
+ }
249
+
250
+
251
+ // ━━━ Exports for testing & programmatic use ━━━
252
+ module.exports = { verifyAll, scanSecrets, hasNpm };
253
+
254
+ if (require.main === module) {
255
+ main();
256
+ }
@@ -98,3 +98,45 @@ Automation without oversight is reckless. The Organizer manages when to pause an
98
98
  2. **Recovery Gate (After 3 Failures):** "The database migration script has failed 3 times. I am halting. How would you like to proceed?"
99
99
 
100
100
  ---
101
+
102
+
103
+ ---
104
+
105
+
106
+
107
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
108
+
109
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
110
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
111
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
112
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
113
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
114
+
115
+ ---
116
+
117
+
118
+
119
+ **Slash command: `/review` or `/tribunal-full`**
120
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
121
+
122
+ ### ❌ Forbidden AI Tropes
123
+
124
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
125
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
126
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
127
+
128
+
129
+
130
+ Review these questions before confirming output:
131
+ ```
132
+ ✅ Did I rely ONLY on real, verified tools and methods?
133
+ ✅ Is this solution appropriately scoped to the user's constraints?
134
+ ✅ Did I handle potential failure modes and edge cases?
135
+ ✅ Have I avoided generic boilerplate that doesn't add value?
136
+ ```
137
+
138
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
139
+
140
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
141
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
142
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
@@ -263,3 +263,45 @@ Evidence: [link to terminal output, test result, or file diff]
263
263
  ```
264
264
 
265
265
  ---
266
+
267
+
268
+ ---
269
+
270
+
271
+
272
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
273
+
274
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
275
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
276
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
277
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
278
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
279
+
280
+ ---
281
+
282
+
283
+
284
+ **Slash command: `/review` or `/tribunal-full`**
285
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
286
+
287
+ ### ❌ Forbidden AI Tropes
288
+
289
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
290
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
291
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
292
+
293
+
294
+
295
+ Review these questions before confirming output:
296
+ ```
297
+ ✅ Did I rely ONLY on real, verified tools and methods?
298
+ ✅ Is this solution appropriately scoped to the user's constraints?
299
+ ✅ Did I handle potential failure modes and edge cases?
300
+ ✅ Have I avoided generic boilerplate that doesn't add value?
301
+ ```
302
+
303
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
304
+
305
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
306
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
307
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
@@ -132,3 +132,45 @@ Many injections occur because the LLM includes malicious data in its output, whi
132
132
  - **Enforce JSON Schemas.** If the LLM goes off-script and starts blabbering, Zod validation should instantly fail the parsing and reject the output.
133
133
 
134
134
  ---
135
+
136
+
137
+ ---
138
+
139
+
140
+
141
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
142
+
143
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
144
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
145
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
146
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
147
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
148
+
149
+ ---
150
+
151
+
152
+
153
+ **Slash command: `/review` or `/tribunal-full`**
154
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
155
+
156
+ ### ❌ Forbidden AI Tropes
157
+
158
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
159
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
160
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
161
+
162
+
163
+
164
+ Review these questions before confirming output:
165
+ ```
166
+ ✅ Did I rely ONLY on real, verified tools and methods?
167
+ ✅ Is this solution appropriately scoped to the user's constraints?
168
+ ✅ Did I handle potential failure modes and edge cases?
169
+ ✅ Have I avoided generic boilerplate that doesn't add value?
170
+ ```
171
+
172
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
173
+
174
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
175
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
176
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
@@ -195,3 +195,45 @@ Protect against:
195
195
  | **OAuth 2.0 / OIDC** | Third-party login, delegated access |
196
196
  | **API Key** | Server-to-server, public API consumers |
197
197
  | **Passkey (WebAuthn)** | Modern passwordless (2026+) |
198
+
199
+
200
+ ---
201
+
202
+
203
+
204
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
205
+
206
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
207
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
208
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
209
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
210
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
211
+
212
+ ---
213
+
214
+
215
+
216
+ **Slash command: `/review` or `/tribunal-full`**
217
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
218
+
219
+ ### ❌ Forbidden AI Tropes
220
+
221
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
222
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
223
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
224
+
225
+
226
+
227
+ Review these questions before confirming output:
228
+ ```
229
+ ✅ Did I rely ONLY on real, verified tools and methods?
230
+ ✅ Is this solution appropriately scoped to the user's constraints?
231
+ ✅ Did I handle potential failure modes and edge cases?
232
+ ✅ Have I avoided generic boilerplate that doesn't add value?
233
+ ```
234
+
235
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
236
+
237
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
238
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
239
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
@@ -141,3 +141,45 @@ const server = new ApolloServer({
141
141
  ```
142
142
 
143
143
  ---
144
+
145
+
146
+ ---
147
+
148
+
149
+
150
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
151
+
152
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
153
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
154
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
155
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
156
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
157
+
158
+ ---
159
+
160
+
161
+
162
+ **Slash command: `/review` or `/tribunal-full`**
163
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
164
+
165
+ ### ❌ Forbidden AI Tropes
166
+
167
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
168
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
169
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
170
+
171
+
172
+
173
+ Review these questions before confirming output:
174
+ ```
175
+ ✅ Did I rely ONLY on real, verified tools and methods?
176
+ ✅ Is this solution appropriately scoped to the user's constraints?
177
+ ✅ Did I handle potential failure modes and edge cases?
178
+ ✅ Have I avoided generic boilerplate that doesn't add value?
179
+ ```
180
+
181
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
182
+
183
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
184
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
185
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
@@ -520,3 +520,45 @@ Monorepo:
520
520
  |Payment|Stripe|LemonSqueezy, Paddle|
521
521
  |Email|-|Resend, SendGrid|
522
522
  |Search|-|Algolia, Typesense|
523
+
524
+
525
+ ---
526
+
527
+
528
+
529
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
530
+
531
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
532
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
533
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
534
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
535
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
536
+
537
+ ---
538
+
539
+
540
+
541
+ **Slash command: `/review` or `/tribunal-full`**
542
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
543
+
544
+ ### ❌ Forbidden AI Tropes
545
+
546
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
547
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
548
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
549
+
550
+
551
+
552
+ Review these questions before confirming output:
553
+ ```
554
+ ✅ Did I rely ONLY on real, verified tools and methods?
555
+ ✅ Is this solution appropriately scoped to the user's constraints?
556
+ ✅ Did I handle potential failure modes and edge cases?
557
+ ✅ Have I avoided generic boilerplate that doesn't add value?
558
+ ```
559
+
560
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
561
+
562
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
563
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
564
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
@@ -35,3 +35,73 @@ allowed-tools: Read, Glob, Grep
35
35
  2. Match to appropriate template
36
36
  3. Read ONLY that template's TEMPLATE.md
37
37
  4. Follow its tech stack and structure
38
+
39
+ ---
40
+
41
+ ## 🚨 LLM Trap Table
42
+
43
+ |Pattern|What AI Does Wrong|What Is Actually Correct|
44
+ |:---|:---|:---|
45
+ |[domain-specific trap 1]|[hallucination]|[correct behavior]|
46
+ |[domain-specific trap 2]|[hallucination]|[correct behavior]|
47
+ |[domain-specific trap 3]|[hallucination]|[correct behavior]|
48
+
49
+ ---
50
+
51
+ ## ✅ Pre-Flight Self-Audit
52
+
53
+ Before producing any output, verify:
54
+ ``
55
+ ✅ Did I read the actual files before making claims about them?
56
+ ✅ Did I verify all method names against official documentation?
57
+ ✅ Did I add // VERIFY: on any uncertain API calls?
58
+ ✅ Are all imports from packages that actually exist in package.json?
59
+ ✅ Did I test my logic with edge cases (null, empty, 0, max)?
60
+ ✅ Did I avoid generating code for more than one module at a time?
61
+ ✅ Am I working from evidence, not assumption?
62
+ ``
63
+
64
+ ---
65
+
66
+ ## 🔁 VBC Protocol (Verify → Build → Confirm)
67
+
68
+ ``
69
+ VERIFY: Read the actual codebase before writing anything
70
+ BUILD: Generate the smallest meaningful unit of code
71
+ CONFIRM: Verify the output is correct before presenting
72
+ ``
73
+
74
+ ---
75
+
76
+ ## 🚨 LLM Trap Table
77
+
78
+ |Pattern|What AI Does Wrong|What Is Actually Correct|
79
+ |:---|:---|:---|
80
+ |[domain-specific trap 1]|[hallucination]|[correct behavior]|
81
+ |[domain-specific trap 2]|[hallucination]|[correct behavior]|
82
+ |[domain-specific trap 3]|[hallucination]|[correct behavior]|
83
+
84
+ ---
85
+
86
+ ## ✅ Pre-Flight Self-Audit
87
+
88
+ Before producing any output, verify:
89
+ ``
90
+ ✅ Did I read the actual files before making claims about them?
91
+ ✅ Did I verify all method names against official documentation?
92
+ ✅ Did I add // VERIFY: on any uncertain API calls?
93
+ ✅ Are all imports from packages that actually exist in package.json?
94
+ ✅ Did I test my logic with edge cases (null, empty, 0, max)?
95
+ ✅ Did I avoid generating code for more than one module at a time?
96
+ ✅ Am I working from evidence, not assumption?
97
+ ``
98
+
99
+ ---
100
+
101
+ ## 🔁 VBC Protocol (Verify → Build → Confirm)
102
+
103
+ ``
104
+ VERIFY: Read the actual codebase before writing anything
105
+ BUILD: Generate the smallest meaningful unit of code
106
+ CONFIRM: Verify the output is correct before presenting
107
+ ``
@@ -73,4 +73,4 @@ project-name/
73
73
  - Use Content Collections for type safety
74
74
  - Leverage static generation
75
75
  - Add islands only where needed
76
- - Optimize images with Astro Image
76
+ - Optimize images with Astro Image
@@ -89,4 +89,4 @@ project-name/
89
89
  - Use type-safe messaging
90
90
  - Wrap Chrome APIs in promises
91
91
  - Minimize permissions
92
- - Handle offline gracefully
92
+ - Handle offline gracefully
@@ -85,4 +85,4 @@ npm publish
85
85
  - Support both interactive and non-interactive modes
86
86
  - Use consistent output styling
87
87
  - Validate inputs with Zod
88
- - Exit with proper codes (0 success, 1 error)
88
+ - Exit with proper codes (0 success, 1 error)
@@ -85,4 +85,4 @@ project-name/
85
85
  - Type-safe IPC with typed handlers
86
86
  - Custom title bar for native feel
87
87
  - Handle window state (maximize, minimize)
88
- - Auto-updates with electron-updater
88
+ - Auto-updates with electron-updater
@@ -80,4 +80,4 @@ project-name/
80
80
  - Validate all inputs with Zod
81
81
  - Centralized error handling
82
82
  - Environment-based config
83
- - Use Prisma for type-safe DB access
83
+ - Use Prisma for type-safe DB access
@@ -87,4 +87,4 @@ project_name/
87
87
  - Riverpod for state, React Query pattern for server state
88
88
  - Freezed for immutable data classes
89
89
  - Go Router for declarative navigation
90
- - Material 3 theming
90
+ - Material 3 theming
@@ -87,4 +87,4 @@ project-name/
87
87
  - Shared configs in packages/config
88
88
  - Shared types in packages/types
89
89
  - Internal packages with `workspace:*`
90
- - Use Turbo remote caching for CI
90
+ - Use Turbo remote caching for CI
@@ -119,4 +119,4 @@ project-name/
119
119
  - **Mutations**: Use Server Actions combined with React 19's `useActionState` to handle loading and error states instead of manual useState.
120
120
  - **Type Safety**: Share Zod schemas between Server Actions (input validation) and Client Forms.
121
121
  - **Security**: Always validate input data with Zod before passing it to Prisma.
122
- - **Styling**: Use native CSS variables in Tailwind v4 for easier dynamic theming.
122
+ - **Styling**: Use native CSS variables in Tailwind v4 for easier dynamic theming.
@@ -119,4 +119,4 @@ project-name/
119
119
  7. Run project:
120
120
  ```bash
121
121
  npm run dev
122
- ```
122
+ ```
@@ -166,4 +166,4 @@ export const metadata: Metadata = {
166
166
  - **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).
167
167
  - **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).
168
168
  - **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.
169
- - **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.
169
+ - **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.