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.
@@ -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;AAkE9C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CA8O7D"}
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 — Boot Sequence BEFORE Every Response
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** — Auto-detect intent from the user's message. Apply the current operating mode (see below). Take action.
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
- ## ⟡🔮 Intent Detection The Brain
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
+ ## ⟡🔮 RoutingWorkflows First, Then Agents
144
21
 
145
- [1] 🤖 Run bug-fix workflow (recommendedfull automated pipeline)
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
- Always make [1] the recommended autonomous option. Always include a collaborative option when relevant.
24
+ ### Workflow Routing (use these for multi-step tasks)
152
25
 
153
- ---
154
-
155
- ## ⟡🔮 Smart Route First Always
156
-
157
- For ANY task routing, call `merlin_smart_route(task="...")` FIRST. It searches 500+ community agents before the static table.
158
-
159
- ```
160
- ⟡🔮 MERLIN Found `prisma-expert` (A+ grade) in catalog augmenting your agent
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
- **⚠️ NEVER run `claude --agent` via Bash. Always use `Skill("merlin:route")` or `merlin_route()`.**
37
+ ### Agent Fallback (when no workflow fits)
164
38
 
165
- Fallback routing table (when `merlin_smart_route` returns no match):
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
- When multiple independent agents or tasks can run simultaneously, ALWAYS run them in parallel:
55
+ ### Auto-Invoked Commands (detect from natural language user never types slash commands)
185
56
 
186
- ```
187
- ⟡🔮 MERLIN › Running 3 agents in parallel:
188
- ├─ implementation-dev: Phase 1
189
- ├─ hardening-guard: Security review
190
- └─ tests-qa: Test suite ⏳
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
- ⟡🔮 MERLIN › get_context("payment processing")
202
- Found PaymentService.ts, StripeClient.ts
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**. Load at boot. Follow always.
210
- - When user corrects you → immediately save with `merlin_save_behavior` and show:
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
- - Before commits → auto-run `merlin_run_verification`. No permission needed.
91
+ - After implementation → auto-run `merlin_run_verification()`. No permission needed.
217
92
 
218
93
  ---
219
94
 
220
- ## ⟡🔮 Automatic Verification
95
+ ## ⟡🔮 Operating Modes
221
96
 
222
- After any implementation work, auto-run `merlin_run_verification()`. Never ask permission.
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 a bug fix: "I can set up continuous monitoring `/loop 2m`"
231
- - After implementation: "I can run a security audit across the codebase"
232
- - On a new project: "I can map your codebase and generate a phased roadmap"
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.** Switch to In Control only when user asks.
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")` when context suggests continuation.
254
- - **Session end:** Auto-invoke `Skill("merlin:standup")` to summarize what was done.
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
- # Return additionalContext nudgethis is the key fix that was missing
108
+ # BLOCK the editstale 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: "allow",
114
- additionalContext: "⟡\uD83D\uDD2E MERLIN \u203A Sights context is stale (>2 minutes since last check). Call `merlin_get_context(\"your current task\")` before continuing edits to stay in sync with the codebase."
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
- # No jq output a simpler JSON manually
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
- # Full boot instructions are in CLAUDE.md this is a lightweight nudge.
197
+ # This carries the FULL enforcementnot 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
- printf '{
202
- "hookSpecificOutput": {
203
- "hookEventName": "SessionStart",
204
- "additionalContext": "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. After boot, auto-detect the user intent and take action — do NOT just show options. Do not respond to the user until you complete the boot sequence.%s"
205
- }
206
- }\n' "${_voice_note}"
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
@@ -1 +1 @@
1
- 3.18.0
1
+ 3.18.1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-merlin-brain",
3
- "version": "3.18.0",
3
+ "version": "3.18.3",
4
4
  "description": "Merlin - The Ultimate AI Brain for Claude Code. One install: workflows, agents, loop, and Sights MCP server.",
5
5
  "type": "module",
6
6
  "main": "./dist/server/index.js",