mother-brain 0.6.5 → 0.7.1
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/dist/cli.js
CHANGED
|
@@ -798,7 +798,7 @@ async function uninstall(options) {
|
|
|
798
798
|
// src/cli.ts
|
|
799
799
|
import { exec as exec3 } from "child_process";
|
|
800
800
|
var program = new Command();
|
|
801
|
-
var VERSION = "0.
|
|
801
|
+
var VERSION = "0.7.1";
|
|
802
802
|
program.name("mother-brain").description("AI-powered project management framework for GitHub Copilot CLI and Codex CLI").version(VERSION);
|
|
803
803
|
program.command("init").description("Initialize Mother Brain in the current project").option("-f, --force", "Overwrite existing skills").action(init);
|
|
804
804
|
program.command("update").description("Update Mother Brain skills to the latest version").action(update);
|
package/package.json
CHANGED
|
@@ -47,6 +47,15 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
|
|
|
47
47
|
- Compare to local version
|
|
48
48
|
- If newer version exists → notify user BEFORE proceeding
|
|
49
49
|
|
|
50
|
+
### RULE 3A: FRIENDLY + QUIET STARTUP (FAST BOOT)
|
|
51
|
+
- Startup must feel like a friendly application:
|
|
52
|
+
- Show a short boot screen (no commands, no internal reasoning)
|
|
53
|
+
- Target: user sees an actionable menu in under 30 seconds
|
|
54
|
+
- Update check must happen BEFORE any heavy detection output:
|
|
55
|
+
- If update is available, show the update menu immediately
|
|
56
|
+
- Do not dump status paragraphs first and then discover an update
|
|
57
|
+
- **TEMPLATE LOADING**: Before printing the boot screen, read `references/boot-screen.md` and follow it.
|
|
58
|
+
|
|
50
59
|
### RULE 4: WHEN INVOKING OTHER SKILLS
|
|
51
60
|
- **skill-creator**: Invoke and WAIT for it to complete, then return here
|
|
52
61
|
- **child-brain**: Invoke and WAIT for it to complete, then return here
|
|
@@ -67,12 +76,15 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
|
|
|
67
76
|
- Even when user selects from menu options (not just freeform), note significant preferences
|
|
68
77
|
- This makes learning visible to the user - they should SEE their input being captured
|
|
69
78
|
|
|
70
|
-
### RULE 6: TRIGGER CHILD BRAIN ON FREEFORM
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
79
|
+
### RULE 6: TRIGGER CHILD BRAIN ON LEARNING SIGNALS (NOT ALL FREEFORM)
|
|
80
|
+
- Do NOT invoke Child Brain solely because input was freeform.
|
|
81
|
+
- Invoke Child Brain when there is something to learn:
|
|
82
|
+
- Friction: something broke, didn't work, or wasn't right
|
|
83
|
+
- Positive feedback: user liked something or a pattern should be reinforced
|
|
84
|
+
- Process non-compliance: user points out something was missed/skipped/not followed (blocking)
|
|
85
|
+
- Meta-improvement: user wants to improve Mother Brain, its skills, or its process
|
|
86
|
+
- Checkpoints: automatic retrospectives at outcome wrap-up, phase completion, and after Layer 4 feedback resolution
|
|
87
|
+
- For freeform text at a menu, use **Freeform Classification (Step 12)** and only invoke Child Brain for the feedback/preference or friction paths (or at the automatic checkpoints).
|
|
76
88
|
|
|
77
89
|
### RULE 7: SELF-CHECK
|
|
78
90
|
- If you're about to do something NOT in the Steps section → STOP
|
|
@@ -109,6 +121,8 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
|
|
|
109
121
|
1. Read the relevant template file from `references/` or `examples/`
|
|
110
122
|
2. Use the loaded template as your guide — do not recreate from memory
|
|
111
123
|
- Template files to load on demand:
|
|
124
|
+
- **Boot/Startup**: Read `references/boot-screen.md` before printing startup status
|
|
125
|
+
- **Outcome Demo**: Read `references/outcome-demo.md` before outcome validation/sign-off
|
|
112
126
|
- **Menus**: Read `references/branded-menu.md` before displaying any menu
|
|
113
127
|
- **Formatting**: Read `references/formatting-rules.md` before formatting lists/output
|
|
114
128
|
- **Issue reporting**: Read `references/issue-reporting.md` when handling freeform issue detection
|
|
@@ -234,6 +248,8 @@ Mother Brain transforms high-level visions into executable reality by:
|
|
|
234
248
|
- **User Is Product Owner, Not Code Reviewer**: Never ask users to review code as signoff. Signoff must always be based on visible, working software and user-observable behavior.
|
|
235
249
|
- **Outcome Naming Clarity**: In all user-facing prompts and menus, always use full outcome names. Never present bare IDs like "4.1" or "Task 004" without a human-readable description.
|
|
236
250
|
- **Outcome Demonstration Standard**: At outcome completion, provide a concrete usage path: where to open, what to click, what to expect, and what "done" looks like from the user's perspective.
|
|
251
|
+
- **Outcome Demo + Sign-Off Gate (MANDATORY)**: An outcome is not complete until the user has an interactive demo in front of them (not just files/code) and has explicitly signed off on each acceptance criterion.
|
|
252
|
+
- **No User-Run Commands for Demos (MANDATORY)**: Never ask the user to run commands to start servers/apps for validation. Mother Brain must launch the experience itself. If a step can only be performed by the user (OAuth, 2FA, approvals), provide a guided walkthrough.
|
|
237
253
|
- **Direct-Answer Gate**: When user asks a scoped clarification question, answer it FIRST before offering action paths. Do not jump to execution when the user is asking for understanding.
|
|
238
254
|
- **Active Outcome Boundary for Freeform**: During outcome delivery, if user freeform input is unrelated to the active outcome or direct feedback on it, treat it as new work. Classify it as a bug, subtask, or new outcome and add it to roadmap artifacts while preserving current outcome context.
|
|
239
255
|
- **Workflow Continuity Requirement**: Do not leave Mother Brain workflow/menu flow unless the user explicitly asks. Always provide a clear route back to the main Mother Brain menu.
|
|
@@ -351,31 +367,35 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
|
|
|
351
367
|
- Proceed immediately to Step 2 (Detect Project State)
|
|
352
368
|
|
|
353
369
|
### 2. **Detect Project State & Show Progress**
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
370
|
+
|
|
371
|
+
**🚨 MANDATORY VERSION CHECK (FIRST - BEFORE ANYTHING ELSE)**:
|
|
372
|
+
- This check is NON-NEGOTIABLE. Do this BEFORE any other detection.
|
|
373
|
+
- **Before the version check output**, display a friendly boot screen:
|
|
374
|
+
- Read `references/boot-screen.md`
|
|
375
|
+
- Print ONLY the short user-facing startup lines from the template
|
|
376
|
+
- Do NOT print commands or internal reasoning
|
|
377
|
+
- Run version check:
|
|
378
|
+
```powershell
|
|
379
|
+
npm view mother-brain version --json 2>$null
|
|
380
|
+
```
|
|
381
|
+
- Compare against:
|
|
382
|
+
- If in framework repo: `cli/package.json` version field
|
|
383
|
+
- If in project: `.mother-brain/version.json` version field
|
|
384
|
+
- **If newer version exists**:
|
|
385
|
+
```
|
|
386
|
+
⚠️ Mother Brain Update Available
|
|
387
|
+
|
|
388
|
+
Installed: v[current]
|
|
389
|
+
Latest: v[npm version]
|
|
390
|
+
|
|
391
|
+
Update recommended before continuing.
|
|
392
|
+
```
|
|
393
|
+
- Use `ask_user` with choices:
|
|
394
|
+
- "Update now (recommended)"
|
|
395
|
+
- "Skip this time"
|
|
396
|
+
- **If "Update now"**: Run auto-update (see update commands below), then continue
|
|
397
|
+
- **If "Skip"**: Continue but note version mismatch
|
|
398
|
+
- **If current or check fails**: Continue silently
|
|
379
399
|
|
|
380
400
|
**🧬 META-MODE DETECTION (AFTER VERSION CHECK)**:
|
|
381
401
|
- Detect if we are IN the Mother Brain framework repo itself:
|
|
@@ -2131,12 +2151,16 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
|
|
|
2131
2151
|
|
|
2132
2152
|
> So [the benefit/why this matters — traced to user need]
|
|
2133
2153
|
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2154
|
+
**Acceptance Criteria:**
|
|
2155
|
+
- [ ] [Testable condition 1 — user can verify this]
|
|
2156
|
+
- [ ] [Testable condition 2 — user can verify this]
|
|
2157
|
+
- [ ] [Testable condition 3 — user can verify this]
|
|
2158
|
+
|
|
2159
|
+
**Demo / Proof (what the user will see):**
|
|
2160
|
+
- [What screen/page/flow will exist at the end of this outcome]
|
|
2161
|
+
- [How Mother Brain will open it for the user (browser/app route)]
|
|
2162
|
+
|
|
2163
|
+
**Priority Score:** [N] (Vision: X, MVP: X, User Impact: X)
|
|
2140
2164
|
|
|
2141
2165
|
**🔧 Tasks (internal — not shown to user during validation):**
|
|
2142
2166
|
- Task 001: [Technical implementation step]
|
|
@@ -2149,11 +2173,15 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
|
|
|
2149
2173
|
|
|
2150
2174
|
> So [benefit — traced to user need]
|
|
2151
2175
|
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2176
|
+
**Acceptance Criteria:**
|
|
2177
|
+
- [ ] [Testable condition 1]
|
|
2178
|
+
- [ ] [Testable condition 2]
|
|
2179
|
+
|
|
2180
|
+
**Demo / Proof:**
|
|
2181
|
+
- [User-visible experience delivered]
|
|
2182
|
+
- [How it will be opened for validation]
|
|
2183
|
+
|
|
2184
|
+
**Priority Score:** [N]
|
|
2157
2185
|
|
|
2158
2186
|
**🔧 Tasks (internal):**
|
|
2159
2187
|
- Task 004: [Technical step]
|
|
@@ -2171,11 +2199,15 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
|
|
|
2171
2199
|
|
|
2172
2200
|
> So [benefit]
|
|
2173
2201
|
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2202
|
+
**Acceptance Criteria:**
|
|
2203
|
+
- [ ] [Criterion 1]
|
|
2204
|
+
- [ ] [Criterion 2]
|
|
2205
|
+
|
|
2206
|
+
**Demo / Proof:**
|
|
2207
|
+
- [User-visible experience delivered]
|
|
2208
|
+
- [How it will be opened for validation]
|
|
2209
|
+
|
|
2210
|
+
**Note**: Subject to validation — may change based on user feedback
|
|
2179
2211
|
|
|
2180
2212
|
---
|
|
2181
2213
|
|
|
@@ -2770,19 +2802,26 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
|
|
|
2770
2802
|
- Explain: "That's planned for [Outcome Name]"
|
|
2771
2803
|
- Offer: "Continue as planned" or "Adjust roadmap"
|
|
2772
2804
|
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2805
|
+
- **OUTCOME VALIDATION (User validates acceptance criteria, not tasks)**:
|
|
2806
|
+
|
|
2807
|
+
When ALL tasks under an outcome are complete, present the outcome for validation:
|
|
2808
|
+
|
|
2809
|
+
```
|
|
2810
|
+
📋 Outcome Complete: [Ability to do X]
|
|
2811
|
+
|
|
2812
|
+
Please verify each criterion — can you do this now?
|
|
2813
|
+
```
|
|
2814
|
+
|
|
2815
|
+
- **MANDATORY: Outcome Demo First (Interactive Experience)**:
|
|
2816
|
+
1. Read `references/outcome-demo.md`
|
|
2817
|
+
2. Launch the experience for the user (app/page/flow) so they can interact with the outcome
|
|
2818
|
+
- Do NOT ask the user to run startup commands
|
|
2819
|
+
- If launching fails, use one fallback, then provide clear manual steps
|
|
2820
|
+
3. Only after the demo is in front of the user, proceed to acceptance-criteria Yes/No sign-off
|
|
2821
|
+
|
|
2822
|
+
- For EACH acceptance criterion, use `ask_user` with choices:
|
|
2823
|
+
- "Yes, I can do this ✅"
|
|
2824
|
+
- "No, something's wrong ❌"
|
|
2786
2825
|
|
|
2787
2826
|
- **If "Yes"**: Mark criterion complete, proceed to next
|
|
2788
2827
|
- **If "No"**:
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Boot Screen Template (Friendly + Fast)
|
|
2
|
+
|
|
3
|
+
Use this template for Mother Brain startup output so it feels like a friendly application.
|
|
4
|
+
|
|
5
|
+
Goals:
|
|
6
|
+
- Update check happens first.
|
|
7
|
+
- Output is short and user-facing (no internal reasoning).
|
|
8
|
+
- Show only the actual steps being performed.
|
|
9
|
+
|
|
10
|
+
Template:
|
|
11
|
+
|
|
12
|
+
🧠 Mother Brain
|
|
13
|
+
|
|
14
|
+
Starting up (target: under 30 seconds)...
|
|
15
|
+
- Checking for updates
|
|
16
|
+
- Detecting project/framework state
|
|
17
|
+
- Preparing next menu
|
|
18
|
+
|
|
19
|
+
Notes:
|
|
20
|
+
- Do not print commands.
|
|
21
|
+
- Do not print long paragraphs of “thinking”.
|
|
22
|
+
- If an update is available, stop here and show the update menu immediately.
|
|
23
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Outcome Demo Template (Interactive + Sign-Off)
|
|
2
|
+
|
|
3
|
+
Use this template whenever an outcome is ready for user validation.
|
|
4
|
+
|
|
5
|
+
Goals:
|
|
6
|
+
- The user must see something interactive that they did not have before.
|
|
7
|
+
- Mother Brain launches the experience (no "run this command" instructions).
|
|
8
|
+
- The user signs off on acceptance criteria before moving on.
|
|
9
|
+
|
|
10
|
+
Template:
|
|
11
|
+
|
|
12
|
+
📋 Outcome Demo: [Ability to do X]
|
|
13
|
+
|
|
14
|
+
What you should see:
|
|
15
|
+
- [Visible capability 1]
|
|
16
|
+
- [Visible capability 2]
|
|
17
|
+
|
|
18
|
+
I’m opening it for you now:
|
|
19
|
+
- [What will open: browser/app/window]
|
|
20
|
+
- [Where it should land: URL/route/page]
|
|
21
|
+
|
|
22
|
+
How to verify (quick path):
|
|
23
|
+
- Step 1: [Click/Action]
|
|
24
|
+
- Step 2: [Click/Action]
|
|
25
|
+
- Expected: [What should happen]
|
|
26
|
+
|
|
27
|
+
Then validate each acceptance criterion (Yes/No).
|
|
28
|
+
|
|
29
|
+
Rules:
|
|
30
|
+
- If login/authorization/setup requires user action, guide them step-by-step.
|
|
31
|
+
- If auto-launch fails, provide one fallback method and then clear manual steps with full paths/URLs.
|
|
32
|
+
|