@ekkos/cli 1.3.2 → 1.3.6

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 (123) hide show
  1. package/dist/capture/jsonl-rewriter.d.ts +1 -1
  2. package/dist/capture/jsonl-rewriter.js +3 -3
  3. package/dist/capture/transcript-repair.d.ts +2 -2
  4. package/dist/capture/transcript-repair.js +2 -2
  5. package/dist/commands/claw.d.ts +13 -0
  6. package/dist/commands/claw.js +253 -0
  7. package/dist/commands/dashboard.js +617 -83
  8. package/dist/commands/doctor.d.ts +3 -3
  9. package/dist/commands/doctor.js +6 -79
  10. package/dist/commands/gemini.d.ts +19 -0
  11. package/dist/commands/gemini.js +193 -0
  12. package/dist/commands/init.js +2 -25
  13. package/dist/commands/run.d.ts +0 -1
  14. package/dist/commands/run.js +147 -241
  15. package/dist/commands/scan.d.ts +21 -0
  16. package/dist/commands/scan.js +386 -0
  17. package/dist/commands/swarm-dashboard.js +156 -28
  18. package/dist/commands/swarm.d.ts +1 -1
  19. package/dist/commands/swarm.js +1 -1
  20. package/dist/commands/test-claude.d.ts +2 -2
  21. package/dist/commands/test-claude.js +3 -3
  22. package/dist/deploy/index.d.ts +0 -2
  23. package/dist/deploy/index.js +0 -2
  24. package/dist/deploy/settings.d.ts +2 -2
  25. package/dist/deploy/settings.js +42 -4
  26. package/dist/deploy/skills.js +1 -2
  27. package/dist/index.js +79 -19
  28. package/dist/lib/usage-parser.js +5 -4
  29. package/dist/utils/proxy-url.d.ts +12 -1
  30. package/dist/utils/proxy-url.js +16 -1
  31. package/dist/utils/templates.js +1 -1
  32. package/package.json +4 -6
  33. package/templates/CLAUDE.md +49 -107
  34. package/dist/agent/daemon.d.ts +0 -130
  35. package/dist/agent/daemon.js +0 -606
  36. package/dist/agent/health-check.d.ts +0 -35
  37. package/dist/agent/health-check.js +0 -243
  38. package/dist/agent/pty-runner.d.ts +0 -53
  39. package/dist/agent/pty-runner.js +0 -190
  40. package/dist/commands/agent.d.ts +0 -50
  41. package/dist/commands/agent.js +0 -544
  42. package/dist/commands/setup-remote.d.ts +0 -20
  43. package/dist/commands/setup-remote.js +0 -582
  44. package/dist/commands/synk.d.ts +0 -7
  45. package/dist/commands/synk.js +0 -339
  46. package/dist/cron/index.d.ts +0 -7
  47. package/dist/cron/index.js +0 -13
  48. package/dist/cron/promoter.d.ts +0 -70
  49. package/dist/cron/promoter.js +0 -403
  50. package/dist/synk/api.d.ts +0 -22
  51. package/dist/synk/api.js +0 -133
  52. package/dist/synk/auth.d.ts +0 -7
  53. package/dist/synk/auth.js +0 -30
  54. package/dist/synk/config.d.ts +0 -18
  55. package/dist/synk/config.js +0 -37
  56. package/dist/synk/daemon/control-client.d.ts +0 -11
  57. package/dist/synk/daemon/control-client.js +0 -101
  58. package/dist/synk/daemon/control-server.d.ts +0 -24
  59. package/dist/synk/daemon/control-server.js +0 -91
  60. package/dist/synk/daemon/run.d.ts +0 -14
  61. package/dist/synk/daemon/run.js +0 -338
  62. package/dist/synk/encryption.d.ts +0 -17
  63. package/dist/synk/encryption.js +0 -133
  64. package/dist/synk/index.d.ts +0 -13
  65. package/dist/synk/index.js +0 -36
  66. package/dist/synk/machine-client.d.ts +0 -42
  67. package/dist/synk/machine-client.js +0 -218
  68. package/dist/synk/persistence.d.ts +0 -51
  69. package/dist/synk/persistence.js +0 -211
  70. package/dist/synk/qr.d.ts +0 -5
  71. package/dist/synk/qr.js +0 -33
  72. package/dist/synk/session-bridge.d.ts +0 -58
  73. package/dist/synk/session-bridge.js +0 -171
  74. package/dist/synk/session-client.d.ts +0 -46
  75. package/dist/synk/session-client.js +0 -240
  76. package/dist/synk/types.d.ts +0 -574
  77. package/dist/synk/types.js +0 -74
  78. package/dist/utils/verify-remote-terminal.d.ts +0 -10
  79. package/dist/utils/verify-remote-terminal.js +0 -415
  80. package/templates/README.md +0 -378
  81. package/templates/claude-plugins/PHASE2_COMPLETION.md +0 -346
  82. package/templates/claude-plugins/PLUGIN_PROPOSALS.md +0 -1776
  83. package/templates/claude-plugins/README.md +0 -587
  84. package/templates/claude-plugins/agents/code-reviewer.json +0 -14
  85. package/templates/claude-plugins/agents/debug-detective.json +0 -15
  86. package/templates/claude-plugins/agents/git-companion.json +0 -14
  87. package/templates/claude-plugins/blog-manager/.claude-plugin/plugin.json +0 -8
  88. package/templates/claude-plugins/blog-manager/commands/blog.md +0 -691
  89. package/templates/claude-plugins/golden-loop-monitor/.claude-plugin/plugin.json +0 -8
  90. package/templates/claude-plugins/golden-loop-monitor/commands/loop-status.md +0 -434
  91. package/templates/claude-plugins/learning-tracker/.claude-plugin/plugin.json +0 -8
  92. package/templates/claude-plugins/learning-tracker/commands/my-patterns.md +0 -282
  93. package/templates/claude-plugins/memory-lens/.claude-plugin/plugin.json +0 -8
  94. package/templates/claude-plugins/memory-lens/commands/memory-search.md +0 -181
  95. package/templates/claude-plugins/pattern-coach/.claude-plugin/plugin.json +0 -8
  96. package/templates/claude-plugins/pattern-coach/commands/forge.md +0 -365
  97. package/templates/claude-plugins/project-schema-validator/.claude-plugin/plugin.json +0 -8
  98. package/templates/claude-plugins/project-schema-validator/commands/validate-schema.md +0 -582
  99. package/templates/commands/continue.md +0 -47
  100. package/templates/cursor-rules/ekkos-memory.md +0 -127
  101. package/templates/ekkos-manifest.json +0 -223
  102. package/templates/helpers/json-parse.cjs +0 -101
  103. package/templates/plan-template.md +0 -306
  104. package/templates/shared/hooks-enabled.json +0 -22
  105. package/templates/shared/session-words.json +0 -45
  106. package/templates/skills/ekkOS_Deep_Recall/Skill.md +0 -282
  107. package/templates/skills/ekkOS_Learn/Skill.md +0 -265
  108. package/templates/skills/ekkOS_Memory_First/Skill.md +0 -206
  109. package/templates/skills/ekkOS_Plan_Assist/Skill.md +0 -302
  110. package/templates/skills/ekkOS_Preferences/Skill.md +0 -247
  111. package/templates/skills/ekkOS_Reflect/Skill.md +0 -257
  112. package/templates/skills/ekkOS_Safety/Skill.md +0 -265
  113. package/templates/skills/ekkOS_Schema/Skill.md +0 -251
  114. package/templates/skills/ekkOS_Summary/Skill.md +0 -257
  115. package/templates/spec-template.md +0 -159
  116. package/templates/windsurf-rules/ekkos-memory.md +0 -127
  117. package/templates/windsurf-skills/README.md +0 -58
  118. package/templates/windsurf-skills/ekkos-continue/SKILL.md +0 -81
  119. package/templates/windsurf-skills/ekkos-golden-loop/SKILL.md +0 -225
  120. package/templates/windsurf-skills/ekkos-insights/SKILL.md +0 -138
  121. package/templates/windsurf-skills/ekkos-recall/SKILL.md +0 -96
  122. package/templates/windsurf-skills/ekkos-safety/SKILL.md +0 -89
  123. package/templates/windsurf-skills/ekkos-vault/SKILL.md +0 -86
@@ -1,582 +0,0 @@
1
- # Validate Schema
2
-
3
- Validate database schemas and type definitions in YOUR project. Catch field name mismatches, type errors, and schema drift before they cause runtime errors.
4
-
5
- ## Overview
6
-
7
- This plugin helps you validate schemas in YOUR codebase:
8
- - TypeScript type definitions
9
- - Prisma schema files
10
- - GraphQL schemas
11
- - Supabase database types
12
- - JSON Schema definitions
13
- - API response types
14
-
15
- **This is NOT for validating ekkOS's internal database** - it's for YOUR projects!
16
-
17
- ## What it does
18
-
19
- 1. **Indexes your project schemas** - Finds all schema files (*.d.ts, schema.prisma, *.graphql)
20
- 2. **Validates field names** - Checks for mismatches across your code
21
- 3. **Detects schema drift** - Compares database schema to TypeScript types
22
- 4. **Catches type errors** - Finds common type mistakes before runtime
23
- 5. **Suggests fixes** - Provides actionable corrections
24
- 6. **Remembers schema** - Stores in ekkOS for future reference
25
-
26
- ## Usage
27
-
28
- ```bash
29
- # Index all schemas in current project
30
- /validate-schema
31
-
32
- # Index specific schema file
33
- /validate-schema --file prisma/schema.prisma
34
-
35
- # Check a specific table/type
36
- /validate-schema users
37
-
38
- # Compare database to TypeScript types
39
- /validate-schema --compare
40
-
41
- # Show indexed schemas
42
- /validate-schema --show
43
- ```
44
-
45
- ## Example - First Time Setup
46
-
47
- ```
48
- User: /validate-schema
49
-
50
- 🔍 Project Schema Validator
51
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
52
-
53
- Scanning project for schema files...
54
-
55
- ✅ Found Schema Files:
56
-
57
- 1. TypeScript Types
58
- • packages/database-types/index.ts (2,450 lines)
59
- • src/types/api.d.ts (320 lines)
60
- • src/models/user.ts (150 lines)
61
-
62
- 2. Prisma Schema
63
- • prisma/schema.prisma (18 models, 150 fields)
64
-
65
- 3. GraphQL Schema
66
- • schema.graphql (12 types, 85 fields)
67
-
68
- 4. Supabase Generated Types
69
- • supabase/types.ts (auto-generated from database)
70
-
71
- ───────────────────────────────────────────────────────────────────
72
- 📊 Indexing Schemas...
73
-
74
- Processing TypeScript types...
75
- ✅ Indexed 47 interfaces, 23 types, 12 enums
76
-
77
- Processing Prisma schema...
78
- ✅ Indexed 18 models with 150 fields
79
-
80
- Processing GraphQL schema...
81
- ✅ Indexed 12 types with 85 fields
82
-
83
- ───────────────────────────────────────────────────────────────────
84
- 🎯 Schema Index Complete!
85
-
86
- Total schemas indexed: 4 files
87
- Total types/models: 77
88
- Total fields: 335
89
-
90
- Stored in ekkOS Layer 8 (Codebase) for future queries.
91
-
92
- ───────────────────────────────────────────────────────────────────
93
- ✅ Validation Results: HEALTHY
94
-
95
- No critical issues found!
96
-
97
- ⚠️ Minor Warnings (2):
98
-
99
- 1. Field name inconsistency
100
- Location: src/api/users.ts:42
101
- Issue: Using `user.username` but schema has `user.userName` (camelCase)
102
- Fix: Change to `user.userName`
103
-
104
- 2. Optional field not checked
105
- Location: src/components/UserCard.tsx:18
106
- Issue: Accessing `user.bio` without null check
107
- Schema: `bio` is optional (can be null)
108
- Fix: Add null check: `user.bio ? ... : 'No bio'`
109
-
110
- ───────────────────────────────────────────────────────────────────
111
- 💡 Next Steps
112
-
113
- Your schemas are now indexed in ekkOS!
114
-
115
- • Check specific type: /validate-schema User
116
- • Compare schemas: /validate-schema --compare
117
- • Fix warnings above to prevent runtime errors
118
-
119
- Whenever you change your schema, run /validate-schema again to update ekkOS.
120
- ```
121
-
122
- ## Example - Checking Specific Table
123
-
124
- ```
125
- User: /validate-schema users
126
-
127
- 🔍 Schema: users
128
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
129
-
130
- 📋 Database Schema (Prisma):
131
-
132
- model User {
133
- id String @id @default(uuid())
134
- email String @unique
135
- userName String
136
- firstName String?
137
- lastName String?
138
- bio String?
139
- avatarUrl String?
140
- createdAt DateTime @default(now())
141
- updatedAt DateTime @updatedAt
142
- }
143
-
144
- ───────────────────────────────────────────────────────────────────
145
- 📝 TypeScript Type:
146
-
147
- interface User {
148
- id: string;
149
- email: string;
150
- userName: string;
151
- firstName: string | null;
152
- lastName: string | null;
153
- bio: string | null;
154
- avatarUrl: string | null;
155
- createdAt: Date;
156
- updatedAt: Date;
157
- }
158
-
159
- ───────────────────────────────────────────────────────────────────
160
- ✅ Schema Match: PERFECT
161
-
162
- TypeScript types match Prisma schema exactly!
163
-
164
- All field names, types, and nullability are correct.
165
-
166
- ───────────────────────────────────────────────────────────────────
167
- 🔍 Usage Analysis (found in codebase):
168
-
169
- ✅ src/api/users.ts:15
170
- Correct: user.userName
171
-
172
- ✅ src/components/UserProfile.tsx:42
173
- Correct: user.bio ? ... : 'No bio' (null check present)
174
-
175
- ❌ src/pages/Profile.tsx:88
176
- ERROR: Using user.username (should be userName)
177
- Fix needed!
178
-
179
- ───────────────────────────────────────────────────────────────────
180
- 🔧 Suggested Fixes:
181
-
182
- 1. File: src/pages/Profile.tsx
183
- Line: 88
184
-
185
- Current:
186
- ```typescript
187
- const name = user.username;
188
- ```
189
-
190
- Should be:
191
- ```typescript
192
- const name = user.userName;
193
- ```
194
-
195
- ───────────────────────────────────────────────────────────────────
196
- 💡 Action Required
197
-
198
- Run this fix to prevent runtime errors:
199
-
200
- 1. Open src/pages/Profile.tsx:88
201
- 2. Change `user.username` → `user.userName`
202
- 3. Test the page
203
-
204
- This mismatch would cause: "Cannot read property 'username' of undefined"
205
- ```
206
-
207
- ## Example - Schema Drift Detected
208
-
209
- ```
210
- User: /validate-schema --compare
211
-
212
- 🔍 Comparing Schemas
213
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
214
-
215
- Comparing:
216
- • Database (Prisma schema)
217
- • TypeScript types
218
- • GraphQL schema
219
-
220
- ───────────────────────────────────────────────────────────────────
221
- ⚠️ SCHEMA DRIFT DETECTED!
222
-
223
- Your TypeScript types are out of sync with your database.
224
-
225
- ───────────────────────────────────────────────────────────────────
226
- ❌ Critical Issues (3):
227
-
228
- 1. Missing Field in TypeScript
229
-
230
- Database has: User.phoneNumber (String?)
231
- TypeScript: Missing!
232
-
233
- Impact: TypeScript won't know about this field
234
- Fix: Add to interface:
235
- ```typescript
236
- interface User {
237
- // ... existing fields
238
- phoneNumber: string | null; // ADD THIS
239
- }
240
- ```
241
-
242
- 2. Wrong Type
243
-
244
- Database: Post.viewCount (Int)
245
- TypeScript: Post.viewCount (string)
246
-
247
- Impact: Type mismatch will cause runtime errors
248
- Fix: Change to number:
249
- ```typescript
250
- interface Post {
251
- viewCount: number; // Was: string
252
- }
253
- ```
254
-
255
- 3. Field Renamed in Database
256
-
257
- Database: User.profileImageUrl
258
- TypeScript: User.avatarUrl
259
-
260
- Impact: Queries will fail (field doesn't exist)
261
- Fix: Either:
262
- - Update TypeScript to profileImageUrl, OR
263
- - Rename database field back to avatarUrl
264
-
265
- ───────────────────────────────────────────────────────────────────
266
- 🔧 Quick Fix Command
267
-
268
- To regenerate TypeScript types from database:
269
-
270
- ```bash
271
- # If using Prisma:
272
- npx prisma generate
273
-
274
- # If using Supabase:
275
- npx supabase gen types typescript > src/types/database.ts
276
- ```
277
-
278
- ───────────────────────────────────────────────────────────────────
279
- 💡 Prevention
280
-
281
- To avoid schema drift:
282
-
283
- 1. Use generated types (don't hand-write them)
284
- 2. Run /validate-schema after schema changes
285
- 3. Add to pre-commit hook:
286
- ```bash
287
- npx prisma generate && git add src/types/
288
- ```
289
-
290
- After fixing, run /validate-schema again to verify!
291
- ```
292
-
293
- ## Example - Fresh Project Setup
294
-
295
- ```
296
- User: /validate-schema
297
-
298
- 🔍 Project Schema Validator
299
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
300
-
301
- Scanning project for schema files...
302
-
303
- ───────────────────────────────────────────────────────────────────
304
- ℹ️ Fresh Project Detected
305
-
306
- No schema files found yet. That's OK for a new project!
307
-
308
- Here's how to get started:
309
-
310
- ───────────────────────────────────────────────────────────────────
311
- 🚀 Recommended Setup
312
-
313
- For a TypeScript + Database project, we recommend:
314
-
315
- 1. **Choose a database approach:**
316
-
317
- Option A: Prisma (recommended)
318
- ```bash
319
- npm install prisma @prisma/client
320
- npx prisma init
321
- ```
322
-
323
- Option B: Supabase
324
- ```bash
325
- npm install @supabase/supabase-js
326
- npx supabase init
327
- ```
328
-
329
- 2. **Define your schema:**
330
-
331
- Prisma: Edit prisma/schema.prisma
332
- Supabase: Use Supabase dashboard or migrations
333
-
334
- 3. **Generate TypeScript types:**
335
-
336
- Prisma: `npx prisma generate`
337
- Supabase: `npx supabase gen types typescript`
338
-
339
- 4. **Index with ekkOS:**
340
-
341
- Run /validate-schema again after setup!
342
-
343
- ───────────────────────────────────────────────────────────────────
344
- 💡 Why This Matters
345
-
346
- Schema validation prevents:
347
- • Field name typos (user.username vs user.userName)
348
- • Type mismatches (expecting string, got number)
349
- • Null pointer errors (missing null checks)
350
- • Schema drift (types out of sync with database)
351
-
352
- Once you have schemas, ekkOS will remember them and help catch errors!
353
- ```
354
-
355
- ## Advanced Usage
356
-
357
- ### Index Specific Files
358
-
359
- ```bash
360
- # Index TypeScript types
361
- /validate-schema --file src/types/database.d.ts
362
-
363
- # Index Prisma schema
364
- /validate-schema --file prisma/schema.prisma
365
-
366
- # Index multiple files
367
- /validate-schema --files "src/types/*.d.ts"
368
- ```
369
-
370
- ### Show Indexed Schemas
371
-
372
- ```bash
373
- /validate-schema --show
374
-
375
- # Shows:
376
- # - All indexed schemas
377
- # - When they were indexed
378
- # - Field count per schema
379
- # - Last validation results
380
- ```
381
-
382
- ### Compare Across Schema Sources
383
-
384
- ```bash
385
- # Compare database vs TypeScript
386
- /validate-schema --compare database typescript
387
-
388
- # Compare GraphQL vs database
389
- /validate-schema --compare graphql database
390
-
391
- # Compare all sources
392
- /validate-schema --compare all
393
- ```
394
-
395
- ### Watch for Changes
396
-
397
- ```bash
398
- # Re-index when schema files change
399
- /validate-schema --watch
400
-
401
- # (Sets up file watcher - re-runs validation on save)
402
- ```
403
-
404
- ## Common Issues Detected
405
-
406
- ### 1. Field Name Mismatches
407
-
408
- ```
409
- Database: user.firstName
410
- Code: user.first_name
411
-
412
- Error: Cannot read property 'first_name' of undefined
413
- Fix: Use consistent naming (camelCase everywhere)
414
- ```
415
-
416
- ### 2. Missing Null Checks
417
-
418
- ```
419
- Database: bio String? (optional)
420
- Code: <p>{user.bio.substring(0, 100)}</p>
421
-
422
- Error: Cannot read property 'substring' of null
423
- Fix: Add null check: user.bio ? user.bio.substring(0, 100) : ''
424
- ```
425
-
426
- ### 3. Wrong Types
427
-
428
- ```
429
- Database: age Int
430
- TypeScript: age: string
431
-
432
- Error: Type 'number' is not assignable to type 'string'
433
- Fix: Change to age: number
434
- ```
435
-
436
- ### 4. Missing Fields
437
-
438
- ```
439
- Database: phoneNumber String?
440
- TypeScript: (missing)
441
-
442
- Error: TypeScript doesn't know this field exists
443
- Fix: Add phoneNumber: string | null to interface
444
- ```
445
-
446
- ### 5. Schema Drift
447
-
448
- ```
449
- Database was updated but TypeScript types weren't regenerated
450
-
451
- Fix: Run prisma generate or supabase gen types
452
- ```
453
-
454
- ## Requirements
455
-
456
- - Project with schema files (TypeScript, Prisma, GraphQL, etc.)
457
- - ekkOS MCP server configured
458
- - Project directory accessible to Claude Code
459
-
460
- ## Implementation Details
461
-
462
- When this command runs, Claude will:
463
-
464
- 1. **Scan Project Directory**:
465
- - Find all schema-related files (*.d.ts, schema.prisma, *.graphql, etc.)
466
- - Parse schema definitions
467
- - Extract types, models, fields
468
-
469
- 2. **Call ekkOS_IndexSchema**:
470
- ```typescript
471
- ekkOS_IndexSchema({
472
- project_path: "/path/to/project",
473
- files: [
474
- { name: "prisma/schema.prisma", content: "..." },
475
- { name: "src/types/database.d.ts", content: "..." }
476
- ]
477
- })
478
- ```
479
-
480
- 3. **Analyze for Issues**:
481
- - Field name inconsistencies (camelCase vs snake_case)
482
- - Type mismatches (string vs number)
483
- - Missing null checks
484
- - Optional fields accessed without guards
485
-
486
- 4. **Compare Schemas**:
487
- - Database schema (source of truth)
488
- - TypeScript types (what code expects)
489
- - GraphQL schema (API contract)
490
- - Identify drift and mismatches
491
-
492
- 5. **Generate Fixes**:
493
- - Show exact line numbers
494
- - Provide corrected code
495
- - Suggest commands to regenerate types
496
-
497
- 6. **Store in ekkOS**:
498
- - Call `ekkOS_GetSchema` later for quick lookups
499
- - Stored in Layer 8 (Codebase memory)
500
- - Available across sessions
501
-
502
- 7. **Format Output**:
503
- - Clear status indicators (✅⚠️❌)
504
- - Actionable fix suggestions
505
- - Command snippets to run
506
- - Prevention tips
507
-
508
- ## Multi-Tool Workflow
509
-
510
- This plugin combines:
511
- - `ekkOS_IndexSchema` - Index user's schemas
512
- - `ekkOS_GetSchema` - Retrieve specific table/type
513
- - `ekkOS_Codebase` - Search for field usage in code
514
- - `ekkOS_Search` - Check for past schema issues
515
- - `ekkOS_Forge` - Remember schema issues as patterns
516
-
517
- **Example workflow:**
518
- 1. User runs `/validate-schema`
519
- 2. Indexes schemas with `ekkOS_IndexSchema`
520
- 3. Searches codebase with `ekkOS_Codebase` for field usage
521
- 4. Checks past schema issues with `ekkOS_Search`
522
- 5. If issues found, forges pattern with `ekkOS_Forge`
523
- 6. Next time similar issue occurs, pattern is auto-retrieved!
524
-
525
- ## Fresh Project Support
526
-
527
- For brand new projects:
528
- - Detects no schemas exist yet
529
- - Provides setup guide (Prisma vs Supabase)
530
- - Shows recommended workflow
531
- - Explains why schema validation matters
532
- - Offers to help after setup
533
-
534
- ## Benefits
535
-
536
- ### Prevents Runtime Errors
537
- ```
538
- Before: user.username → undefined (field doesn't exist)
539
- After: Caught by /validate-schema before running code
540
- ```
541
-
542
- ### Keeps Types in Sync
543
- ```
544
- Before: Database updated, TypeScript stale
545
- After: /validate-schema detects drift, reminds you to regenerate
546
- ```
547
-
548
- ### Saves Debugging Time
549
- ```
550
- Before: 30 minutes debugging "Cannot read property X"
551
- After: 30 seconds to see issue and fix
552
- ```
553
-
554
- ### Builds Institutional Knowledge
555
- ```
556
- All schema issues forged as patterns in ekkOS
557
- Future projects benefit from past mistakes
558
- ```
559
-
560
- ## Tips
561
-
562
- 1. **Run after schema changes**: Always run `/validate-schema` after updating Prisma schema or database
563
- 2. **Add to CI/CD**: Run validation in pre-commit hooks
564
- 3. **Use generated types**: Don't hand-write types - generate from schema
565
- 4. **Check before deploy**: Run validation before pushing to production
566
- 5. **Forge issues as patterns**: When you find a schema bug, forge it so ekkOS remembers
567
-
568
- ## Comparison: This vs Admin Schema Sentinel
569
-
570
- | Feature | Project Schema Validator (This) | Schema Sentinel (Admin) |
571
- |---------|--------------------------------|-------------------------|
572
- | Target | YOUR projects | ekkOS database |
573
- | Portable | ✅ Works anywhere | ❌ ekkOS-specific |
574
- | Schemas | TypeScript, Prisma, GraphQL | Supabase only |
575
- | Purpose | Help users validate their code | Help ekkOS team validate migrations |
576
- | Deployed to | All users | Admin only |
577
-
578
- **This plugin is FOR YOU to use on YOUR codebases!**
579
-
580
- ---
581
-
582
- **Your schemas, validated. Your errors, prevented. Your time, saved.** ⚡🛡️
@@ -1,47 +0,0 @@
1
- # /continue
2
-
3
- Restore your last 5 turns after running `/clear`.
4
-
5
- ## Usage
6
-
7
- ```
8
- /clear # First: free up context
9
- /continue # Then: restore last 5 turns
10
- ```
11
-
12
- ## What Happens
13
-
14
- 1. Hook detects `/continue`
15
- 2. Fetches last 5 turns from ekkOS API
16
- 3. Injects them as context
17
- 4. Claude continues seamlessly
18
-
19
- ## Why This Exists
20
-
21
- When context gets full (90%+), you need to `/clear` but don't want to lose your work. This command restores just enough context (5 turns) to continue working without re-explaining everything.
22
-
23
- ## The Flow
24
-
25
- ```
26
- Work normally until context ~90%
27
-
28
- Run: /clear (frees context)
29
-
30
- Run: /continue (restores 5 turns)
31
-
32
- Keep working
33
- ```
34
-
35
- ## Example
36
-
37
- ```
38
- [Context at 92%]
39
-
40
- You: /clear
41
- Claude: Context cleared.
42
-
43
- You: /continue
44
- Hook: ✓ Session continued (5 turns restored)
45
-
46
- Claude: ✓ **Continuing** - We were working on the /continue command...
47
- ```