tribunal-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.agent/.shared/ui-ux-pro-max/README.md +4 -0
  2. package/.agent/ARCHITECTURE.md +75 -0
  3. package/.agent/GEMINI.md +89 -0
  4. package/.agent/agents/backend-specialist.md +178 -0
  5. package/.agent/agents/code-archaeologist.md +119 -0
  6. package/.agent/agents/database-architect.md +164 -0
  7. package/.agent/agents/debugger.md +151 -0
  8. package/.agent/agents/dependency-reviewer.md +55 -0
  9. package/.agent/agents/devops-engineer.md +175 -0
  10. package/.agent/agents/documentation-writer.md +137 -0
  11. package/.agent/agents/explorer-agent.md +142 -0
  12. package/.agent/agents/frontend-reviewer.md +80 -0
  13. package/.agent/agents/frontend-specialist.md +185 -0
  14. package/.agent/agents/game-developer.md +184 -0
  15. package/.agent/agents/logic-reviewer.md +66 -0
  16. package/.agent/agents/mobile-developer.md +152 -0
  17. package/.agent/agents/orchestrator.md +140 -0
  18. package/.agent/agents/penetration-tester.md +131 -0
  19. package/.agent/agents/performance-optimizer.md +139 -0
  20. package/.agent/agents/performance-reviewer.md +72 -0
  21. package/.agent/agents/product-manager.md +108 -0
  22. package/.agent/agents/product-owner.md +99 -0
  23. package/.agent/agents/project-planner.md +142 -0
  24. package/.agent/agents/qa-automation-engineer.md +138 -0
  25. package/.agent/agents/security-auditor.md +170 -0
  26. package/.agent/agents/seo-specialist.md +132 -0
  27. package/.agent/agents/sql-reviewer.md +73 -0
  28. package/.agent/agents/test-coverage-reviewer.md +81 -0
  29. package/.agent/agents/test-engineer.md +139 -0
  30. package/.agent/agents/type-safety-reviewer.md +65 -0
  31. package/.agent/mcp_config.json +40 -0
  32. package/.agent/rules/GEMINI.md +206 -0
  33. package/.agent/scripts/auto_preview.py +180 -0
  34. package/.agent/scripts/checklist.py +209 -0
  35. package/.agent/scripts/session_manager.py +120 -0
  36. package/.agent/scripts/verify_all.py +195 -0
  37. package/.agent/skills/api-patterns/SKILL.md +81 -0
  38. package/.agent/skills/api-patterns/api-style.md +42 -0
  39. package/.agent/skills/api-patterns/auth.md +24 -0
  40. package/.agent/skills/api-patterns/documentation.md +26 -0
  41. package/.agent/skills/api-patterns/graphql.md +41 -0
  42. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  43. package/.agent/skills/api-patterns/response.md +37 -0
  44. package/.agent/skills/api-patterns/rest.md +40 -0
  45. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  46. package/.agent/skills/api-patterns/security-testing.md +122 -0
  47. package/.agent/skills/api-patterns/trpc.md +41 -0
  48. package/.agent/skills/api-patterns/versioning.md +22 -0
  49. package/.agent/skills/app-builder/SKILL.md +75 -0
  50. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  51. package/.agent/skills/app-builder/feature-building.md +53 -0
  52. package/.agent/skills/app-builder/project-detection.md +34 -0
  53. package/.agent/skills/app-builder/scaffolding.md +118 -0
  54. package/.agent/skills/app-builder/tech-stack.md +40 -0
  55. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  56. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  57. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  58. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  59. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  60. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  61. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  62. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  63. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  64. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  65. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  66. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  67. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  68. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  69. package/.agent/skills/architecture/SKILL.md +55 -0
  70. package/.agent/skills/architecture/context-discovery.md +43 -0
  71. package/.agent/skills/architecture/examples.md +94 -0
  72. package/.agent/skills/architecture/pattern-selection.md +68 -0
  73. package/.agent/skills/architecture/patterns-reference.md +50 -0
  74. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  75. package/.agent/skills/bash-linux/SKILL.md +199 -0
  76. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  77. package/.agent/skills/brainstorming/SKILL.md +163 -0
  78. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  79. package/.agent/skills/clean-code/SKILL.md +201 -0
  80. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  81. package/.agent/skills/database-design/SKILL.md +52 -0
  82. package/.agent/skills/database-design/database-selection.md +43 -0
  83. package/.agent/skills/database-design/indexing.md +39 -0
  84. package/.agent/skills/database-design/migrations.md +48 -0
  85. package/.agent/skills/database-design/optimization.md +36 -0
  86. package/.agent/skills/database-design/orm-selection.md +30 -0
  87. package/.agent/skills/database-design/schema-design.md +56 -0
  88. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  89. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  90. package/.agent/skills/doc.md +177 -0
  91. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  92. package/.agent/skills/frontend-design/SKILL.md +418 -0
  93. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  94. package/.agent/skills/frontend-design/color-system.md +311 -0
  95. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  96. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  97. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  98. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  99. package/.agent/skills/frontend-design/typography-system.md +345 -0
  100. package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
  101. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  102. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  103. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  104. package/.agent/skills/game-development/SKILL.md +167 -0
  105. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  106. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  107. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  108. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  109. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  110. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  111. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  112. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  113. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  114. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  115. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  116. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  117. package/.agent/skills/intelligent-routing/SKILL.md +335 -0
  118. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  119. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  120. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  121. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  122. package/.agent/skills/mobile-design/SKILL.md +394 -0
  123. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  124. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  125. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  126. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  127. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  128. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  129. package/.agent/skills/mobile-design/mobile-performance.md +767 -0
  130. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  131. package/.agent/skills/mobile-design/mobile-typography.md +433 -0
  132. package/.agent/skills/mobile-design/platform-android.md +666 -0
  133. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  134. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  135. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  136. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  137. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  138. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  139. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  140. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  141. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  142. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  143. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  144. package/.agent/skills/nextjs-react-expert/SKILL.md +286 -0
  145. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  146. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  147. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  148. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  149. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  150. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  151. package/.agent/skills/plan-writing/SKILL.md +152 -0
  152. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  153. package/.agent/skills/python-patterns/SKILL.md +441 -0
  154. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  155. package/.agent/skills/rust-pro/SKILL.md +176 -0
  156. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  157. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  158. package/.agent/skills/server-management/SKILL.md +161 -0
  159. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  160. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  161. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  162. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  163. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  164. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  165. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  166. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  167. package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  168. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  169. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  170. package/.agent/workflows/brainstorm.md +100 -0
  171. package/.agent/workflows/create.md +86 -0
  172. package/.agent/workflows/debug.md +104 -0
  173. package/.agent/workflows/deploy.md +102 -0
  174. package/.agent/workflows/enhance.md +107 -0
  175. package/.agent/workflows/generate.md +100 -0
  176. package/.agent/workflows/orchestrate.md +102 -0
  177. package/.agent/workflows/plan.md +108 -0
  178. package/.agent/workflows/preview.md +81 -0
  179. package/.agent/workflows/review.md +88 -0
  180. package/.agent/workflows/status.md +69 -0
  181. package/.agent/workflows/test.md +117 -0
  182. package/.agent/workflows/tribunal-backend.md +69 -0
  183. package/.agent/workflows/tribunal-database.md +88 -0
  184. package/.agent/workflows/tribunal-frontend.md +69 -0
  185. package/.agent/workflows/tribunal-full.md +77 -0
  186. package/.agent/workflows/ui-ux-pro-max.md +153 -0
  187. package/LICENSE +21 -0
  188. package/README.md +136 -0
  189. package/bin/tribunal-kit.js +289 -0
  190. package/package.json +34 -0
@@ -0,0 +1,289 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * tribunal-kit CLI
4
+ *
5
+ * Commands:
6
+ * init — Install .agent/ into target project
7
+ * update — Re-install to get latest changes
8
+ * status — Check if .agent/ is installed
9
+ *
10
+ * Usage:
11
+ * npx tribunal-kit init
12
+ * npx tribunal-kit init --force
13
+ * npx tribunal-kit init --path ./myapp
14
+ * npx tribunal-kit init --quiet
15
+ * npx tribunal-kit init --dry-run
16
+ * tribunal-kit update
17
+ * tribunal-kit status
18
+ */
19
+
20
+ const fs = require('fs');
21
+ const path = require('path');
22
+
23
+ // ── Colors ───────────────────────────────────────────────
24
+ const C = {
25
+ reset: '\x1b[0m',
26
+ bold: '\x1b[1m',
27
+ red: '\x1b[91m',
28
+ green: '\x1b[92m',
29
+ yellow: '\x1b[93m',
30
+ cyan: '\x1b[96m',
31
+ gray: '\x1b[90m',
32
+ };
33
+
34
+ function colorize(color, text) {
35
+ return `${C[color]}${text}${C.reset}`;
36
+ }
37
+
38
+ // ── Logging ──────────────────────────────────────────────
39
+ let quiet = false;
40
+
41
+ function log(msg) { if (!quiet) console.log(msg); }
42
+ function ok(msg) { if (!quiet) console.log(` ${colorize('green', '✅')} ${msg}`); }
43
+ function warn(msg) { if (!quiet) console.log(` ${colorize('yellow', '⚠️ ')} ${msg}`); }
44
+ function err(msg) { console.error(` ${colorize('red', '❌')} ${msg}`); }
45
+ function dim(msg) { if (!quiet) console.log(` ${colorize('gray', msg)}`); }
46
+
47
+ // ── Arg Parser ───────────────────────────────────────────
48
+ function parseArgs(argv) {
49
+ const args = { command: null, flags: {} };
50
+ const raw = argv.slice(2);
51
+
52
+ // First non-flag arg is the command
53
+ for (const arg of raw) {
54
+ if (!arg.startsWith('--') && !args.command) {
55
+ args.command = arg;
56
+ continue;
57
+ }
58
+ if (arg === '--force') { args.flags.force = true; continue; }
59
+ if (arg === '--quiet') { args.flags.quiet = true; continue; }
60
+ if (arg === '--dry-run') { args.flags.dryRun = true; continue; }
61
+ if (arg.startsWith('--path=')) {
62
+ args.flags.path = arg.split('=').slice(1).join('=');
63
+ }
64
+ if (arg === '--path') {
65
+ const idx = raw.indexOf('--path');
66
+ args.flags.path = raw[idx + 1] || null;
67
+ }
68
+ if (arg.startsWith('--branch=')) {
69
+ args.flags.branch = arg.split('=').slice(1).join('=');
70
+ }
71
+ }
72
+
73
+ return args;
74
+ }
75
+
76
+ // ── File Utilities ────────────────────────────────────────
77
+ function copyDir(src, dest, dryRun = false) {
78
+ if (!dryRun) {
79
+ fs.mkdirSync(dest, { recursive: true });
80
+ }
81
+
82
+ const entries = fs.readdirSync(src, { withFileTypes: true });
83
+ let count = 0;
84
+
85
+ for (const entry of entries) {
86
+ const srcPath = path.join(src, entry.name);
87
+ const destPath = path.join(dest, entry.name);
88
+
89
+ if (entry.isDirectory()) {
90
+ count += copyDir(srcPath, destPath, dryRun);
91
+ } else {
92
+ if (!dryRun) {
93
+ fs.cpSync(srcPath, destPath, { force: true });
94
+ }
95
+ count++;
96
+ }
97
+ }
98
+
99
+ return count;
100
+ }
101
+
102
+ function countDir(dir) {
103
+ let count = 0;
104
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
105
+ for (const e of entries) {
106
+ if (e.isDirectory()) count += countDir(path.join(dir, e.name));
107
+ else count++;
108
+ }
109
+ return count;
110
+ }
111
+
112
+ // ── Kit Source Location ───────────────────────────────────
113
+ function getKitAgent() {
114
+ // When installed via npm, the .agent/ folder is next to this script's package
115
+ const kitRoot = path.resolve(__dirname, '..');
116
+ const agentDir = path.join(kitRoot, '.agent');
117
+
118
+ if (!fs.existsSync(agentDir)) {
119
+ err(`Kit .agent/ folder not found at: ${agentDir}`);
120
+ err('The package may be corrupted. Try: npm install -g tribunal-kit');
121
+ process.exit(1);
122
+ }
123
+
124
+ return agentDir;
125
+ }
126
+
127
+ // ── Banner ────────────────────────────────────────────────
128
+ function banner() {
129
+ if (quiet) return;
130
+ console.log();
131
+ console.log(colorize('cyan', colorize('bold', ' Tribunal Anti-Hallucination Agent Kit')));
132
+ console.log(colorize('gray', ' ──────────────────────────────────────'));
133
+ console.log();
134
+ }
135
+
136
+ // ── Commands ──────────────────────────────────────────────
137
+ function cmdInit(flags) {
138
+ const agentSrc = getKitAgent();
139
+ const targetDir = flags.path ? path.resolve(flags.path) : process.cwd();
140
+ const agentDest = path.join(targetDir, '.agent');
141
+ const dryRun = flags.dryRun || false;
142
+
143
+ banner();
144
+
145
+ if (dryRun) {
146
+ log(colorize('yellow', ' DRY RUN — no files will be written'));
147
+ console.log();
148
+ }
149
+
150
+ // Check target exists
151
+ if (!fs.existsSync(targetDir)) {
152
+ err(`Target directory not found: ${targetDir}`);
153
+ process.exit(1);
154
+ }
155
+
156
+ // Check if .agent already exists
157
+ if (fs.existsSync(agentDest) && !flags.force) {
158
+ warn('.agent/ already exists in this project.');
159
+ dim('Use --force to overwrite: tribunal-kit init --force');
160
+ console.log();
161
+ process.exit(0);
162
+ }
163
+
164
+ // Count what we're installing
165
+ const totalFiles = countDir(agentSrc);
166
+ dim(`Installing ${totalFiles} files → ${agentDest}`);
167
+
168
+ try {
169
+ const copied = copyDir(agentSrc, agentDest, dryRun);
170
+
171
+ console.log();
172
+ if (dryRun) {
173
+ ok(`DRY RUN complete — would install ${copied} files`);
174
+ dim(`Target: ${agentDest}`);
175
+ } else {
176
+ ok(`Installation complete — ${copied} files installed`);
177
+ dim(`Location: ${agentDest}`);
178
+ }
179
+ console.log();
180
+
181
+ if (!dryRun) {
182
+ log(colorize('bold', ' What was installed:'));
183
+ dim(` Agents: ${fs.readdirSync(path.join(agentDest, 'agents')).length} specialist agents`);
184
+ dim(` Workflows: ${fs.readdirSync(path.join(agentDest, 'workflows')).length} slash commands`);
185
+ dim(` Skills: ${fs.readdirSync(path.join(agentDest, 'skills')).length} skill modules`);
186
+ dim(` Scripts: ${fs.readdirSync(path.join(agentDest, 'scripts')).length} utility scripts`);
187
+ console.log();
188
+ log(colorize('gray', ' Your AI IDE will pick this up automatically.'));
189
+ log(colorize('gray', ' Type /generate, /review, /tribunal-full in the chat.'));
190
+ }
191
+
192
+ console.log();
193
+ } catch (e) {
194
+ err(`Failed to install: ${e.message}`);
195
+ process.exit(1);
196
+ }
197
+ }
198
+
199
+ function cmdUpdate(flags) {
200
+ // Update = init with --force
201
+ flags.force = true;
202
+ if (!quiet) {
203
+ log(colorize('cyan', ' Updating .agent/ to latest version...'));
204
+ console.log();
205
+ }
206
+ cmdInit(flags);
207
+ }
208
+
209
+ function cmdStatus(flags) {
210
+ const targetDir = flags.path ? path.resolve(flags.path) : process.cwd();
211
+ const agentDest = path.join(targetDir, '.agent');
212
+
213
+ banner();
214
+
215
+ if (!fs.existsSync(agentDest)) {
216
+ log(` ${colorize('red', '🔴')} Not installed in: ${targetDir}`);
217
+ console.log();
218
+ dim('Run: tribunal-kit init');
219
+ console.log();
220
+ return;
221
+ }
222
+
223
+ log(` ${colorize('green', '🟢')} Installed at: ${agentDest}`);
224
+ console.log();
225
+
226
+ const subdirs = ['agents', 'workflows', 'skills', 'scripts'];
227
+ for (const sub of subdirs) {
228
+ const subPath = path.join(agentDest, sub);
229
+ if (fs.existsSync(subPath)) {
230
+ const count = fs.readdirSync(subPath).filter(f => !fs.statSync(path.join(subPath, f)).isDirectory()).length;
231
+ dim(` ${sub.padEnd(12)} ${count} files`);
232
+ }
233
+ }
234
+ console.log();
235
+ }
236
+
237
+ function cmdHelp() {
238
+ banner();
239
+ console.log(colorize('bold', ' Commands:'));
240
+ console.log();
241
+ console.log(` ${colorize('cyan', 'init')} Install .agent/ into current project`);
242
+ console.log(` ${colorize('cyan', 'update')} Re-install to get latest version`);
243
+ console.log(` ${colorize('cyan', 'status')} Check if .agent/ is installed`);
244
+ console.log();
245
+ console.log(colorize('bold', ' Options:'));
246
+ console.log();
247
+ console.log(` ${colorize('gray', '--force')} Overwrite existing .agent/ folder`);
248
+ console.log(` ${colorize('gray', '--path <dir>')} Install in specific directory`);
249
+ console.log(` ${colorize('gray', '--quiet')} Suppress all output`);
250
+ console.log(` ${colorize('gray', '--dry-run')} Preview actions without executing`);
251
+ console.log();
252
+ console.log(colorize('bold', ' Examples:'));
253
+ console.log();
254
+ console.log(` ${colorize('gray', 'npx tribunal-kit init')}`);
255
+ console.log(` ${colorize('gray', 'npx tribunal-kit init --force')}`);
256
+ console.log(` ${colorize('gray', 'npx tribunal-kit init --path ./my-app')}`);
257
+ console.log(` ${colorize('gray', 'npx tribunal-kit init --dry-run')}`);
258
+ console.log(` ${colorize('gray', 'npx tribunal-kit update')}`);
259
+ console.log(` ${colorize('gray', 'npx tribunal-kit status')}`);
260
+ console.log();
261
+ }
262
+
263
+ // ── Main ──────────────────────────────────────────────────
264
+ const { command, flags } = parseArgs(process.argv);
265
+
266
+ if (flags.quiet) quiet = true;
267
+
268
+ switch (command) {
269
+ case 'init':
270
+ cmdInit(flags);
271
+ break;
272
+ case 'update':
273
+ cmdUpdate(flags);
274
+ break;
275
+ case 'status':
276
+ cmdStatus(flags);
277
+ break;
278
+ case 'help':
279
+ case '--help':
280
+ case '-h':
281
+ case null:
282
+ cmdHelp();
283
+ break;
284
+ default:
285
+ err(`Unknown command: "${command}"`);
286
+ console.log();
287
+ dim('Run tribunal-kit --help for usage');
288
+ process.exit(1);
289
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "tribunal-kit",
3
+ "version": "1.0.0",
4
+ "description": "Anti-Hallucination AI Agent Kit — 27 specialist agents, 17 slash commands, and Tribunal review pipeline for Cursor, Windsurf, and Antigravity.",
5
+ "keywords": [
6
+ "ai",
7
+ "agent",
8
+ "hallucination",
9
+ "cursor",
10
+ "windsurf",
11
+ "antigravity",
12
+ "tribunal",
13
+ "code-review",
14
+ "llm"
15
+ ],
16
+ "homepage": "https://github.com/your-username/tribunal-kit",
17
+ "license": "MIT",
18
+ "bin": {
19
+ "tribunal-kit": "./bin/tribunal-kit.js",
20
+ "tk": "./bin/tribunal-kit.js"
21
+ },
22
+ "files": [
23
+ "bin/",
24
+ ".agent/",
25
+ "README.md",
26
+ "LICENSE"
27
+ ],
28
+ "engines": {
29
+ "node": ">=18.0.0"
30
+ },
31
+ "scripts": {
32
+ "test": "echo \"No tests for CLI\" && exit 0"
33
+ }
34
+ }