@juancr11/sibu 0.12.2 → 0.12.4
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 +212 -87
- package/package.json +1 -1
- package/templates/manifest.json +3 -3
- package/templates/skills/deep-module-map-writer/SKILL.md +36 -0
package/README.md
CHANGED
|
@@ -1,54 +1,200 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Sibu
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Sibu helps developers set up and maintain an AI-augmented development workflow without handing the steering wheel to the machine.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It gives your repo a practical workflow kit: shared agent instructions, focused skills, safety rules, MCP configuration, template health checks, and sync guidance that help you move faster while keeping local control.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
If your AI setup is a pile of copied prompts, half-updated agent files, and “I think this is how we do it now” conventions, Sibu is the reset button.
|
|
8
|
+
|
|
9
|
+
## Why Sibu exists
|
|
10
|
+
|
|
11
|
+
AI-assisted development is moving fast. The hard part is no longer finding one more model, editor, agent, or prompt. The hard part is turning all of that motion into a workflow your future self and your team can trust.
|
|
12
|
+
|
|
13
|
+
Sibu is a CLI companion for that job. It helps you:
|
|
14
|
+
|
|
15
|
+
- bootstrap consistent AI workflow files in a project
|
|
16
|
+
- select the agents, skills, and MCP servers your repo should support
|
|
17
|
+
- check whether managed workflow files are missing, modified, or stale
|
|
18
|
+
- review template updates without silently overwriting local edits
|
|
19
|
+
- keep AI work small, explicit, reviewable, and human-owned
|
|
20
|
+
|
|
21
|
+
Sibu is not an AI IDE. It is not an autopilot. It is a grounded workflow layer for engineers who want speed without slop.
|
|
22
|
+
|
|
23
|
+
## Quickstart
|
|
24
|
+
|
|
25
|
+
Install Sibu globally with npm:
|
|
8
26
|
|
|
9
27
|
```sh
|
|
10
28
|
npm install -g @juancr11/sibu
|
|
11
29
|
```
|
|
12
30
|
|
|
13
|
-
|
|
31
|
+
Then run the normal first-use flow from the project you want to equip with an AI workflow:
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
sibu init
|
|
35
|
+
sibu doctor
|
|
36
|
+
sibu sync
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
What happens:
|
|
14
40
|
|
|
15
|
-
1.
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
18
|
-
4. rerun `sibu doctor`
|
|
19
|
-
5. if drift is reported, decide whether to run `sibu sync`
|
|
41
|
+
1. `sibu init` creates or records the starting workflow files for your selected agents, skills, and MCP servers.
|
|
42
|
+
2. `sibu doctor` runs a read-only health check for missing files, local modifications, template drift, and package update advice.
|
|
43
|
+
3. `sibu sync` lets you review drift and template updates interactively before anything changes.
|
|
20
44
|
|
|
21
|
-
Updating Sibu
|
|
45
|
+
Updating the Sibu npm package does **not** automatically change project files. It only updates the CLI and bundled templates that `sibu doctor` can compare against. Your repo changes only when you explicitly initialize, sync, add/remove supported workflow pieces, or choose a mutating action.
|
|
22
46
|
|
|
23
|
-
##
|
|
47
|
+
## Core commands
|
|
24
48
|
|
|
25
|
-
|
|
49
|
+
### `sibu init`
|
|
26
50
|
|
|
27
|
-
|
|
51
|
+
Run this once in a project to adopt Sibu:
|
|
28
52
|
|
|
29
53
|
```sh
|
|
30
54
|
sibu init
|
|
31
55
|
```
|
|
32
56
|
|
|
33
|
-
`
|
|
57
|
+
`init` opens an interactive setup flow, lets you choose supported agents and optional workflow pieces, creates missing support files, preserves existing files, and records managed workflow metadata in `.sibu/state.json`.
|
|
58
|
+
|
|
59
|
+
If `AGENTS.md` is missing, Sibu asks for a project overview and writes one from the bundled template. If files already exist, Sibu keeps them intact instead of pretending it owns your repo.
|
|
60
|
+
|
|
61
|
+
### `sibu doctor`
|
|
62
|
+
|
|
63
|
+
Run a read-only health check:
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
sibu doctor
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`doctor` reports workflow state without changing files. It can identify missing managed files, local modifications, malformed state metadata, template version drift, unsupported selections, and npm update advice.
|
|
70
|
+
|
|
71
|
+
If `doctor` says a newer Sibu version exists, update the CLI and check again:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
npm install -g @juancr11/sibu
|
|
75
|
+
sibu doctor
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
A package update may let `doctor` detect newer templates, but it still will not mutate your project. If drift appears, decide whether to review it with `sibu sync`.
|
|
79
|
+
|
|
80
|
+
### `sibu sync`
|
|
81
|
+
|
|
82
|
+
Review and apply workflow maintenance actions:
|
|
83
|
+
|
|
84
|
+
```sh
|
|
85
|
+
sibu sync
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`sync` explains what changed, protects local edits from automatic overwrites, and lets you choose safe actions such as applying an update, recreating a missing managed file, writing a side template for comparison, marking a customized file as reviewed, stopping management, or skipping for later.
|
|
89
|
+
|
|
90
|
+
Sibu records managed files as `managed`, `customized`, or `unmanaged` in `.sibu/state.json`, so the project remains transparent about what Sibu tracks and what you own directly.
|
|
91
|
+
|
|
92
|
+
### `sibu skills`
|
|
93
|
+
|
|
94
|
+
List available workflow skills and see what is selected:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
sibu skills list
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Stop managing a selected skill file when it no longer fits the project:
|
|
101
|
+
|
|
102
|
+
```sh
|
|
103
|
+
sibu skills stop <file>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Sibu updates state, removes the selected skill when applicable, and asks whether to keep or delete the local file.
|
|
34
107
|
|
|
35
|
-
|
|
108
|
+
### `sibu mcp`
|
|
36
109
|
|
|
37
|
-
|
|
110
|
+
List, add, or stop supported MCP server configuration:
|
|
38
111
|
|
|
39
|
-
|
|
112
|
+
```sh
|
|
113
|
+
sibu mcp list
|
|
114
|
+
sibu mcp use github
|
|
115
|
+
sibu mcp stop github
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Sibu writes supported agent config files, but runtime prerequisites, credentials, provider login, and permissions remain yours.
|
|
119
|
+
|
|
120
|
+
## The Sibu Workflow Loop
|
|
121
|
+
|
|
122
|
+
Sibu works best when AI collaboration stays small, explicit, and reviewable. The loop is the rhythm: orient before building, build in focused slices, validate the result, and keep the workflow healthy over time.
|
|
123
|
+
|
|
124
|
+
```mermaid
|
|
125
|
+
flowchart LR
|
|
126
|
+
orient["1. Orient<br/>Product vision + module map"] --> design["2. Design<br/>Feature brief + technical design"]
|
|
127
|
+
design --> plan["3. Plan<br/>Epics, stories + implementation steps"]
|
|
128
|
+
plan --> build["4. Build<br/>Small AI-assisted changes"]
|
|
129
|
+
build --> validate["5. Validate<br/>Tests, checks + human review"]
|
|
130
|
+
validate --> maintain["6. Maintain<br/>doctor + sync"]
|
|
131
|
+
maintain --> orient
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
| Stage | What it means |
|
|
135
|
+
| --- | --- |
|
|
136
|
+
| Orient | Clarify the product promise, boundaries, and deep modules so AI work starts with context instead of vibes. |
|
|
137
|
+
| Design | Turn a feature idea into a brief and technical direction before implementation details sprawl. |
|
|
138
|
+
| Plan | Split work into epics, stories, and implementation steps small enough for reviewable AI collaboration. |
|
|
139
|
+
| Build | Let agents help with focused changes while the engineer keeps scope and judgment. |
|
|
140
|
+
| Validate | Run checks, inspect output, and require human approval before treating work as done. |
|
|
141
|
+
| Maintain | Use `sibu doctor` and `sibu sync` to keep workflow files current without silently overwriting local choices. |
|
|
142
|
+
|
|
143
|
+
This is not ceremony for ceremony's sake. It is how Sibu keeps velocity from turning into slop.
|
|
40
144
|
|
|
41
|
-
|
|
145
|
+
## Skills Inventory
|
|
42
146
|
|
|
43
|
-
|
|
147
|
+
Skills are reusable instructions that teach an AI agent how to handle a focused kind of work. Sibu uses them to keep prompts smaller, workflows clearer, and responsibilities explicit.
|
|
44
148
|
|
|
45
|
-
|
|
149
|
+
```mermaid
|
|
150
|
+
flowchart TB
|
|
151
|
+
skills["Sibu skills"]
|
|
152
|
+
|
|
153
|
+
skills --> product["Product + planning"]
|
|
154
|
+
product --> productVision["product-vision-writer"]
|
|
155
|
+
product --> deepModuleMap["deep-module-map-writer"]
|
|
156
|
+
product --> featureBrief["feature-brief-writer"]
|
|
157
|
+
product --> scrumPlanner["scrum-master-planner"]
|
|
158
|
+
|
|
159
|
+
skills --> designDelivery["Design + delivery"]
|
|
160
|
+
designDelivery --> technicalDesign["technical-design-writer"]
|
|
161
|
+
designDelivery --> implementationPlanner["ai-implementation-planner"]
|
|
162
|
+
designDelivery --> implementationExecutor["ai-implementation-plan-executor"]
|
|
163
|
+
|
|
164
|
+
skills --> engineering["Engineering guidance"]
|
|
165
|
+
engineering --> cleanCode["clean-code"]
|
|
166
|
+
engineering --> typescript["typescript"]
|
|
167
|
+
engineering --> commandPattern["command-pattern"]
|
|
168
|
+
|
|
169
|
+
skills --> promptsMaintenance["Prompts + workflow maintenance"]
|
|
170
|
+
promptsMaintenance --> promptEngineer["ai-prompt-engineer-master"]
|
|
171
|
+
promptsMaintenance --> templateChange["sibu-template-change"]
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
| Skill | Helps with | Use when... |
|
|
175
|
+
| --- | --- | --- |
|
|
176
|
+
| `product-vision-writer` | Product vision and positioning | You need to define or revise the product north star, audience, boundaries, voice, or success signals. |
|
|
177
|
+
| `deep-module-map-writer` | Deep implementation boundaries | You need to map durable modules before feature work, or decide where future work belongs. |
|
|
178
|
+
| `feature-brief-writer` | Business-level feature definition | You need a scoped feature brief grounded in the product vision and Deep Module Map. |
|
|
179
|
+
| `technical-design-writer` | Implementation-oriented design | You have an approved feature brief and need a concise technical direction before planning stories. |
|
|
180
|
+
| `scrum-master-planner` | Epics and user stories | You need to split an approved feature brief and technical design into pragmatic delivery slices. |
|
|
181
|
+
| `ai-implementation-planner` | Story implementation steps | You need an approved user story turned into small, executable implementation-plan files. |
|
|
182
|
+
| `ai-implementation-plan-executor` | Plan execution | You want an agent to execute a story implementation plan, stop for review, then commit after approval. |
|
|
183
|
+
| `clean-code` | General code quality | Any task writes or modifies code and should stay clear, simple, focused, and readable. |
|
|
184
|
+
| `typescript` | TypeScript guidance | A task changes `.ts` or `.tsx` files and needs practical TypeScript discipline. |
|
|
185
|
+
| `command-pattern` | Vertical-slice command design | Work involves command handlers, workflows, request processing, or executable tasks. |
|
|
186
|
+
| `ai-prompt-engineer-master` | Prompt and template quality | You are creating, rewriting, compressing, or evaluating prompts or reusable AI instructions. |
|
|
187
|
+
| `sibu-template-change` | Sibu template maintenance | You change files under `templates/` or template manifest metadata and need safe lifecycle validation. |
|
|
188
|
+
|
|
189
|
+
The point is not to make agents magical. The point is to give them the right job, the right context, and a tight enough boundary that a human can trust the result.
|
|
190
|
+
|
|
191
|
+
## Advanced setup: MCP servers
|
|
46
192
|
|
|
47
193
|
Sibu can generate MCP server configuration for supported agents. Supported MCP servers include GitHub and Notion.
|
|
48
194
|
|
|
49
|
-
Sibu only writes and tracks MCP config files. Runtime prerequisites, credentials, and provider
|
|
195
|
+
Sibu only writes and tracks MCP config files. Runtime prerequisites, credentials, provider authentication, workspace access, and provider permissions remain user-owned.
|
|
50
196
|
|
|
51
|
-
###
|
|
197
|
+
### Confirm available MCP servers
|
|
52
198
|
|
|
53
199
|
From a Sibu-managed project, run:
|
|
54
200
|
|
|
@@ -58,7 +204,7 @@ sibu mcp list
|
|
|
58
204
|
|
|
59
205
|
This shows each available MCP server and whether it is already selected for the project.
|
|
60
206
|
|
|
61
|
-
###
|
|
207
|
+
### Configure the GitHub MCP server
|
|
62
208
|
|
|
63
209
|
You can select GitHub during `sibu init`, or add it later:
|
|
64
210
|
|
|
@@ -111,9 +257,7 @@ Gemini uses streamable HTTP config with an authorization header:
|
|
|
111
257
|
}
|
|
112
258
|
```
|
|
113
259
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
Create a GitHub personal access token with the repository permissions your agent should have, then expose it as an environment variable before launching the agent:
|
|
260
|
+
Create a GitHub personal access token with the repository permissions your agent should have, then expose it before launching the agent:
|
|
117
261
|
|
|
118
262
|
```sh
|
|
119
263
|
export GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here
|
|
@@ -121,7 +265,7 @@ export GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here
|
|
|
121
265
|
|
|
122
266
|
Do not commit tokens or write them into Sibu-managed config files. The generated configs read `GITHUB_PERSONAL_ACCESS_TOKEN` from the environment so credentials can stay outside the repository.
|
|
123
267
|
|
|
124
|
-
###
|
|
268
|
+
### Configure the Notion MCP server
|
|
125
269
|
|
|
126
270
|
You can select Notion during `sibu init`, or add it later:
|
|
127
271
|
|
|
@@ -141,7 +285,7 @@ For Codex with the hosted Notion MCP server, you may need to run the agent-speci
|
|
|
141
285
|
codex mcp login notion
|
|
142
286
|
```
|
|
143
287
|
|
|
144
|
-
###
|
|
288
|
+
### Stop managing an MCP server
|
|
145
289
|
|
|
146
290
|
To remove a selected MCP server from Sibu's state, run:
|
|
147
291
|
|
|
@@ -152,45 +296,33 @@ sibu mcp stop notion
|
|
|
152
296
|
|
|
153
297
|
Sibu updates generated agent config where possible and asks whether to keep or delete MCP-only config files. Stopping Notion only updates local Sibu state and managed MCP config files; it does not delete Notion pages or change Notion permissions.
|
|
154
298
|
|
|
155
|
-
##
|
|
156
|
-
|
|
157
|
-
For every Sibu release, update both release-note locations:
|
|
158
|
-
|
|
159
|
-
- `CHANGELOG.md` is the canonical source in the repo
|
|
160
|
-
- the matching GitHub Release is the public release surface
|
|
161
|
-
|
|
162
|
-
When preparing a release, write or update the `CHANGELOG.md` entry first, then publish the matching GitHub Release using that same summary.
|
|
163
|
-
|
|
164
|
-
This keeps one source of truth in the repo while still giving users a public release page they can browse from GitHub.
|
|
165
|
-
|
|
166
|
-
## Maintainer release workflow
|
|
299
|
+
## Contributing
|
|
167
300
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
## Contributor development
|
|
171
|
-
|
|
172
|
-
The rest of this README section is for contributors working on Sibu itself, not for end users installing the CLI.
|
|
301
|
+
Contributor guidance lives near the bottom on purpose: the README is mostly for people deciding whether to try Sibu. If you are here to work on Sibu itself, this is the quick path.
|
|
173
302
|
|
|
174
303
|
The CLI entrypoint lives in `src/entrypoints/cli/`, command handlers live in `src/features/`, shared workflow utilities live in `src/shared/`, and everything compiles to `bin/sibu.js`. The `bin/` directory is generated by `pnpm build` and should not be edited directly.
|
|
175
304
|
|
|
305
|
+
### Local setup
|
|
306
|
+
|
|
176
307
|
```sh
|
|
177
308
|
pnpm install
|
|
309
|
+
pnpm build
|
|
310
|
+
pnpm check
|
|
311
|
+
pnpm test
|
|
178
312
|
pnpm verify
|
|
179
313
|
```
|
|
180
314
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
Use `pnpm link --global` to make the local `sibu` command available from any directory while developing.
|
|
315
|
+
`pnpm verify` is the normal local confidence check: it builds, typechecks, and runs tests.
|
|
184
316
|
|
|
185
|
-
|
|
317
|
+
### Local CLI testing
|
|
186
318
|
|
|
187
|
-
|
|
319
|
+
Use `pnpm dev:link` to make the local `sibu` command available from any directory while developing:
|
|
188
320
|
|
|
189
321
|
```sh
|
|
190
322
|
pnpm dev:link
|
|
191
323
|
```
|
|
192
324
|
|
|
193
|
-
Then test it in a
|
|
325
|
+
Then test it in a scratch project:
|
|
194
326
|
|
|
195
327
|
```sh
|
|
196
328
|
mkdir /tmp/test-sibu-project
|
|
@@ -206,7 +338,7 @@ find . -maxdepth 2 -type f | sort
|
|
|
206
338
|
After editing CLI source files under `src/`, rebuild before testing again:
|
|
207
339
|
|
|
208
340
|
```sh
|
|
209
|
-
cd /
|
|
341
|
+
cd path/to/ai-augmented-workflow
|
|
210
342
|
pnpm build
|
|
211
343
|
```
|
|
212
344
|
|
|
@@ -216,55 +348,58 @@ When you are done testing the linked CLI, remove the global link:
|
|
|
216
348
|
pnpm dev:unlink
|
|
217
349
|
```
|
|
218
350
|
|
|
219
|
-
|
|
351
|
+
This linked workflow is useful for day-to-day contributor development, but it is **not** a supported end-user install path and it is **not** the release-readiness check for npm publishing.
|
|
220
352
|
|
|
221
|
-
|
|
353
|
+
### Package validation
|
|
222
354
|
|
|
223
|
-
|
|
355
|
+
Before treating a build as ready to publish, validate the packaged artifact instead of relying only on local package linking:
|
|
224
356
|
|
|
225
357
|
```sh
|
|
226
358
|
pnpm verify
|
|
359
|
+
pnpm run validate:packed-runtime
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
For deeper release-readiness validation, run:
|
|
363
|
+
|
|
364
|
+
```sh
|
|
365
|
+
pnpm run validate:release
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
The packed-runtime validation installs the produced tarball into an isolated npm prefix, verifies `sibu --help`, creates a fixture project, and runs `sibu doctor` to prove the installed CLI can read bundled runtime assets such as templates.
|
|
369
|
+
|
|
370
|
+
If you need to inspect tarball contents manually:
|
|
371
|
+
|
|
372
|
+
```sh
|
|
227
373
|
mkdir -p /tmp/sibu-pack
|
|
228
374
|
npm pack --json --pack-destination /tmp/sibu-pack
|
|
229
375
|
tar -tzf /tmp/sibu-pack/juancr11-sibu-*.tgz | sort
|
|
230
376
|
```
|
|
231
377
|
|
|
232
|
-
|
|
378
|
+
Expected runtime package contents include:
|
|
233
379
|
|
|
234
380
|
- `bin/sibu.js`
|
|
235
381
|
- runtime code under `bin/entrypoints/`, `bin/features/`, and `bin/shared/`
|
|
236
382
|
- `templates/`
|
|
237
383
|
- `README.md`
|
|
238
384
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
### 2. Smoke test the installed tarball runtime
|
|
242
|
-
|
|
243
|
-
```sh
|
|
244
|
-
pnpm run validate:packed-runtime
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
This command:
|
|
385
|
+
### Release notes and releases
|
|
248
386
|
|
|
249
|
-
|
|
250
|
-
- installs the produced tarball into an isolated npm prefix
|
|
251
|
-
- verifies `sibu --help` runs from the installed binary
|
|
252
|
-
- creates a temporary fixture project outside this repo
|
|
253
|
-
- runs `sibu doctor` in that fixture project to prove the installed CLI can read bundled runtime assets such as templates
|
|
387
|
+
For release workflow details, use [`docs/releasing.md`](docs/releasing.md). That guide covers version bumping, `CHANGELOG.md`, tarball-based validation, npm publish, GitHub Release creation, and post-publish verification.
|
|
254
388
|
|
|
255
|
-
|
|
389
|
+
At a high level, every Sibu release should update both release-note surfaces:
|
|
256
390
|
|
|
257
|
-
|
|
391
|
+
- `CHANGELOG.md` as the canonical source in the repo
|
|
392
|
+
- the matching GitHub Release as the public release surface
|
|
258
393
|
|
|
259
|
-
|
|
394
|
+
### Focused validation helpers
|
|
260
395
|
|
|
261
|
-
Use
|
|
396
|
+
Use deterministic override hooks to validate doctor version-advisory behavior without depending on a real npm publish cycle:
|
|
262
397
|
|
|
263
398
|
```sh
|
|
264
399
|
pnpm run validate:doctor-version-advisory
|
|
265
400
|
```
|
|
266
401
|
|
|
267
|
-
This
|
|
402
|
+
This proves both of these cases locally:
|
|
268
403
|
|
|
269
404
|
- a newer npm version is available and `sibu doctor` suggests `npm install -g @juancr11/sibu`
|
|
270
405
|
- npm lookup is unavailable and `sibu doctor` still completes the local health check without failing
|
|
@@ -276,23 +411,13 @@ SIBU_NPM_LATEST_VERSION=9.9.9 node ./bin/sibu.js doctor
|
|
|
276
411
|
SIBU_NPM_LOOKUP_MODE=offline node ./bin/sibu.js doctor
|
|
277
412
|
```
|
|
278
413
|
|
|
279
|
-
## Validate post-update drift after upgrading Sibu
|
|
280
|
-
|
|
281
414
|
Use the local two-tarball validation flow to prove that upgrading Sibu can surface new drift without changing project files automatically:
|
|
282
415
|
|
|
283
416
|
```sh
|
|
284
417
|
pnpm run validate:post-update-doctor-drift
|
|
285
418
|
```
|
|
286
419
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
- install an older local tarball
|
|
290
|
-
- run `sibu doctor` and see the npm update advisory
|
|
291
|
-
- update to a newer local tarball
|
|
292
|
-
- rerun `sibu doctor` and see drift reported
|
|
293
|
-
- confirm no files change until `sibu sync` is explicitly run
|
|
294
|
-
|
|
295
|
-
## Changing templates
|
|
420
|
+
### Changing templates
|
|
296
421
|
|
|
297
422
|
Templates are versioned product artifacts. When changing any file under `templates/`, use the local template-change skill if available and update `templates/manifest.json` in the same change.
|
|
298
423
|
|
package/package.json
CHANGED
package/templates/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"templateVersion": "
|
|
2
|
+
"templateVersion": "95",
|
|
3
3
|
"templates": {
|
|
4
4
|
"AGENTS.md": {
|
|
5
5
|
"version": "28",
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
"skills/deep-module-map-writer/SKILL.md": {
|
|
61
|
-
"version": "
|
|
61
|
+
"version": "4",
|
|
62
62
|
"description": "Mandatory Deep Module Map writer skill installed once at the shared .agents/skills workspace path.",
|
|
63
63
|
"changes": [
|
|
64
|
-
"
|
|
64
|
+
"Adds explicit Deep Module Map discovery guidance so agents keep interviewing one question at a time until module interfaces, hidden complexity, ownership, exclusions, scenarios, relationships, and cross-module rules are clear enough to defend."
|
|
65
65
|
]
|
|
66
66
|
},
|
|
67
67
|
"skills/feature-brief-writer/SKILL.md": {
|
|
@@ -139,6 +139,42 @@ Be deliberately interrogative before writing.
|
|
|
139
139
|
- If the conversation stalls, propose one concise assumption for the next unresolved point and ask the user to confirm or correct it.
|
|
140
140
|
- Draft only when there are no material open questions about interfaces, hidden complexity, ownership, exclusions, relationships, or cross-module rules.
|
|
141
141
|
|
|
142
|
+
## Clarify module intent before drafting
|
|
143
|
+
|
|
144
|
+
Do not draft a Deep Module Map from a vague product idea, feature label, command name, screen, folder, or implementation mechanism alone. The map must reflect the user's actual system responsibilities and the complexity boundaries that should stay stable over time.
|
|
145
|
+
|
|
146
|
+
A request is too vague when the user gives only a broad area such as "onboarding," "analytics," "sync," "workflow," "AI features," "the CLI," or "the database" without enough detail to know what capability the rest of the system should rely on or what implementation complexity should be hidden.
|
|
147
|
+
|
|
148
|
+
When module intent is vague or incomplete:
|
|
149
|
+
|
|
150
|
+
1. Stop before drafting.
|
|
151
|
+
2. Explain briefly that a responsible Deep Module Map requires more boundary context.
|
|
152
|
+
3. Ask one focused discovery question.
|
|
153
|
+
4. Wait for the user's answer.
|
|
154
|
+
5. Continue asking one question at a time until there is enough context to defend the map.
|
|
155
|
+
6. Draft only after the module candidates, interfaces, hidden complexity, ownership, exclusions, scenarios, relationships, and cross-module rules are clear enough to avoid invention.
|
|
156
|
+
|
|
157
|
+
Do not ask the user to answer a large questionnaire all at once. Keep the interview conversational and focused.
|
|
158
|
+
|
|
159
|
+
## Gather the minimum required module context
|
|
160
|
+
|
|
161
|
+
Ask every question needed to remove material ambiguity, but only one at a time. Clarify:
|
|
162
|
+
|
|
163
|
+
- what product or system capabilities the map must support
|
|
164
|
+
- what the rest of the app should be able to ask each area to do
|
|
165
|
+
- what messy details callers should not need to know
|
|
166
|
+
- which decisions or policies should change together
|
|
167
|
+
- which responsibilities each candidate module owns
|
|
168
|
+
- which responsibilities each candidate module explicitly does not own
|
|
169
|
+
- key scenarios that prove the module boundary is useful
|
|
170
|
+
- relationships and dependencies between candidate modules
|
|
171
|
+
- cross-module rules such as user ownership, safety, validation, local customization, or read-only vs mutating behavior
|
|
172
|
+
- where future implementation work is likely to create boundary confusion
|
|
173
|
+
|
|
174
|
+
Treat "enough context" as: candidate modules, suggested slugs, simple external interfaces, hidden implementation complexity, responsibilities, exclusions, scenarios, relationships, and cross-module rules are all clear enough to defend. Do not draft a map with an `Open Questions` section. Resolve material questions during the interview, or record only known risks/tradeoffs after decisions are made.
|
|
175
|
+
|
|
176
|
+
If the conversation stalls, offer one concise default assumption for the next unresolved boundary and ask the user to confirm, correct, or reject it before proceeding.
|
|
177
|
+
|
|
142
178
|
## Interview method
|
|
143
179
|
|
|
144
180
|
Derive candidate modules from answers. Do not make the user design the map from scratch.
|