tribunal-kit 4.2.0 โ†’ 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 (182) hide show
  1. package/.agent/ARCHITECTURE.md +21 -14
  2. package/.agent/agents/swarm-worker-contracts.md +5 -5
  3. package/.agent/agents/ui-ux-auditor.md +292 -0
  4. package/.agent/rules/GEMINI.md +8 -8
  5. package/.agent/scripts/__pycache__/_colors.cpython-311.pyc +0 -0
  6. package/.agent/scripts/__pycache__/_utils.cpython-311.pyc +0 -0
  7. package/.agent/scripts/__pycache__/case_law_manager.cpython-311.pyc +0 -0
  8. package/.agent/scripts/_colors.js +18 -0
  9. package/.agent/scripts/_utils.js +42 -0
  10. package/.agent/scripts/auto_preview.js +197 -0
  11. package/.agent/scripts/bundle_analyzer.js +290 -0
  12. package/.agent/scripts/case_law_manager.js +684 -0
  13. package/.agent/scripts/checklist.js +266 -0
  14. package/.agent/scripts/colors.js +17 -0
  15. package/.agent/scripts/compress_skills.js +141 -0
  16. package/.agent/scripts/consolidate_skills.js +149 -0
  17. package/.agent/scripts/context_broker.js +609 -0
  18. package/.agent/scripts/deep_compress.js +150 -0
  19. package/.agent/scripts/dependency_analyzer.js +272 -0
  20. package/.agent/scripts/inner_loop_validator.js +465 -0
  21. package/.agent/scripts/lint_runner.js +187 -0
  22. package/.agent/scripts/minify_context.js +100 -0
  23. package/.agent/scripts/patch_skills_meta.js +156 -0
  24. package/.agent/scripts/patch_skills_output.js +244 -0
  25. package/.agent/scripts/schema_validator.js +297 -0
  26. package/.agent/scripts/security_scan.js +303 -0
  27. package/.agent/scripts/session_manager.js +276 -0
  28. package/.agent/scripts/skill_evolution.js +644 -0
  29. package/.agent/scripts/skill_integrator.js +313 -0
  30. package/.agent/scripts/strengthen_skills.js +193 -0
  31. package/.agent/scripts/strip_tribunal.js +47 -0
  32. package/.agent/scripts/swarm_dispatcher.js +360 -0
  33. package/.agent/scripts/test_runner.js +193 -0
  34. package/.agent/scripts/utils.js +32 -0
  35. package/.agent/scripts/verify_all.js +256 -0
  36. package/.agent/skills/agent-organizer/SKILL.md +3 -3
  37. package/.agent/skills/agentic-patterns/SKILL.md +3 -3
  38. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +3 -3
  39. package/.agent/skills/api-patterns/SKILL.md +3 -3
  40. package/.agent/skills/api-security-auditor/SKILL.md +3 -3
  41. package/.agent/skills/app-builder/SKILL.md +3 -3
  42. package/.agent/skills/app-builder/templates/SKILL.md +1 -1
  43. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +1 -1
  44. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
  45. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +1 -1
  46. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
  47. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +1 -1
  48. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +1 -1
  49. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +1 -1
  50. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +1 -1
  51. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +1 -1
  52. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +1 -1
  53. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +1 -1
  54. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +1 -1
  55. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +1 -1
  56. package/.agent/skills/appflow-wireframe/SKILL.md +3 -3
  57. package/.agent/skills/architecture/SKILL.md +3 -3
  58. package/.agent/skills/authentication-best-practices/SKILL.md +3 -3
  59. package/.agent/skills/bash-linux/SKILL.md +3 -3
  60. package/.agent/skills/behavioral-modes/SKILL.md +3 -3
  61. package/.agent/skills/brainstorming/SKILL.md +3 -3
  62. package/.agent/skills/building-native-ui/SKILL.md +3 -3
  63. package/.agent/skills/clean-code/SKILL.md +3 -3
  64. package/.agent/skills/code-review-checklist/SKILL.md +3 -3
  65. package/.agent/skills/config-validator/SKILL.md +3 -3
  66. package/.agent/skills/csharp-developer/SKILL.md +3 -3
  67. package/.agent/skills/data-validation-schemas/SKILL.md +3 -3
  68. package/.agent/skills/database-design/SKILL.md +3 -3
  69. package/.agent/skills/deployment-procedures/SKILL.md +3 -3
  70. package/.agent/skills/devops-engineer/SKILL.md +3 -3
  71. package/.agent/skills/devops-incident-responder/SKILL.md +3 -3
  72. package/.agent/skills/doc.md +1 -1
  73. package/.agent/skills/documentation-templates/SKILL.md +3 -3
  74. package/.agent/skills/edge-computing/SKILL.md +3 -3
  75. package/.agent/skills/error-resilience/SKILL.md +3 -3
  76. package/.agent/skills/extract-design-system/SKILL.md +3 -3
  77. package/.agent/skills/framer-motion-expert/SKILL.md +3 -4
  78. package/.agent/skills/frontend-design/SKILL.md +3 -3
  79. package/.agent/skills/game-design-expert/SKILL.md +3 -3
  80. package/.agent/skills/game-engineering-expert/SKILL.md +3 -3
  81. package/.agent/skills/geo-fundamentals/SKILL.md +3 -3
  82. package/.agent/skills/github-operations/SKILL.md +3 -3
  83. package/.agent/skills/gsap-core/SKILL.md +0 -2
  84. package/.agent/skills/gsap-frameworks/SKILL.md +0 -2
  85. package/.agent/skills/gsap-performance/SKILL.md +0 -2
  86. package/.agent/skills/gsap-plugins/SKILL.md +0 -2
  87. package/.agent/skills/gsap-react/SKILL.md +0 -2
  88. package/.agent/skills/gsap-scrolltrigger/SKILL.md +0 -2
  89. package/.agent/skills/gsap-timeline/SKILL.md +0 -2
  90. package/.agent/skills/gsap-utils/SKILL.md +0 -2
  91. package/.agent/skills/i18n-localization/SKILL.md +3 -3
  92. package/.agent/skills/intelligent-routing/SKILL.md +3 -3
  93. package/.agent/skills/lint-and-validate/SKILL.md +3 -3
  94. package/.agent/skills/llm-engineering/SKILL.md +3 -3
  95. package/.agent/skills/local-first/SKILL.md +3 -3
  96. package/.agent/skills/mcp-builder/SKILL.md +3 -3
  97. package/.agent/skills/mobile-design/SKILL.md +3 -3
  98. package/.agent/skills/monorepo-management/SKILL.md +3 -3
  99. package/.agent/skills/motion-engineering/SKILL.md +4 -4
  100. package/.agent/skills/nextjs-react-expert/SKILL.md +3 -3
  101. package/.agent/skills/nodejs-best-practices/SKILL.md +3 -3
  102. package/.agent/skills/observability/SKILL.md +3 -3
  103. package/.agent/skills/parallel-agents/SKILL.md +3 -3
  104. package/.agent/skills/performance-profiling/SKILL.md +3 -3
  105. package/.agent/skills/plan-writing/SKILL.md +3 -3
  106. package/.agent/skills/platform-engineer/SKILL.md +3 -3
  107. package/.agent/skills/playwright-best-practices/SKILL.md +3 -3
  108. package/.agent/skills/powershell-windows/SKILL.md +3 -3
  109. package/.agent/skills/project-idioms/SKILL.md +3 -3
  110. package/.agent/skills/python-patterns/SKILL.md +3 -3
  111. package/.agent/skills/python-pro/SKILL.md +3 -3
  112. package/.agent/skills/react-specialist/SKILL.md +3 -3
  113. package/.agent/skills/readme-builder/SKILL.md +3 -3
  114. package/.agent/skills/realtime-patterns/SKILL.md +3 -3
  115. package/.agent/skills/red-team-tactics/SKILL.md +3 -3
  116. package/.agent/skills/rust-pro/SKILL.md +3 -3
  117. package/.agent/skills/seo-fundamentals/SKILL.md +3 -3
  118. package/.agent/skills/server-management/SKILL.md +3 -3
  119. package/.agent/skills/shadcn-ui-expert/SKILL.md +3 -3
  120. package/.agent/skills/skill-creator/SKILL.md +3 -3
  121. package/.agent/skills/sql-pro/SKILL.md +3 -3
  122. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +3 -3
  123. package/.agent/skills/swiftui-expert/SKILL.md +3 -3
  124. package/.agent/skills/systematic-debugging/SKILL.md +3 -3
  125. package/.agent/skills/tailwind-patterns/SKILL.md +3 -3
  126. package/.agent/skills/tdd-workflow/SKILL.md +3 -3
  127. package/.agent/skills/test-result-analyzer/SKILL.md +3 -3
  128. package/.agent/skills/testing-patterns/SKILL.md +3 -3
  129. package/.agent/skills/trend-researcher/SKILL.md +3 -3
  130. package/.agent/skills/typescript-advanced/SKILL.md +3 -3
  131. package/.agent/skills/ui-ux-pro-max/SKILL.md +3 -3
  132. package/.agent/skills/ui-ux-researcher/SKILL.md +3 -3
  133. package/.agent/skills/vue-expert/SKILL.md +3 -3
  134. package/.agent/skills/vulnerability-scanner/SKILL.md +3 -3
  135. package/.agent/skills/web-accessibility-auditor/SKILL.md +3 -3
  136. package/.agent/skills/web-design-guidelines/SKILL.md +3 -3
  137. package/.agent/skills/webapp-testing/SKILL.md +3 -3
  138. package/.agent/skills/whimsy-injector/SKILL.md +3 -3
  139. package/.agent/skills/workflow-optimizer/SKILL.md +3 -3
  140. package/.agent/workflows/audit.md +6 -6
  141. package/.agent/workflows/deploy.md +1 -1
  142. package/.agent/workflows/generate.md +23 -6
  143. package/.agent/workflows/session.md +5 -5
  144. package/.agent/workflows/swarm.md +2 -2
  145. package/README.md +64 -8
  146. package/bin/tribunal-kit.js +277 -45
  147. package/package.json +9 -6
  148. package/scripts/changelog.js +167 -0
  149. package/scripts/sync-version.js +81 -0
  150. package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
  151. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  152. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  153. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  154. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  155. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  156. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  157. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  158. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  159. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  160. package/.agent/scripts/auto_preview.py +0 -180
  161. package/.agent/scripts/bundle_analyzer.py +0 -259
  162. package/.agent/scripts/case_law_manager.py +0 -755
  163. package/.agent/scripts/checklist.py +0 -209
  164. package/.agent/scripts/compress_skills.py +0 -167
  165. package/.agent/scripts/consolidate_skills.py +0 -173
  166. package/.agent/scripts/deep_compress.py +0 -202
  167. package/.agent/scripts/dependency_analyzer.py +0 -247
  168. package/.agent/scripts/lint_runner.py +0 -188
  169. package/.agent/scripts/minify_context.py +0 -80
  170. package/.agent/scripts/patch_skills_meta.py +0 -177
  171. package/.agent/scripts/patch_skills_output.py +0 -285
  172. package/.agent/scripts/schema_validator.py +0 -279
  173. package/.agent/scripts/security_scan.py +0 -224
  174. package/.agent/scripts/session_manager.py +0 -261
  175. package/.agent/scripts/skill_evolution.py +0 -563
  176. package/.agent/scripts/skill_integrator.py +0 -234
  177. package/.agent/scripts/strengthen_skills.py +0 -220
  178. package/.agent/scripts/strip_tribunal.py +0 -41
  179. package/.agent/scripts/swarm_dispatcher.py +0 -350
  180. package/.agent/scripts/test_runner.py +0 -192
  181. package/.agent/scripts/test_swarm_dispatcher.py +0 -163
  182. package/.agent/scripts/verify_all.py +0 -195
@@ -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
+ }
@@ -102,7 +102,7 @@ Automation without oversight is reckless. The Organizer manages when to pause an
102
102
 
103
103
  ---
104
104
 
105
- ## ๐Ÿค– LLM-Specific Traps
105
+
106
106
 
107
107
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
108
108
 
@@ -114,7 +114,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
114
114
 
115
115
  ---
116
116
 
117
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
117
+
118
118
 
119
119
  **Slash command: `/review` or `/tribunal-full`**
120
120
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -125,7 +125,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
125
125
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
126
126
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
127
127
 
128
- ### โœ… Pre-Flight Self-Audit
128
+
129
129
 
130
130
  Review these questions before confirming output:
131
131
  ```
@@ -267,7 +267,7 @@ Evidence: [link to terminal output, test result, or file diff]
267
267
 
268
268
  ---
269
269
 
270
- ## ๐Ÿค– LLM-Specific Traps
270
+
271
271
 
272
272
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
273
273
 
@@ -279,7 +279,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
279
279
 
280
280
  ---
281
281
 
282
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
282
+
283
283
 
284
284
  **Slash command: `/review` or `/tribunal-full`**
285
285
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -290,7 +290,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
290
290
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
291
291
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
292
292
 
293
- ### โœ… Pre-Flight Self-Audit
293
+
294
294
 
295
295
  Review these questions before confirming output:
296
296
  ```
@@ -136,7 +136,7 @@ Many injections occur because the LLM includes malicious data in its output, whi
136
136
 
137
137
  ---
138
138
 
139
- ## ๐Ÿค– LLM-Specific Traps
139
+
140
140
 
141
141
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
142
142
 
@@ -148,7 +148,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
148
148
 
149
149
  ---
150
150
 
151
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
151
+
152
152
 
153
153
  **Slash command: `/review` or `/tribunal-full`**
154
154
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -159,7 +159,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
159
159
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
160
160
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
161
161
 
162
- ### โœ… Pre-Flight Self-Audit
162
+
163
163
 
164
164
  Review these questions before confirming output:
165
165
  ```
@@ -199,7 +199,7 @@ Protect against:
199
199
 
200
200
  ---
201
201
 
202
- ## ๐Ÿค– LLM-Specific Traps
202
+
203
203
 
204
204
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
205
205
 
@@ -211,7 +211,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
211
211
 
212
212
  ---
213
213
 
214
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
214
+
215
215
 
216
216
  **Slash command: `/review` or `/tribunal-full`**
217
217
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -222,7 +222,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
222
222
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
223
223
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
224
224
 
225
- ### โœ… Pre-Flight Self-Audit
225
+
226
226
 
227
227
  Review these questions before confirming output:
228
228
  ```
@@ -145,7 +145,7 @@ const server = new ApolloServer({
145
145
 
146
146
  ---
147
147
 
148
- ## ๐Ÿค– LLM-Specific Traps
148
+
149
149
 
150
150
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
151
151
 
@@ -157,7 +157,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
157
157
 
158
158
  ---
159
159
 
160
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
160
+
161
161
 
162
162
  **Slash command: `/review` or `/tribunal-full`**
163
163
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -168,7 +168,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
168
168
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
169
169
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
170
170
 
171
- ### โœ… Pre-Flight Self-Audit
171
+
172
172
 
173
173
  Review these questions before confirming output:
174
174
  ```
@@ -524,7 +524,7 @@ Monorepo:
524
524
 
525
525
  ---
526
526
 
527
- ## ๐Ÿค– LLM-Specific Traps
527
+
528
528
 
529
529
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
530
530
 
@@ -536,7 +536,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
536
536
 
537
537
  ---
538
538
 
539
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
539
+
540
540
 
541
541
  **Slash command: `/review` or `/tribunal-full`**
542
542
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -547,7 +547,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
547
547
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
548
548
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
549
549
 
550
- ### โœ… Pre-Flight Self-Audit
550
+
551
551
 
552
552
  Review these questions before confirming output:
553
553
  ```
@@ -104,4 +104,4 @@ Before producing any output, verify:
104
104
  VERIFY: Read the actual codebase before writing anything
105
105
  BUILD: Generate the smallest meaningful unit of code
106
106
  CONFIRM: Verify the output is correct before presenting
107
- ``
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:`.
@@ -131,4 +131,4 @@ project-name/
131
131
  ```
132
132
  - **Data Fetching**: Sแปญ dแปฅng `useFetch` vแป›i `server: false` cho cรกc tรกc vแปฅ client-only, hoแบทc dรนng Server Functions ฤ‘แปƒ type-safety tแป‘t hฦกn.
133
133
  - **State**: Dรนng `defineStore` (Pinia) cho global state, `useState` cแปงa Nuxt cho state ฤ‘ฦกn giแบฃn chia sแบป giแปฏa Server/Client.
134
- - **Type Safety**: Tแปฑ ฤ‘แป™ng tแบกo type cho API routes (`$fetch` typed automatically).
134
+ - **Type Safety**: Tแปฑ ฤ‘แป™ng tแบกo type cho API routes (`$fetch` typed automatically).
@@ -80,4 +80,4 @@ project-name/
80
80
  - Pydantic v2 for validation
81
81
  - SQLAlchemy 2.0 async sessions
82
82
  - Alembic for migrations
83
- - pytest-asyncio for tests
83
+ - pytest-asyncio for tests
@@ -116,4 +116,4 @@ project-name/
116
116
  - **React 19**: Reduce usage of `useMemo` or `useCallback` thanks to React Compiler (if enabled).
117
117
  - **Components**: Build UI primitives (Box, Text) with NativeWind className for reusability.
118
118
  - **Assets**: Use `expo-image` instead of default `<Image />` for better caching and performance.
119
- - **API**: Always wrap API calls with TanStack Query, avoid direct calls in `useEffect`.
119
+ - **API**: Always wrap API calls with TanStack Query, avoid direct calls in `useEffect`.
@@ -97,7 +97,7 @@ Before writing React, chart exactly what the user can do on the screen and what
97
97
 
98
98
  ---
99
99
 
100
- ## ๐Ÿค– LLM-Specific Traps
100
+
101
101
 
102
102
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
103
103
 
@@ -109,7 +109,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
109
109
 
110
110
  ---
111
111
 
112
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
112
+
113
113
 
114
114
  **Slash command: `/review` or `/tribunal-full`**
115
115
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -120,7 +120,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
120
120
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
121
121
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
122
122
 
123
- ### โœ… Pre-Flight Self-Audit
123
+
124
124
 
125
125
  Review these questions before confirming output:
126
126
  ```
@@ -171,7 +171,7 @@ Framework: Next.js API NestJS Microservices
171
171
 
172
172
  ---
173
173
 
174
- ## ๐Ÿค– LLM-Specific Traps
174
+
175
175
 
176
176
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
177
177
 
@@ -183,7 +183,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
183
183
 
184
184
  ---
185
185
 
186
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
186
+
187
187
 
188
188
  **Slash command: `/review` or `/tribunal-full`**
189
189
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -194,7 +194,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
194
194
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
195
195
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
196
196
 
197
- ### โœ… Pre-Flight Self-Audit
197
+
198
198
 
199
199
  Review these questions before confirming output:
200
200
  ```
@@ -141,7 +141,7 @@ function canEditPost(user: User, post: Post): boolean {
141
141
 
142
142
  ---
143
143
 
144
- ## ๐Ÿค– LLM-Specific Traps
144
+
145
145
 
146
146
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
147
147
 
@@ -153,7 +153,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
153
153
 
154
154
  ---
155
155
 
156
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
156
+
157
157
 
158
158
  **Slash command: `/review` or `/tribunal-full`**
159
159
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -164,7 +164,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
164
164
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
165
165
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
166
166
 
167
- ### โœ… Pre-Flight Self-Audit
167
+
168
168
 
169
169
  Review these questions before confirming output:
170
170
  ```
@@ -131,7 +131,7 @@ done
131
131
 
132
132
  ---
133
133
 
134
- ## ๐Ÿค– LLM-Specific Traps
134
+
135
135
 
136
136
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
137
137
 
@@ -143,7 +143,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
143
143
 
144
144
  ---
145
145
 
146
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
146
+
147
147
 
148
148
  **Slash command: `/review` or `/tribunal-full`**
149
149
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -154,7 +154,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
154
154
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
155
155
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
156
156
 
157
- ### โœ… Pre-Flight Self-Audit
157
+
158
158
 
159
159
  Review these questions before confirming output:
160
160
  ```
@@ -175,7 +175,7 @@ Pre-Flight: โœ… All checks passed
175
175
 
176
176
  ---
177
177
 
178
- ## ๐Ÿค– LLM-Specific Traps
178
+
179
179
 
180
180
  AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
181
181
 
@@ -187,7 +187,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
187
187
 
188
188
  ---
189
189
 
190
- ## ๐Ÿ›๏ธ Tribunal Integration (Anti-Hallucination)
190
+
191
191
 
192
192
  **Slash command: `/review` or `/tribunal-full`**
193
193
  **Active reviewers: `logic-reviewer` ยท `security-auditor`**
@@ -198,7 +198,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
198
198
  2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
199
199
  3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
200
200
 
201
- ### โœ… Pre-Flight Self-Audit
201
+
202
202
 
203
203
  Review these questions before confirming output:
204
204
  ```