@dedesfr/prompter 0.8.19 → 0.8.21

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/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## [0.8.21] - 2026-05-08
4
+
5
+ ### 🔄 Changed
6
+ - **project-orchestrator Skill**: Refined Caddy web server setup guidance for better multi-project support
7
+ - Changed from per-project embedded Caddy to standalone host-level Caddy recommendation
8
+ - Standalone Caddy owns ports 80/443 globally and terminates TLS for all domains
9
+ - Each project now exposes only internal ports (e.g., 3001, 3002) instead of forwarding 80/443
10
+ - Prevents port conflicts when users add more projects over time
11
+ - Updated plan summary and recommended next steps with proper Caddyfile routing examples
12
+
13
+ ## [0.8.20] - 2026-05-08
14
+
15
+ ### 🔄 Changed
16
+ - **cerebro Skill**: Streamlined session handoff workflow
17
+ - Project creation now happens directly via API instead of redirecting to browser
18
+ - Added direct memory ID resume: users can now say "resume memory k97abc" and agents load it instantly
19
+ - Improved confirmation message with clear instructions on how to load memories in any agent
20
+ - **cerebro Reference**: Complete overhaul of MCP configuration documentation
21
+ - Reorganized per-agent setup with consistent format (transport, config path, restart needed, verify commands)
22
+ - Added VS Code MCP configuration for Copilot users
23
+ - Added stdio binary build instructions and available tools reference table
24
+ - Simplified verification commands for each agent
25
+
3
26
  ## [0.8.19] - 2026-05-07
4
27
 
5
28
  ### ✨ Added
package/dist/cli/index.js CHANGED
@@ -16,7 +16,7 @@ const program = new Command();
16
16
  program
17
17
  .name('prompter')
18
18
  .description('Enhance prompts directly in your AI coding workflow')
19
- .version('0.8.19');
19
+ .version('0.8.21');
20
20
  program
21
21
  .command('init')
22
22
  .description('Initialize Prompter in your project')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dedesfr/prompter",
3
- "version": "0.8.19",
3
+ "version": "0.8.21",
4
4
  "description": "Enhance prompts directly in your AI coding workflow",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -151,7 +151,7 @@ Generate one at `http://localhost:3000` → **Settings → Agent Tokens**. One t
151
151
 
152
152
  2. **Pick a project slug** — use the current working directory's folder name. Confirm only if the cwd looks generic (home dir, `/tmp`).
153
153
 
154
- 3. **Resolve the project ID** via `mcp__cerebro__project_list`. If no project matches the slug, **ask the user** — show them the existing projects and let them choose: pick an existing one, or create a new one at `http://localhost:3000` (Projects New) and tell you when it's ready. Never silently fall back to a different project.
154
+ 3. **Resolve the project ID** via `mcp__cerebro__project_list`. If no project matches the slug, show the existing projects and ask the user whether to pick one or create a new one. If they want a new project, call `mcp__cerebro__project_create` with the slug as the name no need to open the browser. Never silently fall back to a different project.
155
155
 
156
156
  4. **Call `memory_create`**:
157
157
  - `project`: the slug or ID
@@ -160,13 +160,16 @@ Generate one at `http://localhost:3000` → **Settings → Agent Tokens**. One t
160
160
  - `tags`: `["session-handoff", "<source-agent-name>"]`
161
161
  - `metadata`: `{"cwd": "<current working directory>"}`
162
162
 
163
- 5. **Confirm** the memory ID to the user so they can verify in the Cerebro dashboard.
163
+ 5. **Confirm** the memory ID to the user. Tell them:
164
+ - They can verify it in the Cerebro dashboard (the ID is shown on each memory card).
165
+ - In any agent, they can load it instantly by just providing the ID: `"load memory <id>"` → `memory_get({ memoryId: "<id>" })` — no project needed.
164
166
 
165
167
  ---
166
168
 
167
169
  ## Resuming a handoff
168
170
 
169
- 1. Determine the project slug (cwd folder name, or ask).
171
+ 0. **If the user gives you a memory ID directly** (e.g. "resume memory k97abc123"), call `mcp__cerebro__memory_get({ memoryId: "<id>" })` immediately — skip steps 1–3.
172
+ 1. Otherwise, determine the project slug (cwd folder name, or ask).
170
173
  2. Resolve to a project ID via `project_list` if needed.
171
174
  3. Call `memory_search` with query `"session-handoff"`. Filter results to those with `session-handoff` in their tags, sort by `createdAt` descending, take the newest.
172
175
  4. Re-state goal and status in one or two sentences and ask if the user wants to start with the first next-step. Don't dump the whole YAML — they want continuity, not a recap wall.
@@ -1,94 +1,213 @@
1
1
  # Per-Agent MCP Configuration Reference
2
2
 
3
- The installer at `scripts/install_cerebro_mcp.py` writes the cerebro MCP server entry into each detected agent's config file. This document describes what gets written and where, so the user (or you) can verify or hand-edit.
3
+ ## Token
4
4
 
5
- ## Common token storage
5
+ Generate a token at your Cerebro instance → **Settings → Agent Tokens**. Enter a name (e.g. "My Computer"), click **Issue token**, and copy it immediately — it won't be shown again.
6
6
 
7
- The installer stores credentials at `~/.cerebro/config.json` (mode 0600):
7
+ Tokens are **user-scoped**: one token grants read+write access to all projects, including ones created later.
8
8
 
9
- ```json
10
- { "url": "http://localhost:3000", "token": "<bearer token>" }
11
- ```
12
-
13
- This file is the single source of truth the installer reads on subsequent runs. Override per-agent with the `--token` / `--url` flags if needed.
9
+ ---
14
10
 
15
11
  ## Per-agent details
16
12
 
17
13
  ### Claude Code
18
14
 
19
- - **Path**: managed via `claude mcp add` CLI (preferred), falls back to `~/.claude/settings.json`.
20
- - **Transport**: HTTP (`http://localhost:3000/api/mcp` with bearer auth).
21
- - **Restart needed?** No — picked up on next session.
15
+ - **Transport**: HTTP (no binary needed)
16
+ - **Config**: `claude mcp add` CLI (preferred), or add to `~/.claude/settings.json`
17
+ - **Restart needed?** No
18
+
19
+ ```bash
20
+ claude mcp add --transport http --scope user cerebro \
21
+ http://localhost:3000/api/mcp \
22
+ --header "Authorization: Bearer YOUR_TOKEN"
23
+ ```
24
+
25
+ Verify: `claude mcp list` — expect `cerebro connected`.
26
+
27
+ ---
22
28
 
23
29
  ### OpenCode
24
30
 
25
- - **Path**: `~/.config/opencode/opencode.json`, `mcp.cerebro` entry.
26
- - **Transport**: remote HTTP (`type: "remote"`).
27
- - **Restart needed?** No — picked up on next `opencode` invocation.
31
+ - **Transport**: remote HTTP (no binary needed)
32
+ - **Config**: `~/.config/opencode/opencode.json` or project-root `opencode.json`
33
+ - **Restart needed?** No
34
+
35
+ ```jsonc
36
+ {
37
+ "$schema": "https://opencode.ai/config.json",
38
+ "mcp": {
39
+ "cerebro": {
40
+ "type": "remote",
41
+ "url": "http://localhost:3000/api/mcp",
42
+ "headers": { "Authorization": "Bearer YOUR_TOKEN" },
43
+ "enabled": true
44
+ }
45
+ }
46
+ }
47
+ ```
28
48
 
29
- ### Codex (OpenAI Codex CLI)
49
+ Verify: `opencode mcp list`
30
50
 
31
- - **Path**: `~/.codex/config.json`, `mcpServers.cerebro` entry.
32
- - **Transport**: stdio (Codex doesn't currently support remote MCP).
33
- - **Requires**: `cerebro-mcp-server/dist/index.js` built. The installer builds it automatically if `~/Programming/learn/ai/cerebro/cerebro-mcp-server/` exists; override with `CEREBRO_MCP_SERVER=/path/to/cerebro-mcp-server`.
51
+ ---
34
52
 
35
53
  ### Cursor
36
54
 
37
- - **Path**: `~/.cursor/mcp.json`, `mcpServers.cerebro` entry.
38
- - **Transport**: stdio.
39
- - **Restart needed?** **Yes** — full Cursor restart, not just window reload.
55
+ - **Transport**: stdio (requires built binary)
56
+ - **Config**: `~/.cursor/mcp.json`
57
+ - **Restart needed?** **Yes** — full Cursor restart
58
+
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "cerebro": {
63
+ "command": "node",
64
+ "args": ["/path/to/cerebro-mcp-server/dist/index.js"],
65
+ "env": {
66
+ "CEREBRO_URL": "http://localhost:3000",
67
+ "CEREBRO_TOKEN": "YOUR_TOKEN"
68
+ }
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ ---
75
+
76
+ ### VS Code (GitHub Copilot / Copilot Chat)
77
+
78
+ - **Transport**: stdio (requires built binary)
79
+ - **Requires**: VS Code 1.99+ with Copilot extension
80
+ - **Config**: `.vscode/mcp.json` (workspace) or user MCP config via Command Palette → **MCP: Open User Configuration**
81
+ - **Restart needed?** Yes
82
+
83
+ ```json
84
+ {
85
+ "servers": {
86
+ "cerebro": {
87
+ "type": "stdio",
88
+ "command": "node",
89
+ "args": ["/path/to/cerebro-mcp-server/dist/index.js"],
90
+ "env": {
91
+ "CEREBRO_URL": "http://localhost:3000",
92
+ "CEREBRO_TOKEN": "YOUR_TOKEN"
93
+ }
94
+ }
95
+ }
96
+ }
97
+ ```
98
+
99
+ ---
40
100
 
41
101
  ### Windsurf
42
102
 
43
- - **Path**: `~/.codeium/windsurf/mcp_config.json`, `mcpServers.cerebro` entry.
44
- - **Transport**: stdio.
45
- - **Restart needed?** **Yes** — full Windsurf restart.
103
+ - **Transport**: stdio (requires built binary)
104
+ - **Config**: `~/.codeium/windsurf/mcp_config.json`
105
+ - **Restart needed?** **Yes** — full Windsurf restart
106
+
107
+ ```json
108
+ {
109
+ "mcpServers": {
110
+ "cerebro": {
111
+ "command": "node",
112
+ "args": ["/path/to/cerebro-mcp-server/dist/index.js"],
113
+ "env": {
114
+ "CEREBRO_URL": "http://localhost:3000",
115
+ "CEREBRO_TOKEN": "YOUR_TOKEN"
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
122
+ ---
46
123
 
47
124
  ### Claude Desktop
48
125
 
49
- - **macOS path**: `~/Library/Application Support/Claude/claude_desktop_config.json`.
50
- - **Windows path**: `%APPDATA%\Claude\claude_desktop_config.json`.
51
- - **Linux path**: `~/.config/Claude/claude_desktop_config.json`.
52
- - **Transport**: stdio.
53
- - **Restart needed?** **Yes**.
126
+ - **Transport**: stdio (requires built binary)
127
+ - **Config**:
128
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
129
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
130
+ - **Restart needed?** **Yes**
54
131
 
55
- ## Detection rules
132
+ ```json
133
+ {
134
+ "mcpServers": {
135
+ "cerebro": {
136
+ "command": "node",
137
+ "args": ["/path/to/cerebro-mcp-server/dist/index.js"],
138
+ "env": {
139
+ "CEREBRO_URL": "http://localhost:3000",
140
+ "CEREBRO_TOKEN": "YOUR_TOKEN"
141
+ }
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ ---
148
+
149
+ ### Codex CLI
150
+
151
+ - **Transport**: stdio (requires built binary)
152
+ - **Config**: `~/.codex/config.json`
153
+ - **Restart needed?** No
154
+
155
+ ```json
156
+ {
157
+ "mcpServers": {
158
+ "cerebro": {
159
+ "command": "node",
160
+ "args": ["/path/to/cerebro-mcp-server/dist/index.js"],
161
+ "env": {
162
+ "CEREBRO_URL": "http://localhost:3000",
163
+ "CEREBRO_TOKEN": "YOUR_TOKEN"
164
+ }
165
+ }
166
+ }
167
+ }
168
+ ```
169
+
170
+ ---
56
171
 
57
- The installer considers an agent "installed" if any of these are true:
172
+ ## Building the stdio binary
58
173
 
59
- | Agent | Detection signal |
174
+ Required for all stdio-transport agents (Cursor, VS Code, Windsurf, Claude Desktop, Codex CLI):
175
+
176
+ ```bash
177
+ cd /path/to/cerebro-mcp-server
178
+ npm install && npm run build
179
+ # produces dist/index.js — use its absolute path in configs above
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Available tools
185
+
186
+ | Tool | What it does |
60
187
  |---|---|
61
- | `claude` | `claude` CLI on PATH **or** `~/.claude/` exists |
62
- | `opencode` | `opencode` CLI on PATH **or** `~/.config/opencode/` exists |
63
- | `codex` | `codex` CLI on PATH **or** `~/.codex/` exists |
64
- | `cursor` | `~/.cursor/` exists **or** `/Applications/Cursor.app` |
65
- | `windsurf` | `~/.codeium/` exists **or** `/Applications/Windsurf.app` |
66
- | `claude-desktop` | `/Applications/Claude.app` **or** OS-specific config dir exists |
188
+ | `project_list` | List all projects (name, slug, ID) |
189
+ | `project_create` | Create a new project |
190
+ | `memory_create` | Create a memory in a project |
191
+ | `memory_get` | Fetch a memory by ID only — no project needed |
192
+ | `memory_update` | Update an existing memory |
193
+ | `memory_delete` | Delete a memory permanently |
194
+ | `memory_list` | List all memories in a project |
195
+ | `memory_search` | Full-text search across a project's memories |
67
196
 
68
- Force a subset with `--agents claude,opencode,codex`. Force-include an undetected agent the same way.
197
+ ---
69
198
 
70
199
  ## Verifying after install
71
200
 
72
201
  In Claude Code:
73
-
74
202
  ```bash
75
203
  claude mcp list
76
204
  ```
77
-
78
205
  Expect `cerebro` with status `connected`.
79
206
 
80
207
  In OpenCode:
81
-
82
208
  ```bash
83
209
  opencode mcp list
210
+ opencode mcp debug cerebro
84
211
  ```
85
212
 
86
- In a freshly-started Cursor / Windsurf / Claude Desktop, check the tool list (hammer icon or equivalent) for cerebro tools: `project_list`, `memory_create`, `memory_get`, `memory_list`, `memory_search`, `memory_update`, `memory_delete`.
87
-
88
- ## Uninstall
89
-
90
- ```bash
91
- node ~/.claude/skills/session-handoff/scripts/install_cerebro_mcp.js uninstall
92
- ```
93
-
94
- Removes the cerebro entry from every detected agent. Pass `--agents` to limit scope. Does **not** delete `~/.cerebro/config.json` — remove that manually if you want to fully reset.
213
+ In stdio-transport agents (Cursor, VS Code, Windsurf, Claude Desktop), check the tool list (hammer icon) for the 8 tools above after restarting.
@@ -303,9 +303,28 @@ When Docker is used and a web server or reverse proxy is needed (e.g., for Larav
303
303
  - **Always use Caddy** as the web server and reverse proxy -- do NOT use or recommend Nginx or Apache.
304
304
  - Caddy automatically handles HTTPS (via Let's Encrypt or ZeroSSL) in production with zero extra configuration.
305
305
  - For local development, Caddy serves HTTP by default -- no certificate setup needed.
306
- - Add a `Caddyfile` at the project root and a `caddy` service in `docker-compose.yml`.
307
306
  - Mention Caddy in the final plan summary under the Docker/web server row and in the recommended next steps.
308
307
 
308
+ **Always use a standalone host-level Caddy** -- do NOT embed Caddy inside a project's `docker-compose.yml`. Even for a single project today, users commonly add more projects later, and a per-project Caddy would conflict on ports 80/443.
309
+
310
+ The correct setup:
311
+
312
+ 1. **One standalone Caddy on the host** (installed directly or in its own `docker-compose.yml` folder) owns ports 80/443 and terminates TLS for all domains.
313
+ 2. **Each project exposes only an internal port** (e.g., `3001`, `3002`) -- no `ports: - "80:80"` in their `docker-compose.yml`.
314
+ 3. The host Caddyfile routes by domain:
315
+
316
+ ```caddy
317
+ project-a.com {
318
+ reverse_proxy localhost:3001
319
+ }
320
+
321
+ project-b.com {
322
+ reverse_proxy localhost:3002
323
+ }
324
+ ```
325
+
326
+ Include this setup in the final plan summary and recommended next steps.
327
+
309
328
  ### Laravel + Docker Guidelines
310
329
 
311
330
  When the user chooses a Laravel stack (Bundle 3, 4, or 5) with Docker:
package/src/cli/index.ts CHANGED
@@ -18,7 +18,7 @@ const program = new Command();
18
18
  program
19
19
  .name('prompter')
20
20
  .description('Enhance prompts directly in your AI coding workflow')
21
- .version('0.8.19');
21
+ .version('0.8.21');
22
22
 
23
23
  program
24
24
  .command('init')