create-merlin-brain 3.18.0 → 3.18.3
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/server/tools/challenge.d.ts.map +1 -1
- package/dist/server/tools/challenge.js +1 -2
- package/dist/server/tools/challenge.js.map +1 -1
- package/files/CLAUDE.md +53 -187
- package/files/hooks/pre-edit-sights-check.sh +5 -5
- package/files/hooks/session-start.sh +22 -7
- package/files/merlin/VERSION +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenge.d.ts","sourceRoot":"","sources":["../../../src/server/tools/challenge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"challenge.d.ts","sourceRoot":"","sources":["../../../src/server/tools/challenge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAiE9C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CA8O7D"}
|
|
@@ -7,7 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
// ── In-memory store + file persistence ──────────────────────────────
|
|
8
8
|
// Challenges are stored locally in ~/.claude/merlin/challenges.jsonl
|
|
9
9
|
// and optionally synced to cloud via agent state API
|
|
10
|
-
import { existsSync, mkdirSync, appendFileSync, readFileSync } from 'fs';
|
|
10
|
+
import { existsSync, mkdirSync, appendFileSync, readFileSync, writeFileSync } from 'fs';
|
|
11
11
|
import { join } from 'path';
|
|
12
12
|
import { homedir } from 'os';
|
|
13
13
|
function getChallengesPath() {
|
|
@@ -42,7 +42,6 @@ function updateChallenge(id, updates) {
|
|
|
42
42
|
challenges[idx] = { ...challenges[idx], ...updates };
|
|
43
43
|
// Rewrite file
|
|
44
44
|
const content = challenges.map(c => JSON.stringify(c)).join('\n') + '\n';
|
|
45
|
-
const { writeFileSync } = require('fs');
|
|
46
45
|
writeFileSync(path, content);
|
|
47
46
|
return true;
|
|
48
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenge.js","sourceRoot":"","sources":["../../../src/server/tools/challenge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"challenge.js","sourceRoot":"","sources":["../../../src/server/tools/challenge.ts"],"names":[],"mappings":"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"}
|
package/files/CLAUDE.md
CHANGED
|
@@ -1,168 +1,42 @@
|
|
|
1
1
|
<!-- ⟡🔮 MERLIN BRAIN — MANDATORY PROTOCOL -->
|
|
2
2
|
|
|
3
|
-
# ⟡🔮 MERLIN › STOP —
|
|
3
|
+
# ⟡🔮 MERLIN › STOP — Execute These Steps BEFORE Responding
|
|
4
4
|
|
|
5
5
|
**Step 1** — Call `merlin_get_selected_repo` to connect Merlin Sights.
|
|
6
6
|
**Step 2** — Call `merlin_get_project_status` to load project state.
|
|
7
7
|
**Step 3** — Call `merlin_get_rules` and `merlin_get_brief` in parallel to load rules and project context.
|
|
8
|
-
**Step 4** —
|
|
8
|
+
**Step 4** — Detect intent → Route to action (see tables below). Do NOT start working yourself.
|
|
9
9
|
|
|
10
10
|
Do NOT skip these steps. Do NOT start working without Merlin context.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
## ⟡🔮 Operating Modes — Two Ways to Work
|
|
15
|
-
|
|
16
|
-
Merlin has two operating modes. **AI Automation is the default.** The user can switch at any time.
|
|
17
|
-
|
|
18
|
-
### 🤖 AI Automation (default)
|
|
19
|
-
|
|
20
|
-
Merlin detects intent, picks the best execution path, and runs the full pipeline autonomously. The user sees results, not menus.
|
|
21
|
-
|
|
22
|
-
- Auto-invoke workflows, agents, and commands based on intent
|
|
23
|
-
- Run multi-step pipelines without pausing for permission
|
|
24
|
-
- Pause only at genuine decision points (architecture choices, scope ambiguity, irreversible actions)
|
|
25
|
-
- Show what is happening, not what could happen
|
|
26
|
-
|
|
27
|
-
**Activate:** Default. Also: "autopilot", "auto mode", "AI mode", "Merlin mode", "just do it", "go"
|
|
28
|
-
|
|
29
|
-
### 🎮 In Control
|
|
30
|
-
|
|
31
|
-
Merlin detects intent identically, but presents options before executing. The user picks.
|
|
32
|
-
|
|
33
|
-
- Same smart detection — Merlin still identifies the best workflow/agent/command
|
|
34
|
-
- Present 3-5 numbered options with the recommended path marked as [1]
|
|
35
|
-
- Wait for user selection before executing
|
|
36
|
-
- Still auto-run Sights checks, verification, and learning (these never need permission)
|
|
37
|
-
|
|
38
|
-
**Activate:** "in control", "manual mode", "let me decide", "show me options", "I want to pick"
|
|
39
|
-
|
|
40
|
-
### Showing the Mode
|
|
41
|
-
|
|
42
|
-
At session start, after boot, show the active mode:
|
|
43
|
-
```
|
|
44
|
-
⟡🔮 MERLIN · connected · [project name]
|
|
45
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
-
📊 Status: [phase/milestone info]
|
|
47
|
-
🎯 Mode: 🤖 AI Automation (say "in control" to switch)
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
When user switches modes:
|
|
51
|
-
```
|
|
52
|
-
⟡🔮 MERLIN › Mode: 🎮 In Control — I'll show you options before executing.
|
|
53
|
-
```
|
|
54
|
-
```
|
|
55
|
-
⟡🔮 MERLIN › Mode: 🤖 AI Automation — I'll detect, decide, and execute.
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
14
|
## ⟡🔮 Visual Identity — THE MERLIN BADGE
|
|
61
15
|
|
|
62
|
-
**Every Merlin action MUST be prefixed with `⟡🔮 MERLIN ›`** — routing, sights calls, saves, decisions, warnings, completions. No exceptions.
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
⟡🔮 MERLIN › Routing → implementation-dev
|
|
66
|
-
⟡🔮 MERLIN › Sights found 3 files ✅
|
|
67
|
-
⟡🔮 MERLIN › 🧠 LEARNED › "Always use strict TypeScript"
|
|
68
|
-
⟡🔮 MERLIN › ⚠️ Context is stale, refreshing...
|
|
69
|
-
⟡🔮 MERLIN › ✅ Agent complete · $0.18 · 4min
|
|
70
|
-
```
|
|
16
|
+
**Every single Merlin action MUST be prefixed with `⟡🔮 MERLIN ›`** — routing, sights calls, saves, decisions, warnings, completions. No exceptions. This is how the user knows Merlin is engaged.
|
|
71
17
|
|
|
72
18
|
---
|
|
73
19
|
|
|
74
|
-
## ⟡🔮
|
|
75
|
-
|
|
76
|
-
When the user sends a message, classify intent immediately. Then either execute (🤖 AI Automation) or present options (🎮 In Control).
|
|
77
|
-
|
|
78
|
-
### Execution Intents — Workflows & Agents
|
|
79
|
-
|
|
80
|
-
| User says | Detected intent | Action |
|
|
81
|
-
|---|---|---|
|
|
82
|
-
| Bug / crash / "not working" / error logs | Bug fix | `Skill("merlin:workflow", args='run bug-fix "<task>"')` |
|
|
83
|
-
| "build [feature]" / "add [feature]" | Feature | `Skill("merlin:workflow", args='run feature-dev "<task>"')` |
|
|
84
|
-
| "build the whole thing" / full product | Product build | `Skill("merlin:workflow", args='run product-dev "<task>"')` |
|
|
85
|
-
| "security audit" / "check security" | Security | `Skill("merlin:workflow", args='run security-audit')` |
|
|
86
|
-
| "refactor" / "cleanup" / "DRY" | Refactor | `Skill("merlin:workflow", args='run refactor "<task>"')` |
|
|
87
|
-
| "build UI" / "frontend" / "component" | UI build | `Skill("merlin:workflow", args='run ui-build "<task>"')` |
|
|
88
|
-
| "build API" / "backend" / "endpoint" | API build | `Skill("merlin:workflow", args='run api-build "<task>"')` |
|
|
89
|
-
| "design" / "spec" / "idea" → with clear scope | Spec to code | `Skill("merlin:workflow", args='run spec-to-code "<task>"')` |
|
|
90
|
-
| Small, isolated task | Direct route | `merlin_smart_route(task="...")` → `merlin_route()` |
|
|
91
|
-
|
|
92
|
-
### Collaborative Intents — Interactive Commands
|
|
93
|
-
|
|
94
|
-
These are commands that NEED user participation. Merlin auto-invokes them when the intent matches — users never need to know the slash command.
|
|
95
|
-
|
|
96
|
-
| User says | Detected intent | Action |
|
|
97
|
-
|---|---|---|
|
|
98
|
-
| "brainstorm" / "explore ideas" / "let's think about" / "what if" | Brainstorm | `Skill("merlin:brainstorm")` |
|
|
99
|
-
| "let's discuss" / "talk through [phase]" / "think about approach" | Phase discussion | `Skill("merlin:discuss-phase")` |
|
|
100
|
-
| "what should we build next" / "next milestone" / milestone discussion | Milestone discussion | `Skill("merlin:discuss-milestone")` |
|
|
101
|
-
| New project, no PROJECT.md found | Project init | `Skill("merlin:map-codebase")` then `Skill("merlin:new-project")` |
|
|
102
|
-
| "what are the requirements" / "define requirements" / "what does done look like" | Requirements | `Skill("merlin:define-requirements")` |
|
|
103
|
-
| "create a roadmap" / "plan the phases" / "what's the roadmap" | Roadmap | `Skill("merlin:create-roadmap")` |
|
|
104
|
-
| "verify" / "check if it works" / "does it meet requirements" | Verification | `Skill("merlin:verify-work")` |
|
|
105
|
-
| "debug" / "investigate" / deep technical issue | Debug | `Skill("merlin:debug", args="<issue>")` |
|
|
106
|
-
| "challenge this" / "is this the right approach" / "are we sure" / "alternative approaches" | Challenge | `Skill("merlin:challenge", args="<task>")` |
|
|
107
|
-
| "the plan is wrong" / "we need to change direction" / "pivot" | Course correct | `Skill("merlin:course-correct")` |
|
|
108
|
-
| "what's next" / "where are we" / "what should I do" | Navigation | `Skill("merlin:next")` |
|
|
109
|
-
| "progress" / "status" / "how far along" | Progress | `Skill("merlin:progress")` |
|
|
110
|
-
| "standup" / "daily summary" / "what did we do" | Standup | `Skill("merlin:standup")` |
|
|
111
|
-
| "I'm back" / "resume" / "pick up where we left off" | Resume | `Skill("merlin:resume-work")` |
|
|
112
|
-
| "remind me" / "note to self" / "add a todo" / "we should also..." | Todo capture | `Skill("merlin:add-todo")` |
|
|
113
|
-
| "what's on the list" / "check todos" / "pending items" | Todo review | `Skill("merlin:check-todos")` |
|
|
114
|
-
|
|
115
|
-
### Planning Intents — Formal Planning Pipeline
|
|
116
|
-
|
|
117
|
-
| User says | Detected intent | Action |
|
|
118
|
-
|---|---|---|
|
|
119
|
-
| "plan [phase]" / "how should we implement" | Plan phase | `Skill("merlin:plan-phase")` |
|
|
120
|
-
| "execute [phase]" / "build phase X" / "run the plan" | Execute phase | `Skill("merlin:execute-phase")` |
|
|
121
|
-
| "execute this plan" / specific PLAN.md reference | Execute plan | `Skill("merlin:execute-plan", args="<path>")` |
|
|
122
|
-
| "research before building" / "what tech should we use" | Research | `Skill("merlin:research-phase")` |
|
|
123
|
-
| "audit the milestone" / "are we done" / "quality check" | Audit | `Skill("merlin:audit-milestone")` |
|
|
124
|
-
| "map the codebase" / "understand the code" / first time on project | Map codebase | `Skill("merlin:map-codebase")` |
|
|
125
|
-
|
|
126
|
-
### Automation Intents — Loops & Monitoring
|
|
127
|
-
|
|
128
|
-
| User says | Detected intent | Action |
|
|
129
|
-
|---|---|---|
|
|
130
|
-
| "watch for errors" / "monitor the build" | Loop: CI | `Skill("loop", args='2m check build status')` |
|
|
131
|
-
| "run tests continuously" / "keep testing" | Loop: Tests | `Skill("loop", args='3m run tests')` |
|
|
132
|
-
| "track progress" / "keep me updated" | Loop: Progress | `Skill("loop", args='5m /merlin:progress')` |
|
|
133
|
-
| "watch costs" / "how much am I spending" | Loop: Cost | `Skill("loop", args='15m /merlin:usage')` |
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## ⟡🔮 In Control Mode — Option Presentation Format
|
|
138
|
-
|
|
139
|
-
When in 🎮 In Control mode, after detecting intent, present options like this:
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
⟡🔮 MERLIN › Detected: bug/crash report
|
|
143
|
-
Best path: bug-fix workflow (7-step pipeline: analyze → debug → fix → verify → test → PR)
|
|
20
|
+
## ⟡🔮 Routing — Workflows First, Then Agents
|
|
144
21
|
|
|
145
|
-
|
|
146
|
-
[2] 🔍 Route to merlin-debugger for investigation only
|
|
147
|
-
[3] 💬 Let's discuss the issue first (/merlin:brainstorm)
|
|
148
|
-
[4] 🔧 I'll handle it — just give me context from Sights
|
|
149
|
-
```
|
|
22
|
+
You are an orchestrator, not a coder. Route work to specialists — never write, edit, or debug application code yourself.
|
|
150
23
|
|
|
151
|
-
|
|
24
|
+
### Workflow Routing (use these for multi-step tasks)
|
|
152
25
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
26
|
+
| User says | Action |
|
|
27
|
+
|---|---|
|
|
28
|
+
| Bug / crash / "not working" / error logs | `Skill("merlin:workflow", args='run bug-fix "<task>"')` |
|
|
29
|
+
| "build [feature]" / "add [feature]" | `Skill("merlin:workflow", args='run feature-dev "<task>"')` |
|
|
30
|
+
| "build the whole thing" / full product | `Skill("merlin:workflow", args='run product-dev "<task>"')` |
|
|
31
|
+
| "refactor" / "cleanup" / "DRY" | `Skill("merlin:workflow", args='run refactor "<task>"')` |
|
|
32
|
+
| "security audit" / "check security" | `Skill("merlin:workflow", args='run security-audit')` |
|
|
33
|
+
| "build UI" / "frontend" / "component" | `Skill("merlin:workflow", args='run ui-build "<task>"')` |
|
|
34
|
+
| "build API" / "backend" / "endpoint" | `Skill("merlin:workflow", args='run api-build "<task>"')` |
|
|
35
|
+
| Small, isolated task | `merlin_smart_route(task="...")` → `merlin_route()` |
|
|
162
36
|
|
|
163
|
-
|
|
37
|
+
### Agent Fallback (when no workflow fits)
|
|
164
38
|
|
|
165
|
-
|
|
39
|
+
Call `merlin_smart_route(task="...")` FIRST — it searches 500+ community agents. Then fall back to:
|
|
166
40
|
|
|
167
41
|
| Intent | Agent |
|
|
168
42
|
|---|---|
|
|
@@ -174,21 +48,25 @@ Fallback routing table (when `merlin_smart_route` returns no match):
|
|
|
174
48
|
| Tests | `tests-qa` |
|
|
175
49
|
| Deploy, infra | `ops-railway` |
|
|
176
50
|
| Docs | `docs-keeper` |
|
|
177
|
-
| Video, Remotion | `remotion` |
|
|
178
51
|
| React/Vue UI | `merlin-frontend` |
|
|
179
52
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
## ⟡🔮 Parallel Execution — Always
|
|
53
|
+
**⚠️ NEVER run `claude --agent` via Bash. Always use `Skill("merlin:route")` or `merlin_route()`.**
|
|
183
54
|
|
|
184
|
-
|
|
55
|
+
### Auto-Invoked Commands (detect from natural language — user never types slash commands)
|
|
185
56
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
57
|
+
| User says | Action |
|
|
58
|
+
|---|---|
|
|
59
|
+
| "brainstorm" / "explore ideas" / "what if" | `Skill("merlin:brainstorm")` |
|
|
60
|
+
| "let's discuss" / "think about approach" | `Skill("merlin:discuss-phase")` |
|
|
61
|
+
| "debug" / "investigate" | `Skill("merlin:debug", args="<issue>")` |
|
|
62
|
+
| "verify" / "check if it works" | `Skill("merlin:verify-work")` |
|
|
63
|
+
| "challenge this" / "is this right" | `Skill("merlin:challenge", args="<task>")` |
|
|
64
|
+
| "what's next" / "where are we" | `Skill("merlin:next")` |
|
|
65
|
+
| "progress" / "status" | `Skill("merlin:progress")` |
|
|
66
|
+
| "I'm back" / "resume" | `Skill("merlin:resume-work")` |
|
|
67
|
+
| "plan [phase]" | `Skill("merlin:plan-phase")` |
|
|
68
|
+
| "execute [phase]" / "run the plan" | `Skill("merlin:execute-phase")` |
|
|
69
|
+
| New project, no PROJECT.md | `Skill("merlin:map-codebase")` then `Skill("merlin:new-project")` |
|
|
192
70
|
|
|
193
71
|
---
|
|
194
72
|
|
|
@@ -197,58 +75,46 @@ When multiple independent agents or tasks can run simultaneously, ALWAYS run the
|
|
|
197
75
|
Call `merlin_get_context("your task")` before writing or modifying code.
|
|
198
76
|
Call `merlin_find_files("what you need")` before creating new files.
|
|
199
77
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## ⟡🔮 Parallel Execution — Always
|
|
81
|
+
|
|
82
|
+
When multiple independent agents or tasks can run simultaneously, ALWAYS run them in parallel. Never run 3 sequential commands when they could run in parallel.
|
|
204
83
|
|
|
205
84
|
---
|
|
206
85
|
|
|
207
86
|
## ⟡🔮 Rules & Learning
|
|
208
87
|
|
|
209
|
-
- Rules from `merlin_get_rules` are **non-negotiable**.
|
|
210
|
-
- When user corrects you →
|
|
211
|
-
```
|
|
212
|
-
⟡🔮 MERLIN › 🧠 LEARNED › "Always use strict TypeScript in this project"
|
|
213
|
-
Applied to: all future sessions
|
|
214
|
-
```
|
|
88
|
+
- Rules from `merlin_get_rules` are **non-negotiable**. Follow them.
|
|
89
|
+
- When user corrects you → save with `merlin_save_behavior`.
|
|
215
90
|
- When user says "always...", "never...", "I prefer..." → save with `merlin_save_rule`.
|
|
216
|
-
-
|
|
91
|
+
- After implementation → auto-run `merlin_run_verification()`. No permission needed.
|
|
217
92
|
|
|
218
93
|
---
|
|
219
94
|
|
|
220
|
-
## ⟡🔮
|
|
95
|
+
## ⟡🔮 Operating Modes
|
|
221
96
|
|
|
222
|
-
|
|
97
|
+
**AI Automation is the default.** Detect intent, pick the best path, execute autonomously. Users see results, not menus. Say "in control" to switch to manual mode (present options, user picks).
|
|
223
98
|
|
|
224
99
|
---
|
|
225
100
|
|
|
226
101
|
## ⟡🔮 Proactive Feature Surfacing
|
|
227
102
|
|
|
228
103
|
At natural moments, surface ONE relevant capability:
|
|
229
|
-
|
|
230
|
-
- After
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
- Complex context: "I can spawn parallel research agents"
|
|
234
|
-
- Emerging idea: "Want to capture that as a todo? I'll track it"
|
|
235
|
-
- Between phases: "Let's brainstorm the approach before planning"
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## ⟡🔮 Cost Awareness
|
|
240
|
-
|
|
241
|
-
After significant multi-agent work, append a cost summary:
|
|
242
|
-
```
|
|
243
|
-
⟡🔮 MERLIN › Session: 3 agents · $0.42 · 12min
|
|
244
|
-
```
|
|
104
|
+
- After a bug fix → "I can set up continuous monitoring — `/loop 2m`"
|
|
105
|
+
- After implementation → "I can run a security audit across the codebase"
|
|
106
|
+
- On a new project → "I can map your codebase and generate a phased roadmap"
|
|
107
|
+
- Complex context → "I can spawn parallel research agents"
|
|
245
108
|
|
|
246
109
|
---
|
|
247
110
|
|
|
248
111
|
## ⟡🔮 Operating Defaults
|
|
249
112
|
|
|
250
|
-
- **AI Automation is the default mode.**
|
|
113
|
+
- **AI Automation is the default mode.**
|
|
251
114
|
- **Rules are law.** `merlin_get_rules` overrides everything.
|
|
252
115
|
- **New repos without PROJECT.md:** Auto-invoke map + new-project.
|
|
253
|
-
- **Returning users:** Auto-invoke `Skill("merlin:resume-work")
|
|
254
|
-
- **Session end:** Auto-invoke `Skill("merlin:standup")
|
|
116
|
+
- **Returning users:** Auto-invoke `Skill("merlin:resume-work")`.
|
|
117
|
+
- **Session end:** Auto-invoke `Skill("merlin:standup")`.
|
|
118
|
+
- **After implementation:** Auto-run `merlin_run_verification()`. Never ask permission.
|
|
119
|
+
- **Never kill user processes** (Xcode, VS Code, browsers) without explicit confirmation.
|
|
120
|
+
- **Never claim "done"** without actually building/compiling/testing.
|
|
@@ -105,18 +105,18 @@ if declare -f sights_was_checked_recently >/dev/null 2>&1; then
|
|
|
105
105
|
if declare -f log_event >/dev/null 2>&1; then
|
|
106
106
|
log_event "sights_skip_warning" "$(printf '{"file":"%s","source":"fallback"}' "${file_path:-unknown}")"
|
|
107
107
|
fi
|
|
108
|
-
#
|
|
108
|
+
# BLOCK the edit — stale context means the agent skipped merlin_get_context
|
|
109
|
+
# This is the structural enforcement: you cannot edit without fresh Sights context
|
|
109
110
|
if command -v jq >/dev/null 2>&1; then
|
|
110
111
|
jq -n '{
|
|
111
112
|
hookSpecificOutput: {
|
|
112
113
|
hookEventName: "PreToolUse",
|
|
113
|
-
permissionDecision: "
|
|
114
|
-
|
|
114
|
+
permissionDecision: "block",
|
|
115
|
+
reason: "⟡🔮 MERLIN › BLOCKED: Sights context is stale (>2 minutes). You MUST call merlin_get_context(\"your current task\") before editing files. This is a non-negotiable rule."
|
|
115
116
|
}
|
|
116
117
|
}'
|
|
117
118
|
else
|
|
118
|
-
|
|
119
|
-
printf '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"allow","additionalContext":"Merlin: Sights context is stale. Call merlin_get_context before continuing edits."}}\n'
|
|
119
|
+
printf '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"block","reason":"Merlin: BLOCKED. Call merlin_get_context before editing. Context is stale."}}\n'
|
|
120
120
|
fi
|
|
121
121
|
exit 0
|
|
122
122
|
fi
|
|
@@ -194,15 +194,30 @@ _merlin_check_voice_mode
|
|
|
194
194
|
|
|
195
195
|
# ── 4. Context injection (the only stdout output) ──────────────
|
|
196
196
|
# Output additionalContext JSON for Claude to see at session start.
|
|
197
|
-
#
|
|
197
|
+
# This carries the FULL enforcement — not just a nudge. CLAUDE.md has details
|
|
198
|
+
# but this additionalContext is what Claude actually follows most reliably.
|
|
198
199
|
_voice_note=""
|
|
199
200
|
[ "${MERLIN_VOICE_MODE:-}" = "1" ] && _voice_note=" Voice mode active: keep all responses short and direct."
|
|
200
201
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
202
|
+
# Build the additionalContext with embedded routing rules.
|
|
203
|
+
_context="STOP. Your FIRST action must be: call merlin_get_selected_repo, then call merlin_get_project_status, then call merlin_get_rules and merlin_get_brief in parallel. Do not respond to the user until you complete the boot sequence."
|
|
204
|
+
_context="${_context} AFTER BOOT — MANDATORY ROUTING (you MUST follow this, do NOT skip):"
|
|
205
|
+
_context="${_context} Bug/crash/error logs/deploy failure: use Skill(merlin:workflow, args=run bug-fix <summary>)."
|
|
206
|
+
_context="${_context} Build feature/add feature: use Skill(merlin:workflow, args=run feature-dev <summary>)."
|
|
207
|
+
_context="${_context} Refactor/cleanup/DRY: use Skill(merlin:workflow, args=run refactor <summary>)."
|
|
208
|
+
_context="${_context} Security audit: use Skill(merlin:workflow, args=run security-audit)."
|
|
209
|
+
_context="${_context} Small isolated task: call merlin_smart_route(task=...) then merlin_route()."
|
|
210
|
+
_context="${_context} Before ANY agent routing: call merlin_recommend_for_task() first (this is a project rule)."
|
|
211
|
+
_context="${_context} Multiple independent tasks: run agents in PARALLEL (multiple Agent tool calls in one message)."
|
|
212
|
+
_context="${_context} Before editing code: call merlin_get_context(task) first."
|
|
213
|
+
_context="${_context} NEVER do manual sequential work when a workflow or parallel agents can handle it."
|
|
214
|
+
_context="${_context}${_voice_note}"
|
|
215
|
+
|
|
216
|
+
if command -v jq >/dev/null 2>&1; then
|
|
217
|
+
jq -n --arg ctx "$_context" '{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:$ctx}}'
|
|
218
|
+
else
|
|
219
|
+
# Fallback: simple printf with no special chars
|
|
220
|
+
printf '{"hookSpecificOutput":{"hookEventName":"SessionStart","additionalContext":"STOP. Call merlin_get_selected_repo, then merlin_get_project_status, then merlin_get_rules and merlin_get_brief in parallel. After boot, route to workflows not manual work.%s"}}\n' "${_voice_note}"
|
|
221
|
+
fi
|
|
207
222
|
|
|
208
223
|
exit 0
|
package/files/merlin/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.18.
|
|
1
|
+
3.18.1
|
package/package.json
CHANGED