@clawcipes/recipes 0.1.0 → 0.1.2

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/README.md CHANGED
@@ -87,6 +87,25 @@ Reference:
87
87
  - Team IDs end with `-team`; agent IDs are namespaced: `<teamId>-<role>`.
88
88
  - Recipe template rendering is intentionally simple: `{{var}}` replacement only.
89
89
 
90
+ ## Removing (uninstalling) a scaffolded team
91
+ Clawcipes does not (yet) include a first-class `remove-team` command.
92
+
93
+ To remove a scaffolded team created with `scaffold-team --apply-config`, do two things:
94
+
95
+ 1) Remove team + agent folders (recommended: send to trash):
96
+ ```bash
97
+ trash ~/.openclaw/workspace/teams/<teamId>
98
+ trash ~/.openclaw/workspace/agents/<teamId>-*
99
+ ```
100
+
101
+ 2) Remove the agents from OpenClaw config:
102
+ - Edit `~/.openclaw/openclaw.json`
103
+ - Delete the matching entries under `agents.list[]` whose `id` starts with `<teamId>-`
104
+ - Restart:
105
+ ```bash
106
+ openclaw gateway restart
107
+ ```
108
+
90
109
  ## Links
91
110
  - GitHub: https://github.com/rjdjohnston/clawcipes
92
111
  - Docs:
@@ -47,6 +47,41 @@ The intent:
47
47
  - Most agents should **not** have `exec`.
48
48
  - Only agents that truly need it (dev/devops) should get runtime/exec capabilities.
49
49
 
50
+ ## How to add/update tool access (allow list)
51
+ There are two common approaches.
52
+
53
+ ### Option A (recommended): update the recipe, then re-apply config
54
+ 1) Edit the recipe markdown (either a workspace recipe or your own copy of a bundled recipe) and change `tools.allow` / `tools.deny`.
55
+
56
+ 2) Re-run scaffold with `--apply-config`:
57
+
58
+ Team:
59
+ ```bash
60
+ openclaw recipes scaffold-team <recipeId> --team-id <teamId> --overwrite --apply-config
61
+ openclaw gateway restart
62
+ ```
63
+
64
+ Individual agent:
65
+ ```bash
66
+ openclaw recipes scaffold <recipeId> --agent-id <agentId> --overwrite --apply-config
67
+ openclaw gateway restart
68
+ ```
69
+
70
+ ### Option B: edit OpenClaw config directly
71
+ 1) Edit:
72
+ - `~/.openclaw/openclaw.json`
73
+
74
+ 2) Find the matching agent under `agents.list[]` and edit:
75
+ - `tools.allow`
76
+ - `tools.deny`
77
+
78
+ 3) Restart:
79
+ ```bash
80
+ openclaw gateway restart
81
+ ```
82
+
83
+ > Tip: if you later re-run scaffold with `--apply-config`, the recipe’s tool policy may overwrite your manual edits. If you want a change to stick, encode it in the recipe.
84
+
50
85
  ## Installing skills (workspace-local)
51
86
  Clawcipes favors **workspace-local** installs so each OpenClaw workspace is self-contained.
52
87
 
@@ -78,6 +113,25 @@ To remove a workspace-local skill:
78
113
 
79
114
  (We can add `openclaw recipes uninstall <slug>` later if you want it to be first-class.)
80
115
 
116
+ ## Removing (uninstalling) a scaffolded team
117
+ Clawcipes does not (yet) include a first-class `remove-team` command.
118
+
119
+ If you scaffolded a team with `scaffold-team --apply-config`, removal has two parts:
120
+
121
+ 1) Remove the team + agent folders (recommended: send to trash):
122
+ ```bash
123
+ trash ~/.openclaw/workspace/teams/<teamId>
124
+ trash ~/.openclaw/workspace/agents/<teamId>-*
125
+ ```
126
+
127
+ 2) Remove the agents from OpenClaw config:
128
+ - Edit `~/.openclaw/openclaw.json`
129
+ - Delete the matching entries under `agents.list[]` whose `id` starts with `<teamId>-`
130
+ - Restart:
131
+ ```bash
132
+ openclaw gateway restart
133
+ ```
134
+
81
135
  ## Teams: shared workspace + multiple agents
82
136
  A **team** recipe scaffolds:
83
137
  - a shared team folder under `teams/<teamId>/...`
@@ -99,6 +153,9 @@ Agents are just folders under:
99
153
  Common files:
100
154
  - `SOUL.md` — the persona / operating style
101
155
  - `AGENTS.md` — operating instructions / workflow
156
+ - `TOOLS.md` — agent-local notes (paths, conventions, env quirks)
157
+ - `STATUS.md` — current focus / next actions
158
+ - `NOTES.md` — scratchpad
102
159
 
103
160
  To change behavior, edit these files and then just use the agent again.
104
161
 
package/index.ts CHANGED
@@ -200,8 +200,46 @@ function upsertAgentInConfig(cfgObj: any, snippet: AgentConfigSnippet) {
200
200
  tools: snippet.tools ? { ...snippet.tools } : prev?.tools,
201
201
  };
202
202
 
203
- if (idx >= 0) list[idx] = nextAgent;
204
- else list.push(nextAgent);
203
+ if (idx >= 0) {
204
+ list[idx] = nextAgent;
205
+ return;
206
+ }
207
+
208
+ // New agent: append to end of list.
209
+ // (We still separately enforce that main exists and stays first/default.)
210
+ list.push(nextAgent);
211
+ }
212
+
213
+ function ensureMainFirstInAgentsList(cfgObj: any, api: OpenClawPluginApi) {
214
+ if (!cfgObj.agents) cfgObj.agents = {};
215
+ if (!Array.isArray(cfgObj.agents.list)) cfgObj.agents.list = [];
216
+
217
+ const list: any[] = cfgObj.agents.list;
218
+
219
+ const workspaceRoot =
220
+ cfgObj.agents?.defaults?.workspace ??
221
+ api.config.agents?.defaults?.workspace ??
222
+ "~/.openclaw/workspace";
223
+
224
+ const idx = list.findIndex((a) => a?.id === "main");
225
+ const prevMain = idx >= 0 ? list[idx] : {};
226
+
227
+ // Enforce: main exists, is first, and is the default.
228
+ const main = {
229
+ ...prevMain,
230
+ id: "main",
231
+ default: true,
232
+ workspace: prevMain?.workspace ?? workspaceRoot,
233
+ sandbox: prevMain?.sandbox ?? { mode: "off" },
234
+ };
235
+
236
+ // Ensure only one default.
237
+ for (const a of list) {
238
+ if (a?.id !== "main" && a?.default) a.default = false;
239
+ }
240
+
241
+ if (idx >= 0) list.splice(idx, 1);
242
+ list.unshift(main);
205
243
  }
206
244
 
207
245
  async function applyAgentSnippetsToOpenClawConfig(api: OpenClawPluginApi, snippets: AgentConfigSnippet[]) {
@@ -211,8 +249,15 @@ async function applyAgentSnippetsToOpenClawConfig(api: OpenClawPluginApi, snippe
211
249
 
212
250
  // Some loaders return { cfg, ... }. If so, normalize.
213
251
  const cfgObj = (current.cfg ?? current) as any;
252
+
253
+ // Always keep main first/default when multi-agent workflows are in play.
254
+ ensureMainFirstInAgentsList(cfgObj, api);
255
+
214
256
  for (const s of snippets) upsertAgentInConfig(cfgObj, s);
215
257
 
258
+ // Re-assert ordering/default after upserts.
259
+ ensureMainFirstInAgentsList(cfgObj, api);
260
+
216
261
  await (api.runtime as any).config?.writeConfigFile?.(cfgObj);
217
262
  return { updatedAgents: snippets.map((s) => s.id) };
218
263
  }
@@ -269,6 +314,27 @@ const recipesPlugin = {
269
314
  properties: {},
270
315
  },
271
316
  register(api: OpenClawPluginApi) {
317
+ // On plugin load, ensure multi-agent config has an explicit agents.list with main at top.
318
+ // This is idempotent and only writes if a change is required.
319
+ (async () => {
320
+ try {
321
+ const current = (api.runtime as any).config?.loadConfig?.();
322
+ if (!current) return;
323
+ const cfgObj = (current.cfg ?? current) as any;
324
+
325
+ const before = JSON.stringify(cfgObj.agents?.list ?? null);
326
+ ensureMainFirstInAgentsList(cfgObj, api);
327
+ const after = JSON.stringify(cfgObj.agents?.list ?? null);
328
+
329
+ if (before !== after) {
330
+ await (api.runtime as any).config?.writeConfigFile?.(cfgObj);
331
+ console.error("[recipes] ensured agents.list includes main as first/default");
332
+ }
333
+ } catch (e) {
334
+ console.error(`[recipes] warning: failed to ensure main agent in agents.list: ${(e as Error).message}`);
335
+ }
336
+ })();
337
+
272
338
  api.registerCli(
273
339
  ({ program }) => {
274
340
  const cmd = program.command("recipes").description("Manage markdown recipes (scaffold agents/teams)");
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "@clawcipes/recipes",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Clawcipes recipes plugin for OpenClaw (markdown recipes -> scaffold agents/teams)",
5
5
  "main": "index.ts",
6
6
  "type": "commonjs",
7
7
  "openclaw": {
8
- "extensions": ["./index.ts"]
8
+ "extensions": [
9
+ "./index.ts"
10
+ ]
9
11
  },
10
12
  "publishConfig": {
11
13
  "access": "public"
@@ -21,7 +23,12 @@
21
23
  "scripts": {
22
24
  "test": "echo \"(no tests yet)\""
23
25
  },
24
- "keywords": ["openclaw", "clawcipes", "plugin", "recipes"],
26
+ "keywords": [
27
+ "openclaw",
28
+ "clawcipes",
29
+ "plugin",
30
+ "recipes"
31
+ ],
25
32
  "author": "",
26
33
  "license": "MIT",
27
34
  "dependencies": {
@@ -137,6 +137,66 @@ templates:
137
137
  - resolution steps
138
138
  - prevention / follow-ups
139
139
 
140
+ lead.tools: |
141
+ # TOOLS.md
142
+
143
+ # Agent-local notes for lead (paths, conventions, env quirks).
144
+
145
+ lead.status: |
146
+ # STATUS.md
147
+
148
+ - (empty)
149
+
150
+ lead.notes: |
151
+ # NOTES.md
152
+
153
+ - (empty)
154
+
155
+ triage.tools: |
156
+ # TOOLS.md
157
+
158
+ # Agent-local notes for triage (paths, conventions, env quirks).
159
+
160
+ triage.status: |
161
+ # STATUS.md
162
+
163
+ - (empty)
164
+
165
+ triage.notes: |
166
+ # NOTES.md
167
+
168
+ - (empty)
169
+
170
+ resolver.tools: |
171
+ # TOOLS.md
172
+
173
+ # Agent-local notes for resolver (paths, conventions, env quirks).
174
+
175
+ resolver.status: |
176
+ # STATUS.md
177
+
178
+ - (empty)
179
+
180
+ resolver.notes: |
181
+ # NOTES.md
182
+
183
+ - (empty)
184
+
185
+ kb-writer.tools: |
186
+ # TOOLS.md
187
+
188
+ # Agent-local notes for kb-writer (paths, conventions, env quirks).
189
+
190
+ kb-writer.status: |
191
+ # STATUS.md
192
+
193
+ - (empty)
194
+
195
+ kb-writer.notes: |
196
+ # NOTES.md
197
+
198
+ - (empty)
199
+
140
200
  files:
141
201
  - path: SOUL.md
142
202
  template: soul
@@ -144,6 +204,15 @@ files:
144
204
  - path: AGENTS.md
145
205
  template: agents
146
206
  mode: createOnly
207
+ - path: TOOLS.md
208
+ template: tools
209
+ mode: createOnly
210
+ - path: STATUS.md
211
+ template: status
212
+ mode: createOnly
213
+ - path: NOTES.md
214
+ template: notes
215
+ mode: createOnly
147
216
 
148
217
  tools:
149
218
  profile: "coding"
@@ -31,6 +31,21 @@ templates:
31
31
  - document how to test
32
32
  - include any follow-ups
33
33
 
34
+ tools: |
35
+ # TOOLS.md
36
+
37
+ # Agent-local notes (paths, conventions, env quirks).
38
+
39
+ status: |
40
+ # STATUS.md
41
+
42
+ - (empty)
43
+
44
+ notes: |
45
+ # NOTES.md
46
+
47
+ - (empty)
48
+
34
49
  files:
35
50
  - path: SOUL.md
36
51
  template: soul
@@ -38,6 +53,15 @@ files:
38
53
  - path: AGENTS.md
39
54
  template: agents
40
55
  mode: createOnly
56
+ - path: TOOLS.md
57
+ template: tools
58
+ mode: createOnly
59
+ - path: STATUS.md
60
+ template: status
61
+ mode: createOnly
62
+ - path: NOTES.md
63
+ template: notes
64
+ mode: createOnly
41
65
 
42
66
  tools:
43
67
  profile: "coding"
@@ -130,6 +130,51 @@ templates:
130
130
  - How to verify
131
131
  - Rollback notes (if applicable)
132
132
 
133
+ lead.tools: |
134
+ # TOOLS.md
135
+
136
+ # Agent-local notes for lead (paths, conventions, env quirks).
137
+
138
+ lead.status: |
139
+ # STATUS.md
140
+
141
+ - (empty)
142
+
143
+ lead.notes: |
144
+ # NOTES.md
145
+
146
+ - (empty)
147
+
148
+ dev.tools: |
149
+ # TOOLS.md
150
+
151
+ # Agent-local notes for dev (paths, conventions, env quirks).
152
+
153
+ dev.status: |
154
+ # STATUS.md
155
+
156
+ - (empty)
157
+
158
+ dev.notes: |
159
+ # NOTES.md
160
+
161
+ - (empty)
162
+
163
+ devops.tools: |
164
+ # TOOLS.md
165
+
166
+ # Agent-local notes for devops (paths, conventions, env quirks).
167
+
168
+ devops.status: |
169
+ # STATUS.md
170
+
171
+ - (empty)
172
+
173
+ devops.notes: |
174
+ # NOTES.md
175
+
176
+ - (empty)
177
+
133
178
  files:
134
179
  - path: SOUL.md
135
180
  template: soul
@@ -137,6 +182,15 @@ files:
137
182
  - path: AGENTS.md
138
183
  template: agents
139
184
  mode: createOnly
185
+ - path: TOOLS.md
186
+ template: tools
187
+ mode: createOnly
188
+ - path: STATUS.md
189
+ template: status
190
+ mode: createOnly
191
+ - path: NOTES.md
192
+ template: notes
193
+ mode: createOnly
140
194
 
141
195
  tools:
142
196
  profile: "coding"
@@ -32,6 +32,21 @@ templates:
32
32
  - is each section doing one job?
33
33
  - are there any claims that need a link/citation?
34
34
 
35
+ tools: |
36
+ # TOOLS.md
37
+
38
+ # Agent-local notes (paths, conventions, env quirks).
39
+
40
+ status: |
41
+ # STATUS.md
42
+
43
+ - (empty)
44
+
45
+ notes: |
46
+ # NOTES.md
47
+
48
+ - (empty)
49
+
35
50
  files:
36
51
  - path: SOUL.md
37
52
  template: soul
@@ -39,6 +54,15 @@ files:
39
54
  - path: AGENTS.md
40
55
  template: agents
41
56
  mode: createOnly
57
+ - path: TOOLS.md
58
+ template: tools
59
+ mode: createOnly
60
+ - path: STATUS.md
61
+ template: status
62
+ mode: createOnly
63
+ - path: NOTES.md
64
+ template: notes
65
+ mode: createOnly
42
66
 
43
67
  tools:
44
68
  profile: "coding"
@@ -153,6 +153,81 @@ templates:
153
153
  - edge cases
154
154
  - regression checklist
155
155
 
156
+ lead.tools: |
157
+ # TOOLS.md
158
+
159
+ # Agent-local notes for lead (paths, conventions, env quirks).
160
+
161
+ lead.status: |
162
+ # STATUS.md
163
+
164
+ - (empty)
165
+
166
+ lead.notes: |
167
+ # NOTES.md
168
+
169
+ - (empty)
170
+
171
+ pm.tools: |
172
+ # TOOLS.md
173
+
174
+ # Agent-local notes for pm (paths, conventions, env quirks).
175
+
176
+ pm.status: |
177
+ # STATUS.md
178
+
179
+ - (empty)
180
+
181
+ pm.notes: |
182
+ # NOTES.md
183
+
184
+ - (empty)
185
+
186
+ designer.tools: |
187
+ # TOOLS.md
188
+
189
+ # Agent-local notes for designer (paths, conventions, env quirks).
190
+
191
+ designer.status: |
192
+ # STATUS.md
193
+
194
+ - (empty)
195
+
196
+ designer.notes: |
197
+ # NOTES.md
198
+
199
+ - (empty)
200
+
201
+ engineer.tools: |
202
+ # TOOLS.md
203
+
204
+ # Agent-local notes for engineer (paths, conventions, env quirks).
205
+
206
+ engineer.status: |
207
+ # STATUS.md
208
+
209
+ - (empty)
210
+
211
+ engineer.notes: |
212
+ # NOTES.md
213
+
214
+ - (empty)
215
+
216
+ qa.tools: |
217
+ # TOOLS.md
218
+
219
+ # Agent-local notes for qa (paths, conventions, env quirks).
220
+
221
+ qa.status: |
222
+ # STATUS.md
223
+
224
+ - (empty)
225
+
226
+ qa.notes: |
227
+ # NOTES.md
228
+
229
+ - (empty)
230
+
156
231
  files:
157
232
  - path: SOUL.md
158
233
  template: soul
@@ -160,6 +235,15 @@ files:
160
235
  - path: AGENTS.md
161
236
  template: agents
162
237
  mode: createOnly
238
+ - path: TOOLS.md
239
+ template: tools
240
+ mode: createOnly
241
+ - path: STATUS.md
242
+ template: status
243
+ mode: createOnly
244
+ - path: NOTES.md
245
+ template: notes
246
+ mode: createOnly
163
247
 
164
248
  tools:
165
249
  profile: "coding"
@@ -28,6 +28,21 @@ templates:
28
28
  - Daily: review inbox and plan.
29
29
  - Weekly: produce a short summary.
30
30
 
31
+ tools: |
32
+ # TOOLS.md
33
+
34
+ # Agent-local notes (paths, conventions, env quirks).
35
+
36
+ status: |
37
+ # STATUS.md
38
+
39
+ - (empty)
40
+
41
+ notes: |
42
+ # NOTES.md
43
+
44
+ - (empty)
45
+
31
46
  files:
32
47
  - path: SOUL.md
33
48
  template: soul
@@ -35,6 +50,15 @@ files:
35
50
  - path: AGENTS.md
36
51
  template: agents
37
52
  mode: createOnly
53
+ - path: TOOLS.md
54
+ template: tools
55
+ mode: createOnly
56
+ - path: STATUS.md
57
+ template: status
58
+ mode: createOnly
59
+ - path: NOTES.md
60
+ template: notes
61
+ mode: createOnly
38
62
  tools:
39
63
  profile: "coding"
40
64
  allow: ["group:fs", "group:web", "cron", "message"]
@@ -136,6 +136,66 @@ templates:
136
136
  - Risks/unknowns
137
137
  - Links (source list)
138
138
 
139
+ lead.tools: |
140
+ # TOOLS.md
141
+
142
+ # Agent-local notes for lead (paths, conventions, env quirks).
143
+
144
+ lead.status: |
145
+ # STATUS.md
146
+
147
+ - (empty)
148
+
149
+ lead.notes: |
150
+ # NOTES.md
151
+
152
+ - (empty)
153
+
154
+ researcher.tools: |
155
+ # TOOLS.md
156
+
157
+ # Agent-local notes for researcher (paths, conventions, env quirks).
158
+
159
+ researcher.status: |
160
+ # STATUS.md
161
+
162
+ - (empty)
163
+
164
+ researcher.notes: |
165
+ # NOTES.md
166
+
167
+ - (empty)
168
+
169
+ fact-checker.tools: |
170
+ # TOOLS.md
171
+
172
+ # Agent-local notes for fact-checker (paths, conventions, env quirks).
173
+
174
+ fact-checker.status: |
175
+ # STATUS.md
176
+
177
+ - (empty)
178
+
179
+ fact-checker.notes: |
180
+ # NOTES.md
181
+
182
+ - (empty)
183
+
184
+ summarizer.tools: |
185
+ # TOOLS.md
186
+
187
+ # Agent-local notes for summarizer (paths, conventions, env quirks).
188
+
189
+ summarizer.status: |
190
+ # STATUS.md
191
+
192
+ - (empty)
193
+
194
+ summarizer.notes: |
195
+ # NOTES.md
196
+
197
+ - (empty)
198
+
139
199
  files:
140
200
  - path: SOUL.md
141
201
  template: soul
@@ -143,6 +203,15 @@ files:
143
203
  - path: AGENTS.md
144
204
  template: agents
145
205
  mode: createOnly
206
+ - path: TOOLS.md
207
+ template: tools
208
+ mode: createOnly
209
+ - path: STATUS.md
210
+ template: status
211
+ mode: createOnly
212
+ - path: NOTES.md
213
+ template: notes
214
+ mode: createOnly
146
215
 
147
216
  tools:
148
217
  profile: "coding"
@@ -33,6 +33,21 @@ templates:
33
33
  - 3–7 bullet summary
34
34
  - key quotes (optional)
35
35
 
36
+ tools: |
37
+ # TOOLS.md
38
+
39
+ # Agent-local notes (paths, conventions, env quirks).
40
+
41
+ status: |
42
+ # STATUS.md
43
+
44
+ - (empty)
45
+
46
+ notes: |
47
+ # NOTES.md
48
+
49
+ - (empty)
50
+
36
51
  files:
37
52
  - path: SOUL.md
38
53
  template: soul
@@ -40,6 +55,15 @@ files:
40
55
  - path: AGENTS.md
41
56
  template: agents
42
57
  mode: createOnly
58
+ - path: TOOLS.md
59
+ template: tools
60
+ mode: createOnly
61
+ - path: STATUS.md
62
+ template: status
63
+ mode: createOnly
64
+ - path: NOTES.md
65
+ template: notes
66
+ mode: createOnly
43
67
 
44
68
  tools:
45
69
  profile: "coding"
@@ -89,6 +89,7 @@ templates:
89
89
  - Edited drafts go in `work/edited/`.
90
90
  - Provide a short changelog at the top.
91
91
 
92
+
92
93
  files:
93
94
  - path: SOUL.md
94
95
  template: soul
@@ -96,6 +97,15 @@ files:
96
97
  - path: AGENTS.md
97
98
  template: agents
98
99
  mode: createOnly
100
+ - path: TOOLS.md
101
+ template: tools
102
+ mode: createOnly
103
+ - path: STATUS.md
104
+ template: status
105
+ mode: createOnly
106
+ - path: NOTES.md
107
+ template: notes
108
+ mode: createOnly
99
109
 
100
110
  tools:
101
111
  profile: "coding"
@@ -120,6 +120,66 @@ templates:
120
120
  - Provide a short changelog at the top.
121
121
  - Flag any factual claims that need citations.
122
122
 
123
+ lead.tools: |
124
+ # TOOLS.md
125
+
126
+ # Agent-local notes for lead (paths, conventions, env quirks).
127
+
128
+ lead.status: |
129
+ # STATUS.md
130
+
131
+ - (empty)
132
+
133
+ lead.notes: |
134
+ # NOTES.md
135
+
136
+ - (empty)
137
+
138
+ outliner.tools: |
139
+ # TOOLS.md
140
+
141
+ # Agent-local notes for outliner (paths, conventions, env quirks).
142
+
143
+ outliner.status: |
144
+ # STATUS.md
145
+
146
+ - (empty)
147
+
148
+ outliner.notes: |
149
+ # NOTES.md
150
+
151
+ - (empty)
152
+
153
+ writer.tools: |
154
+ # TOOLS.md
155
+
156
+ # Agent-local notes for writer (paths, conventions, env quirks).
157
+
158
+ writer.status: |
159
+ # STATUS.md
160
+
161
+ - (empty)
162
+
163
+ writer.notes: |
164
+ # NOTES.md
165
+
166
+ - (empty)
167
+
168
+ editor.tools: |
169
+ # TOOLS.md
170
+
171
+ # Agent-local notes for editor (paths, conventions, env quirks).
172
+
173
+ editor.status: |
174
+ # STATUS.md
175
+
176
+ - (empty)
177
+
178
+ editor.notes: |
179
+ # NOTES.md
180
+
181
+ - (empty)
182
+
123
183
  files:
124
184
  - path: SOUL.md
125
185
  template: soul
@@ -127,6 +187,15 @@ files:
127
187
  - path: AGENTS.md
128
188
  template: agents
129
189
  mode: createOnly
190
+ - path: TOOLS.md
191
+ template: tools
192
+ mode: createOnly
193
+ - path: STATUS.md
194
+ template: status
195
+ mode: createOnly
196
+ - path: NOTES.md
197
+ template: notes
198
+ mode: createOnly
130
199
 
131
200
  tools:
132
201
  profile: "coding"