@ekkos/cli 1.2.18 → 1.3.1
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.
- package/dist/cache/capture.js +0 -0
- package/dist/commands/dashboard.js +121 -66
- package/dist/commands/hooks.d.ts +25 -36
- package/dist/commands/hooks.js +43 -615
- package/dist/commands/init.js +7 -23
- package/dist/commands/run.js +90 -3
- package/dist/commands/setup.js +10 -352
- package/dist/deploy/hooks.d.ts +8 -5
- package/dist/deploy/hooks.js +12 -105
- package/dist/deploy/settings.d.ts +8 -2
- package/dist/deploy/settings.js +22 -51
- package/dist/index.js +17 -39
- package/dist/utils/state.js +7 -2
- package/package.json +1 -1
- package/templates/CLAUDE.md +82 -292
- package/templates/cursor-rules/ekkos-memory.md +48 -108
- package/templates/windsurf-rules/ekkos-memory.md +62 -64
- package/templates/cursor-hooks/after-agent-response.sh +0 -117
- package/templates/cursor-hooks/before-submit-prompt.sh +0 -419
- package/templates/cursor-hooks/hooks.json +0 -20
- package/templates/cursor-hooks/lib/contract.sh +0 -320
- package/templates/cursor-hooks/stop.sh +0 -75
- package/templates/hooks/assistant-response.ps1 +0 -256
- package/templates/hooks/assistant-response.sh +0 -160
- package/templates/hooks/hooks.json +0 -40
- package/templates/hooks/lib/contract.sh +0 -332
- package/templates/hooks/lib/count-tokens.cjs +0 -86
- package/templates/hooks/lib/ekkos-reminders.sh +0 -98
- package/templates/hooks/lib/state.sh +0 -210
- package/templates/hooks/session-start.ps1 +0 -146
- package/templates/hooks/session-start.sh +0 -353
- package/templates/hooks/stop.ps1 +0 -349
- package/templates/hooks/stop.sh +0 -382
- package/templates/hooks/user-prompt-submit.ps1 +0 -419
- package/templates/hooks/user-prompt-submit.sh +0 -516
- package/templates/project-stubs/session-start.ps1 +0 -63
- package/templates/project-stubs/session-start.sh +0 -55
- package/templates/project-stubs/stop.ps1 +0 -63
- package/templates/project-stubs/stop.sh +0 -55
- package/templates/project-stubs/user-prompt-submit.ps1 +0 -63
- package/templates/project-stubs/user-prompt-submit.sh +0 -55
- package/templates/windsurf-hooks/README.md +0 -212
- package/templates/windsurf-hooks/hooks.json +0 -17
- package/templates/windsurf-hooks/install.sh +0 -148
- package/templates/windsurf-hooks/lib/contract.sh +0 -322
- package/templates/windsurf-hooks/post-cascade-response.sh +0 -251
- package/templates/windsurf-hooks/pre-user-prompt.sh +0 -435
package/templates/CLAUDE.md
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
# ekkOS_ Memory System
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## The Golden Loop
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
ekkOS is your AI's cognitive memory. It learns from every session so you get smarter over time.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **Build on what worked** - Use proven patterns instead of fumbling through problems
|
|
7
|
+
- **Remember mistakes** — Schema changes, wrong assumptions, bad approaches
|
|
8
|
+
- **Don't repeat them** — If something broke before, know not to do it again
|
|
9
|
+
- **Recall what's right** — When schemas/configs get mangled, remember the correct version
|
|
10
|
+
- **Build on what worked** — Use proven patterns instead of starting from scratch
|
|
12
11
|
|
|
13
|
-
**
|
|
12
|
+
**Failures are just as valuable as successes.** Forge anti-patterns too.
|
|
14
13
|
|
|
15
14
|
---
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Core Rules
|
|
18
17
|
|
|
19
|
-
### RULE 1:
|
|
18
|
+
### RULE 1: SEARCH BEFORE ANSWERING
|
|
20
19
|
Before answering ANY technical question, call `ekkOS_Search` first.
|
|
21
20
|
Do not skip this. Do not assume you know the answer.
|
|
22
21
|
|
|
23
|
-
### RULE 2: ACKNOWLEDGE
|
|
24
|
-
When patterns are retrieved, you MUST acknowledge
|
|
22
|
+
### RULE 2: ACKNOWLEDGE PATTERNS (PatternGuard)
|
|
23
|
+
When patterns are retrieved, you MUST acknowledge every pattern — either use it or skip it.
|
|
24
|
+
|
|
25
|
+
**Exception:** Suppress SELECT/SKIP blocks for non-technical turns (acknowledgments, affirmations, short replies).
|
|
25
26
|
|
|
26
27
|
**For patterns you USE:**
|
|
27
28
|
```
|
|
@@ -43,342 +44,132 @@ When patterns are retrieved, you MUST acknowledge EVERY pattern - either use it
|
|
|
43
44
|
### RULE 3: FORGE WHAT YOU LEARN
|
|
44
45
|
When you fix a bug, get corrected, or learn something new, call `ekkOS_Forge` immediately.
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
When something DOES NOT work, forge it as an anti-pattern.
|
|
47
|
+
When something DOES NOT work, forge it as an anti-pattern — failures are valuable.
|
|
48
48
|
|
|
49
|
-
### RULE
|
|
50
|
-
After `/clear`, when you see restored turns in `<system-reminder>` (pattern: `**Turn XX**: ...`), you MUST start your response with:
|
|
51
|
-
```
|
|
52
|
-
✓ **Session continued (Turn N)** - X turns preserved, context restored
|
|
53
|
-
```
|
|
54
|
-
This is the ONLY way users see that restoration worked. Hook output is invisible to them.
|
|
49
|
+
### RULE 4: CONTEXT CONTINUITY
|
|
55
50
|
|
|
56
|
-
|
|
57
|
-
When you see `<ekkos-context-preserved>` in the conversation (appears after auto-compaction):
|
|
58
|
-
1. **IMMEDIATELY** call `ekkOS_RestoreContext` with the `restoration_token` from the tag
|
|
59
|
-
2. This restores your working memory that was preserved before compaction
|
|
60
|
-
3. Start your response with:
|
|
51
|
+
**Post-clear restoration:** After `/clear`, when you see restored turns in `<system-reminder>`, confirm with:
|
|
61
52
|
```
|
|
62
|
-
✓ **
|
|
53
|
+
✓ **Session continued (Turn N)** — X turns preserved, context restored
|
|
63
54
|
```
|
|
64
55
|
|
|
65
|
-
**
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- You see the tag → Call ekkOS_RestoreContext → Full context restored
|
|
69
|
-
- User experiences zero knowledge loss despite compaction
|
|
70
|
-
|
|
71
|
-
**Example restoration call:**
|
|
56
|
+
**Auto-restore after compaction:** When you see `<ekkos-context-preserved>` in the conversation:
|
|
57
|
+
1. Call `ekkOS_RestoreContext` with the `restoration_token` from the tag
|
|
58
|
+
2. Confirm with:
|
|
72
59
|
```
|
|
73
|
-
|
|
74
|
-
restoration_token: "<token from tag>"
|
|
75
|
-
})
|
|
60
|
+
✓ **Context restored** — ekkOS preserved X turns before compaction
|
|
76
61
|
```
|
|
77
62
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
## SKILL TRIGGERS (MANDATORY)
|
|
81
|
-
|
|
82
|
-
Call skills using `Skill(skill: "name")` when you detect these triggers:
|
|
83
|
-
|
|
84
|
-
| Skill | MUST Fire When |
|
|
85
|
-
|-------|----------------|
|
|
86
|
-
| `ekkOS_Memory_First` | Before debugging, before "how do I...", before architecture decisions |
|
|
87
|
-
| `ekkOS_Learn` | After fixing ANY bug, after user correction, after solving non-trivial problem |
|
|
88
|
-
| `ekkOS_Deep_Recall` | User says "yesterday", "last week", "what did we discuss", "remember when", "we worked on X before" |
|
|
89
|
-
| `ekkOS_Preferences` | User says "always", "never", "I prefer", "don't", "avoid" |
|
|
90
|
-
| `ekkOS_Safety` | Before delete, before deploy, before DROP, before rm -rf, before push to main |
|
|
91
|
-
| `ekkOS_Schema` | Before writing SQL, before Supabase queries, before Prisma operations |
|
|
92
|
-
|
|
93
|
-
**These are NOT optional.** If the trigger is detected, fire the skill FIRST.
|
|
63
|
+
ekkOS preserves your working memory automatically. When context is compacted, call `ekkOS_RestoreContext` to get it back seamlessly.
|
|
94
64
|
|
|
95
65
|
---
|
|
96
66
|
|
|
97
|
-
##
|
|
98
|
-
|
|
99
|
-
**Route tasks to specialized agents using `Task(subagent_type="...")` instead of doing them yourself.**
|
|
100
|
-
|
|
101
|
-
| Trigger Keywords | Agent | When to Use |
|
|
102
|
-
|------------------|-------|-------------|
|
|
103
|
-
| extension, vsix, publish, marketplace, ekkos-connect | `extension-manager` | Version bumps, VSIX builds, publishing |
|
|
104
|
-
| vercel, deploy, apps/*, ekkos.dev, api.ekkos.dev | `devops` | Vercel deployments — ALL apps/ deploy to Vercel |
|
|
105
|
-
| commit, push, branch, merge, git, pull request, rebase | `git-companion` | All git operations |
|
|
106
|
-
| error, bug, broken, not working, failing, crash | `debug-detective` | Systematic debugging |
|
|
107
|
-
| review, PR, check this code, code quality | `code-reviewer` | Code reviews |
|
|
108
|
-
| blog, post, article, content | `ekkOS_Blogger` | Blog content creation |
|
|
109
|
-
| frontend, component, React, UI, page | `frontend` | React/Next.js development |
|
|
110
|
-
| backend, API, database, Supabase, RLS | `backend` | API and database work |
|
|
111
|
-
| test, QA, quality, coverage | `qa` | Testing and quality assurance |
|
|
112
|
-
| plan, architect, design, implement feature | `tech-lead` | Complex planning and coordination |
|
|
113
|
-
| research, papers, arXiv, cutting edge, latest AI | `research-scout` | Monitor AI research, update roadmap |
|
|
114
|
-
|
|
115
|
-
**Vercel Project Mapping** (apps/ folder → Vercel project → URL):
|
|
116
|
-
|
|
117
|
-
| apps/ folder | Vercel project | Production URL |
|
|
118
|
-
|-------------|----------------|----------------|
|
|
119
|
-
| `apps/web` | **platform** | platform.ekkos.dev |
|
|
120
|
-
| `apps/memory` | memory | api.ekkos.dev |
|
|
121
|
-
| `apps/proxy` | proxy | proxy.ekkos.dev |
|
|
122
|
-
| `apps/docs` | docs | docs.ekkos.dev |
|
|
123
|
-
| `apps/marketing` | marketing | ekkos.dev |
|
|
124
|
-
| `apps/ekkosca` | ekkosca | ekkos.ca |
|
|
125
|
-
| `apps/blog` | blog | blog.ekkos.dev |
|
|
126
|
-
| `apps/support` | support | support.ekkos.dev |
|
|
127
|
-
| `apps/labs` | labs | ekkoslabs.com |
|
|
128
|
-
| `apps/admin` | admin | admin.ekkos.ca |
|
|
129
|
-
| `apps/sdk` | sdk | sdk-ekkos.vercel.app |
|
|
130
|
-
|
|
131
|
-
**NOTE:** `apps/web` → Vercel project name is `platform`, NOT `web`.
|
|
132
|
-
|
|
133
|
-
**How it works:**
|
|
134
|
-
1. Detect trigger keywords in user request
|
|
135
|
-
2. Spawn the specialist agent via `Task` tool
|
|
136
|
-
3. Let the agent do the work with its focused toolset
|
|
137
|
-
4. Summarize results back to user
|
|
138
|
-
|
|
139
|
-
**Example:**
|
|
140
|
-
```
|
|
141
|
-
User: "bump the extension version"
|
|
142
|
-
You: Task(subagent_type="extension-manager", prompt="Bump version...")
|
|
143
|
-
```
|
|
67
|
+
## 11-Layer Memory Architecture
|
|
144
68
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
69
|
+
| # | Layer | What It Stores |
|
|
70
|
+
|---|-------|---------------|
|
|
71
|
+
| 1 | Working | Current session state |
|
|
72
|
+
| 2 | Episodic | Past conversations |
|
|
73
|
+
| 3 | Semantic | Embeddings & knowledge |
|
|
74
|
+
| 4 | Patterns | Proven solutions |
|
|
75
|
+
| 5 | Procedural | Step-by-step guides |
|
|
76
|
+
| 6 | Collective | Cross-project wisdom |
|
|
77
|
+
| 7 | Meta | Pattern effectiveness |
|
|
78
|
+
| 8 | Codebase | Project-specific code |
|
|
79
|
+
| 9 | Directives | User rules (MUST/NEVER/PREFER/AVOID) |
|
|
80
|
+
| 10 | Conflict | Auto-resolves contradictions |
|
|
81
|
+
| 11 | Secrets | Encrypted credentials (AES-256-GCM) |
|
|
149
82
|
|
|
150
83
|
---
|
|
151
84
|
|
|
152
|
-
## MCP Tools
|
|
85
|
+
## MCP Tools — 29 Visible
|
|
153
86
|
|
|
154
|
-
### Core Memory
|
|
87
|
+
### Core Memory (6)
|
|
155
88
|
| Tool | Description |
|
|
156
89
|
|------|-------------|
|
|
157
|
-
| `ekkOS_Search` |
|
|
158
|
-
| `
|
|
159
|
-
| `
|
|
160
|
-
| `
|
|
161
|
-
| `ekkOS_Track` | Track when pattern is applied |
|
|
162
|
-
| `ekkOS_Outcome` | Track if pattern worked or failed |
|
|
90
|
+
| `ekkOS_Search` | Search across all 11 memory layers |
|
|
91
|
+
| `ekkOS_Forge` | Create pattern from learned solution |
|
|
92
|
+
| `ekkOS_Track` | Track when a pattern is applied |
|
|
93
|
+
| `ekkOS_Outcome` | Record if pattern worked or failed |
|
|
163
94
|
| `ekkOS_Stats` | Get statistics for all layers |
|
|
95
|
+
| `ekkOS_Context` | Get relevant context for a task |
|
|
164
96
|
|
|
165
|
-
###
|
|
97
|
+
### Retrieval (4)
|
|
166
98
|
| Tool | Description |
|
|
167
99
|
|------|-------------|
|
|
168
|
-
| `ekkOS_Context` | Get relevant context for a task |
|
|
169
100
|
| `ekkOS_Codebase` | Search project code embeddings |
|
|
170
101
|
| `ekkOS_Recall` | Recall past conversations by time |
|
|
171
|
-
| `ekkOS_PreserveContext` |
|
|
172
|
-
| `ekkOS_RestoreContext` |
|
|
173
|
-
|
|
174
|
-
### Utility Tools (8)
|
|
175
|
-
| Tool | Description |
|
|
176
|
-
|------|-------------|
|
|
177
|
-
| `ekkOS_Summary` | 🔴 REQUIRED: Get summary of MCP activity |
|
|
178
|
-
| `ekkOS_Conflict` | 🔴 REQUIRED: Check for conflicts before destructive actions |
|
|
179
|
-
| `ekkOS_Reflect` | Analyze response for improvement opportunities |
|
|
180
|
-
| `ekkOS_Detect` | 🔴 REQUIRED: Auto-detect which patterns were used |
|
|
181
|
-
| `ekkOS_Export` | Export your patterns, directives, plans as portable JSON backup |
|
|
182
|
-
| `ekkOS_Import` | Import memory from backup (auto-deduplication) |
|
|
183
|
-
| `ekkOS_Why` | Explain why a pattern or decision was made |
|
|
184
|
-
| `ekkOS_Health` | System health check for ekkOS infrastructure |
|
|
102
|
+
| `ekkOS_PreserveContext` | Preserve working memory before compaction |
|
|
103
|
+
| `ekkOS_RestoreContext` | Restore context after compaction |
|
|
185
104
|
|
|
186
|
-
###
|
|
105
|
+
### Directives (4)
|
|
187
106
|
| Tool | Description |
|
|
188
107
|
|------|-------------|
|
|
189
|
-
| `ekkOS_Directive` |
|
|
190
|
-
| `ekkOS_UpdateDirective` | Update existing directive |
|
|
108
|
+
| `ekkOS_Directive` | Create MUST/NEVER/PREFER/AVOID rules |
|
|
109
|
+
| `ekkOS_UpdateDirective` | Update an existing directive |
|
|
191
110
|
| `ekkOS_DeleteDirective` | Remove a directive |
|
|
192
|
-
| `ekkOS_UniversalDirectives` | Get directives that apply
|
|
111
|
+
| `ekkOS_UniversalDirectives` | Get directives that apply across all projects |
|
|
193
112
|
|
|
194
|
-
###
|
|
113
|
+
### Utility (5)
|
|
195
114
|
| Tool | Description |
|
|
196
115
|
|------|-------------|
|
|
197
|
-
| `
|
|
198
|
-
| `
|
|
116
|
+
| `ekkOS_Summary` | Get summary of recent memory activity |
|
|
117
|
+
| `ekkOS_Conflict` | Check for conflicts before destructive actions |
|
|
118
|
+
| `ekkOS_Export` | Export patterns, directives, plans as JSON backup |
|
|
119
|
+
| `ekkOS_Import` | Import memory from backup (auto-deduplication) |
|
|
120
|
+
| `ekkOS_Health` | System health check |
|
|
199
121
|
|
|
200
|
-
###
|
|
122
|
+
### Plans (5)
|
|
201
123
|
| Tool | Description |
|
|
202
124
|
|------|-------------|
|
|
203
125
|
| `ekkOS_Plan` | Create structured task plan |
|
|
204
|
-
| `ekkOS_Plans` | List
|
|
126
|
+
| `ekkOS_Plans` | List your plans |
|
|
205
127
|
| `ekkOS_PlanStatus` | Update plan status |
|
|
206
128
|
| `ekkOS_PlanStep` | Mark step complete/incomplete |
|
|
207
129
|
| `ekkOS_Generate` | AI-generate plan from context |
|
|
208
|
-
| `ekkOS_SaveTemplate` | Save plan as reusable template |
|
|
209
|
-
| `ekkOS_Templates` | List available templates |
|
|
210
|
-
| `ekkOS_FromTemplate` | Create plan from template |
|
|
211
130
|
|
|
212
|
-
### Secrets
|
|
131
|
+
### Secrets (5)
|
|
213
132
|
| Tool | Description |
|
|
214
133
|
|------|-------------|
|
|
215
|
-
| `ekkOS_StoreSecret` | Encrypt and store sensitive data
|
|
134
|
+
| `ekkOS_StoreSecret` | Encrypt and store sensitive data |
|
|
216
135
|
| `ekkOS_GetSecret` | Retrieve and decrypt a secret |
|
|
217
|
-
| `ekkOS_ListSecrets` | List secrets metadata (no values) |
|
|
136
|
+
| `ekkOS_ListSecrets` | List secrets metadata (no values exposed) |
|
|
218
137
|
| `ekkOS_DeleteSecret` | Permanently delete a secret |
|
|
219
|
-
| `ekkOS_RotateSecret` | Update secret with new value |
|
|
220
|
-
|
|
221
|
-
### Project/Sync Tools (4)
|
|
222
|
-
| Tool | Description |
|
|
223
|
-
|------|-------------|
|
|
224
|
-
| `ekkOS_ProjectInit` | Initialize ekkOS for a new project |
|
|
225
|
-
| `ekkOS_Ingest` | Bulk ingest data into memory layers |
|
|
226
|
-
| `ekkOS_Snapshot` | Create point-in-time snapshot of memory state |
|
|
227
|
-
| `ekkOS_Sync` | Sync local and cloud memory state |
|
|
228
|
-
|
|
229
|
-
### Session Management (1)
|
|
230
|
-
| Tool | Description |
|
|
231
|
-
|------|-------------|
|
|
232
|
-
| `ekkOS_Session` | Manage L1 Working Memory sessions (start/resume/end) |
|
|
233
|
-
|
|
234
|
-
### Learning Tools (2)
|
|
235
|
-
| Tool | Description |
|
|
236
|
-
|------|-------------|
|
|
237
|
-
| `ekkOS_Learn` | Auto-learning from corrections, successes, observations |
|
|
238
|
-
| `ekkOS_ReviewLearning` | Review pending learning candidates, approve/reject patterns |
|
|
239
|
-
|
|
240
|
-
### Relationship Tools (2)
|
|
241
|
-
| Tool | Description |
|
|
242
|
-
|------|-------------|
|
|
243
|
-
| `ekkOS_Link` | Create relationships between patterns |
|
|
244
|
-
| `ekkOS_Playbook` | Manage ordered sequences of patterns (workflows) |
|
|
245
|
-
|
|
246
|
-
### PROMETHEUS Tools (4)
|
|
247
|
-
| Tool | Description |
|
|
248
|
-
|------|-------------|
|
|
249
|
-
| `ekkOS_Delta` | Compute improvement score using Δ_prometheus formula |
|
|
250
|
-
| `ekkOS_MetaState` | System introspection ("I know what I know") |
|
|
251
|
-
| `ekkOS_Goal` | Manage persistent objectives and success criteria |
|
|
252
|
-
| `ekkOS_Strategy` | Context-aware strategy selection for tasks |
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## Proactive Tool Triggers (MEMORIZE THESE)
|
|
257
|
-
|
|
258
|
-
### Always Use `ekkOS_Search` When:
|
|
259
|
-
- User asks technical question
|
|
260
|
-
- User mentions past discussion
|
|
261
|
-
- Topic involves architecture, config, or debugging
|
|
262
|
-
- You're about to make a decision
|
|
263
|
-
|
|
264
|
-
### Always Use `ekkOS_Forge` When:
|
|
265
|
-
- Fixed a bug (especially non-obvious)
|
|
266
|
-
- Discovered better approach
|
|
267
|
-
- Found pitfall or gotcha
|
|
268
|
-
- User corrected you
|
|
269
|
-
- Solved auth/config issue
|
|
270
|
-
- Made architectural decision
|
|
271
|
-
- Something DIDN'T work (anti-pattern)
|
|
272
|
-
|
|
273
|
-
### Always Use `ekkOS_Directive` When:
|
|
274
|
-
- User says "always..." → type: MUST
|
|
275
|
-
- User says "never..." → type: NEVER
|
|
276
|
-
- User says "I prefer..." → type: PREFER
|
|
277
|
-
- User says "don't..." or "avoid..." → type: AVOID
|
|
278
|
-
|
|
279
|
-
### Always Use `ekkOS_Conflict` When:
|
|
280
|
-
- About to delete files/data
|
|
281
|
-
- About to deploy to production
|
|
282
|
-
- About to modify config files
|
|
283
|
-
- About to run destructive commands
|
|
284
|
-
|
|
285
|
-
### Always Use Plan Tools When:
|
|
286
|
-
- Task has 3+ steps
|
|
287
|
-
- User says "help me implement..."
|
|
288
|
-
- Complex feature request
|
|
289
|
-
- Multi-file changes needed
|
|
290
|
-
|
|
291
|
-
### Always Use Secret Tools When:
|
|
292
|
-
- User shares API key, token, password
|
|
293
|
-
- Need to retrieve stored credentials
|
|
294
|
-
- User asks "do you have my X key?"
|
|
295
|
-
|
|
296
|
-
### Always Use Context Preservation When:
|
|
297
|
-
- PreCompact hook fires (auto-triggered)
|
|
298
|
-
- See `<ekkos-context-preserved>` tag (auto-restore)
|
|
299
|
-
- RULE 6 activation
|
|
300
|
-
|
|
301
|
-
### Always Use Learning Tools When:
|
|
302
|
-
- User corrects you (ekkOS_Learn mode: correction)
|
|
303
|
-
- Solution succeeds (ekkOS_Learn mode: success)
|
|
304
|
-
- Discover insight (ekkOS_Learn mode: observe)
|
|
305
|
-
- Review pending patterns (ekkOS_ReviewLearning)
|
|
306
|
-
|
|
307
|
-
### Always Use Relationship Tools When:
|
|
308
|
-
- Patterns are sequential (ekkOS_Link type: leads_to)
|
|
309
|
-
- Creating workflows (ekkOS_Playbook)
|
|
310
|
-
- Patterns are alternatives (ekkOS_Link type: alternative)
|
|
311
|
-
|
|
312
|
-
### Always Use PROMETHEUS Tools When:
|
|
313
|
-
- Evaluating system improvement (ekkOS_Delta)
|
|
314
|
-
- Self-assessment needed (ekkOS_MetaState)
|
|
315
|
-
- Setting objectives (ekkOS_Goal)
|
|
316
|
-
- Choosing approach (ekkOS_Strategy)
|
|
138
|
+
| `ekkOS_RotateSecret` | Update a secret with a new value |
|
|
317
139
|
|
|
318
140
|
---
|
|
319
141
|
|
|
320
|
-
##
|
|
142
|
+
## When To Use What
|
|
321
143
|
|
|
322
|
-
|
|
|
323
|
-
|
|
324
|
-
|
|
|
325
|
-
|
|
|
326
|
-
|
|
|
327
|
-
|
|
|
328
|
-
|
|
|
329
|
-
|
|
|
330
|
-
|
|
|
331
|
-
| 8 | **Codebase** | Project-specific | This-repo-only patterns |
|
|
332
|
-
| 9 | **Directives** | User preferences | "Always do X", "Never do Y" |
|
|
333
|
-
| 10 | **Conflict** | Auto-resolves contradictions | Auto-managed |
|
|
334
|
-
| 11 | **Secrets** | Encrypted credentials | API keys, tokens, config |
|
|
144
|
+
| Tool | Trigger |
|
|
145
|
+
|------|---------|
|
|
146
|
+
| `ekkOS_Search` | Technical question, past discussion, architecture decision, debugging |
|
|
147
|
+
| `ekkOS_Forge` | Bug fixed, better approach found, gotcha discovered, user corrected you, anti-pattern |
|
|
148
|
+
| `ekkOS_Directive` | User says "always" → MUST, "never" → NEVER, "I prefer" → PREFER, "avoid" → AVOID |
|
|
149
|
+
| `ekkOS_Conflict` | Before deleting files, deploying to production, modifying config, destructive commands |
|
|
150
|
+
| Plan tools | Task has 3+ steps, "help me implement...", complex feature request |
|
|
151
|
+
| Secret tools | User shares API key/token/password, need stored credentials |
|
|
152
|
+
| `ekkOS_Recall` | User says "yesterday", "last week", "remember when", "what did we discuss" |
|
|
335
153
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
## FORGE TRIGGERS
|
|
339
|
-
|
|
340
|
-
### forge_pattern (Layer 4)
|
|
341
|
-
Call `ekkOS_Forge` when:
|
|
342
|
-
- Fixed bug (especially non-obvious)
|
|
343
|
-
- Discovered better approach
|
|
344
|
-
- Found pitfall or gotcha
|
|
345
|
-
- User corrected you
|
|
346
|
-
- Solved auth/config issue
|
|
347
|
-
- Made architectural decision
|
|
348
|
-
- Debugged non-trivially
|
|
349
|
-
- Found something that DOESN'T work
|
|
350
|
-
- Understood cross-service data flow
|
|
351
|
-
- Learned correct API usage
|
|
352
|
-
|
|
353
|
-
### forge_directive (Layer 9)
|
|
354
|
-
Call `ekkOS_Directive` when user says:
|
|
355
|
-
- "always..." → type: MUST
|
|
356
|
-
- "never..." → type: NEVER
|
|
357
|
-
- "I prefer..." → type: PREFER
|
|
358
|
-
- "don't..." / "avoid..." → type: AVOID
|
|
154
|
+
Directives are created when you explicitly request them (e.g., "always use TypeScript").
|
|
359
155
|
|
|
360
156
|
---
|
|
361
157
|
|
|
362
158
|
## Response Format
|
|
363
159
|
|
|
364
|
-
|
|
160
|
+
Every response ends with:
|
|
365
161
|
```
|
|
366
162
|
---
|
|
367
|
-
{IDE} ({Model}) · 🧠 **ekkOS_™** ·
|
|
163
|
+
{IDE} ({Model}) · 🧠 **ekkOS_™** · {SessionName} · 📅 {Timestamp}
|
|
368
164
|
```
|
|
369
165
|
|
|
370
|
-
**
|
|
371
|
-
- **
|
|
372
|
-
- **Model
|
|
373
|
-
- **Turn Number**: From hook header (e.g., "Turn 47") - starts at 0 for each new session
|
|
374
|
-
- **Session Name**: From hook header (e.g., "sol-gem-dig") - human-readable session identifier
|
|
375
|
-
- **Timestamp**: From hook header (accurate local time in EST)
|
|
376
|
-
|
|
377
|
-
**Examples:**
|
|
378
|
-
- `Claude Code (Sonnet 4.5) · 🧠 **ekkOS_™** · Turn 12 · cosmic-penguin-runs · 📅 2026-01-09 4:50 PM EST`
|
|
379
|
-
- `Cursor (Claude Sonnet 4) · 🧠 **ekkOS_™** · Turn 5 · bright-falcon-soars · 📅 2026-01-09 10:15 AM EST`
|
|
166
|
+
- **Session name** comes from the `<ekkos-session>` tag
|
|
167
|
+
- **Timestamp** comes from the `<current-time>` tag, or use the current date/time
|
|
168
|
+
- **IDE/Model** detected from your environment
|
|
380
169
|
|
|
381
|
-
|
|
170
|
+
Examples:
|
|
171
|
+
- `Claude Code (Opus 4.6) · 🧠 **ekkOS_™** · cosmic-penguin-runs · 📅 2026-01-09 4:50 PM EST`
|
|
172
|
+
- `Cursor (Sonnet 4.5) · 🧠 **ekkOS_™** · bright-falcon-soars · 📅 2026-01-09 10:15 AM EST`
|
|
382
173
|
|
|
383
174
|
---
|
|
384
175
|
|
|
@@ -391,8 +182,7 @@ Call `ekkOS_Directive` when user says:
|
|
|
391
182
|
- Need to recall → `ekkOS_Recall`
|
|
392
183
|
- Destructive action → `ekkOS_Conflict` first
|
|
393
184
|
- Store credentials → `ekkOS_StoreSecret`
|
|
394
|
-
- Backup
|
|
395
|
-
- Restore from backup → `ekkOS_Import`
|
|
185
|
+
- Backup memory → `ekkOS_Export`
|
|
396
186
|
|
|
397
187
|
## Documentation
|
|
398
188
|
|