@juancr11/sibu 0.12.2 → 0.12.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.
Files changed (2) hide show
  1. package/README.md +212 -87
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,54 +1,200 @@
1
- # ai-augmented-workflow
1
+ # Sibu
2
2
 
3
- A local workspace for developing and refining an AI-augmented software development workflow.
3
+ Sibu helps developers set up and maintain an AI-augmented development workflow without handing the steering wheel to the machine.
4
4
 
5
- ## Install Sibu
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
- The official way to install and update Sibu is with npm:
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
- After installing, the normal user flow is:
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. run `sibu init` in your project
16
- 2. run `sibu doctor` to check workflow health
17
- 3. if `sibu doctor` says a newer npm version exists, run `npm install -g @juancr11/sibu`
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 alone does not change project files. It only changes what `sibu doctor` can detect against the newer installed templates.
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
- ## CLI
47
+ ## Core commands
24
48
 
25
- Sibu helps projects adopt and maintain AI workflow support files safely.
49
+ ### `sibu init`
26
50
 
27
- From a project directory, run:
51
+ Run this once in a project to adopt Sibu:
28
52
 
29
53
  ```sh
30
54
  sibu init
31
55
  ```
32
56
 
33
- `sibu init` is idempotent: it opens a polished interactive flow, lets you select supported agents with the keyboard, creates missing workflow files for that selection, keeps existing files unchanged, and reports when no changes are needed. When `AGENTS.md` is missing, the CLI asks for a project overview and writes the file based on the template in this repository. It can also create Codex, Gemini, and Claude support files when selected. Sibu records the generated workflow state in `.sibu/state.json` so `sibu doctor` can detect drift safely.
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
- Use `sibu doctor` to run a read-only health check. It reports missing managed files, local modifications, malformed state metadata, and template version drift without changing files.
108
+ ### `sibu mcp`
36
109
 
37
- If `sibu doctor` tells you that a newer npm version exists, update with `npm install -g @juancr11/sibu`, rerun `sibu doctor`, and only then decide whether to run `sibu sync`. Updating Sibu alone changes what doctor can detect; it does not change project files.
110
+ List, add, or stop supported MCP server configuration:
38
111
 
39
- Use `sibu sync` to review template updates interactively. It explains human-readable template changes, protects local edits from automatic overwrites, and lets you apply safe updates, mark customized files as reviewed, write side templates, stop managing a file, or skip for later. Sibu records each file as `managed`, `customized`, or `unmanaged` in `.sibu/state.json`.
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
- Use `sibu skills list` to list available workflow skills and see which selectable skills are currently enabled for the project.
145
+ ## Skills Inventory
42
146
 
43
- Use `sibu skills stop <file>` to stop managing an Sibu-tracked workflow file. The file is marked as `unmanaged` in `.sibu/state.json`, removed from the selected skill state when applicable, and the CLI asks whether to keep or delete the local file.
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
- ## MCP server setup
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 authentication remain user-owned.
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
- ### 1. Confirm available MCP servers
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
- ### 2. Configure the GitHub MCP server
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
- ### 3. Provide GitHub credentials
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
- ### 4. Configure the Notion MCP server
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
- ### 5. Stop managing an MCP server
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
- ## Release notes and changelog
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
- If you are preparing a new Sibu npm release, 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.
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
- ## Contributor local testing
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
- 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. For release readiness, prefer tarball-based validation with `npm pack` so you verify the exact package contents users will install.
317
+ ### Local CLI testing
186
318
 
187
- From this repository:
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 new project directory:
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 /home/juanca/code/ai-augmented-workflow
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
- ## Validate the npm package
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
- Before treating a build as ready to publish, validate the packaged artifact instead of relying only on `pnpm link`.
353
+ ### Package validation
222
354
 
223
- ### 1. Inspect the tarball contents
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
- Use the tarball listing to confirm the packed artifact includes the expected runtime files:
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
- This check proves the package contents are correct, but it does **not** prove the installed CLI runs correctly after npm global install.
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
- - runs `npm pack` in an isolated temporary workspace
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
- If this command fails, treat it as an installed-package runtime problem rather than a normal local-development issue.
389
+ At a high level, every Sibu release should update both release-note surfaces:
256
390
 
257
- Treat tarball inspection plus `pnpm run validate:packed-runtime` as the release-readiness path for npm packaging changes. Use `pnpm dev:link` only for interactive local development.
391
+ - `CHANGELOG.md` as the canonical source in the repo
392
+ - the matching GitHub Release as the public release surface
258
393
 
259
- ## Validate the doctor npm update advisory
394
+ ### Focused validation helpers
260
395
 
261
- Use the deterministic override hooks to verify both advisory scenarios without depending on a real npm publish cycle:
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 validation proves both of these cases locally:
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
- This validation proves the full explicit flow locally:
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juancr11/sibu",
3
- "version": "0.12.2",
3
+ "version": "0.12.3",
4
4
  "description": "CLI for setting up a local AI-augmented development workflow.",
5
5
  "repository": {
6
6
  "type": "git",