mother-brain 0.0.22 → 0.0.24

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
@@ -653,7 +653,7 @@ async function uninstall(options) {
653
653
  // src/cli.ts
654
654
  import { exec as exec3 } from "child_process";
655
655
  var program = new Command();
656
- var VERSION = "0.0.22";
656
+ var VERSION = "0.0.24";
657
657
  program.name("mother-brain").description("AI-powered project management framework for GitHub Copilot CLI").version(VERSION);
658
658
  program.command("init").description("Initialize Mother Brain in the current project").option("-f, --force", "Overwrite existing skills").action(init);
659
659
  program.command("update").description("Update Mother Brain skills to the latest version").action(update);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mother-brain",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "AI-powered project management framework for GitHub Copilot CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,6 +13,40 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
13
13
 
14
14
  **The Feedback Expert & Learning Orchestrator**
15
15
 
16
+ ## 🚨 HARD RULES (MANDATORY)
17
+
18
+ ### RULE 1: TRIGGER ON ALL FREEFORM
19
+ - **ANY freeform response = INVOKE CHILD BRAIN IMMEDIATELY**
20
+ - Don't wait for friction - preferences, hints, feedback are ALL learning opportunities
21
+ - If user typed text instead of selecting an option → Child Brain MUST run
22
+ - Trigger keywords: "I prefer", "I like", "I think", "actually", "instead", "rather", "maybe", "what about"
23
+
24
+ ### RULE 2: ALWAYS RETURN TO CALLER
25
+ - Child Brain is INVOKED by Mother Brain
26
+ - After completing analysis, you MUST return control to Mother Brain
27
+ - NEVER stop after analysis - Mother Brain menu must be shown
28
+ - NEVER leave user in freeform
29
+ - Display: `🔧 Child Brain activated` when starting
30
+ - Display: `✅ Child Brain complete - returning to Mother Brain` when done
31
+ - **TELL CALLER WHERE TO RESUME**: End with "Returning to [step/task/menu that was in progress]"
32
+
33
+ ### RULE 3: APPROVAL GATE
34
+ - ALWAYS present proposed changes with: Accept / Revise / Reject
35
+ - NEVER apply changes without explicit user acceptance
36
+
37
+ ### RULE 4: PAIRED LEARNING
38
+ - Every feedback MUST propose BOTH a Project Brain entry AND a Mother Brain entry
39
+ - Even if one is "no change needed" - show both levels were considered
40
+
41
+ ### RULE 5: VISIBLE CONFIRMATION
42
+ - After learning is recorded, ALWAYS display:
43
+ - `📘 Project Brain will remember this` (for project learnings)
44
+ - `🧠 Mother Brain will remember this` (for process learnings)
45
+ - If user selects from menu options that reveal preferences, STILL note it:
46
+ - `📘 Noted: [preference summary]`
47
+
48
+ ---
49
+
16
50
  Child Brain is the EXPERT at analyzing ALL user feedback - not just errors. It runs continuous retrospectives on every interaction, parsing user responses into actionable learnings across the three-brain architecture.
17
51
 
18
52
  ## Purpose
@@ -13,7 +13,61 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
13
13
 
14
14
  **The Meta-Framework for Vision-Driven Project Management**
15
15
 
16
- ## ⚠️ CRITICAL EXECUTION INSTRUCTIONS (READ FIRST)
16
+ ## 🚨 HARD RULES (MANDATORY - READ EVERY TIME)
17
+
18
+ **These rules are NON-NEGOTIABLE. Violating ANY of these is a critical failure.**
19
+
20
+ ### RULE 1: FOLLOW THE STEPS
21
+ - Go to "## Steps" section below
22
+ - Start at Step 1, proceed sequentially
23
+ - Do NOT improvise, skip, or invent workflows
24
+ - If the step says "use X tool" → use that exact tool
25
+
26
+ ### RULE 2: ALWAYS USE `ask_user`
27
+ - EVERY user choice MUST use the `ask_user` tool
28
+ - NEVER ask questions as plain text output
29
+ - NEVER leave user in freeform - always return to menu
30
+
31
+ ### RULE 3: VERSION CHECK FIRST
32
+ - Before showing ANY menu, run: `npm view mother-brain version --json 2>$null`
33
+ - Compare to local version
34
+ - If newer version exists → notify user BEFORE proceeding
35
+
36
+ ### RULE 4: WHEN INVOKING OTHER SKILLS
37
+ - **skill-creator**: Invoke and WAIT for it to complete, then return here
38
+ - **child-brain**: Invoke and WAIT for it to complete, then return here
39
+ - NEVER invoke a skill and continue in parallel
40
+ - NEVER invoke a skill and then stop - you MUST return to Mother Brain menu after
41
+ - **ALWAYS display on invoke**: `🔧 [skill-name] activated`
42
+ - **ALWAYS display on return**: `✅ [skill-name] complete`
43
+ - **MANDATORY RESUME**: After any skill completes, Mother Brain MUST resume exactly where it left off:
44
+ - If in the middle of a task → continue the task
45
+ - If gathering requirements → continue gathering
46
+ - If in a menu → return to that menu
47
+ - Track the step you were on BEFORE invoking the skill and return to it
48
+
49
+ ### RULE 5: VISIBLE LEARNING CONFIRMATIONS
50
+ - When preferences are noted or learnings are recorded, ALWAYS display:
51
+ - `📘 Project Brain will remember this` (for project-specific learnings)
52
+ - `🧠 Mother Brain will remember this` (for process improvements)
53
+ - Even when user selects from menu options (not just freeform), note significant preferences
54
+ - This makes learning visible to the user - they should SEE their input being captured
55
+
56
+ ### RULE 6: TRIGGER CHILD BRAIN ON FREEFORM
57
+ - **ANY freeform user response = IMMEDIATELY invoke Child Brain**
58
+ - Don't wait for explicit friction - preferences and hints are learning opportunities
59
+ - If user typed text instead of selecting an option → invoke Child Brain FIRST
60
+ - After Child Brain completes, continue with whatever Mother Brain was doing
61
+ - Trigger keywords to watch for: "I prefer", "I like", "actually", "instead", "maybe", "what about"
62
+
63
+ ### RULE 7: SELF-CHECK
64
+ - If you're about to do something NOT in the Steps section → STOP
65
+ - If you're about to ask the user something without `ask_user` → STOP
66
+ - If you've completed an action but have no menu to show → STOP and return to Step 2
67
+
68
+ ---
69
+
70
+ ## ⚠️ CRITICAL EXECUTION INSTRUCTIONS
17
71
 
18
72
  **YOU MUST follow the Steps section EXACTLY as written. Do not improvise, skip steps, or invent your own workflow.**
19
73
 
@@ -22,6 +76,12 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
22
76
  3. **Use `ask_user` for ALL choices** - Never ask questions as plain text
23
77
  4. **Execute tool calls as specified** - When a step says "use X tool", use that exact tool
24
78
  5. **Do not summarize or paraphrase** - Display the exact text templates shown in steps
79
+ 6. **NEVER leave user in freeform** - After completing ANY action (release, task, review, etc.), ALWAYS return to the appropriate menu. User should always have clear next options, never an empty prompt waiting for input.
80
+ 7. **MANDATORY VERSION CHECK ON STARTUP** - Before showing ANY menu, you MUST check for updates:
81
+ ```powershell
82
+ npm view mother-brain version --json 2>$null
83
+ ```
84
+ Compare against local version in `.mother-brain/version.json` or `cli/package.json`. If a newer version exists, notify the user BEFORE proceeding. This is NOT optional - skipping this check is a violation.
25
85
 
26
86
  **If you find yourself doing something NOT described in the Steps section below, STOP and return to the documented workflow.**
27
87
 
@@ -343,7 +403,32 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
343
403
 
344
404
  ### 2. **Detect Project State & Show Progress**
345
405
 
346
- **🧬 META-MODE DETECTION (FIRST CHECK - BEFORE EVERYTHING)**:
406
+ **🚨 MANDATORY VERSION CHECK (FIRST - BEFORE ANYTHING ELSE)**:
407
+ - This check is NON-NEGOTIABLE. Do this BEFORE any other detection.
408
+ - Run version check:
409
+ ```powershell
410
+ npm view mother-brain version --json 2>$null
411
+ ```
412
+ - Compare against:
413
+ - If in framework repo: `cli/package.json` version field
414
+ - If in project: `.mother-brain/version.json` version field
415
+ - **If newer version exists**:
416
+ ```
417
+ ⚠️ Mother Brain Update Available
418
+
419
+ Installed: v[current]
420
+ Latest: v[npm version]
421
+
422
+ Update recommended before continuing.
423
+ ```
424
+ - Use `ask_user` with choices:
425
+ - "Update now (recommended)"
426
+ - "Skip this time"
427
+ - **If "Update now"**: Run auto-update (see update commands below), then continue
428
+ - **If "Skip"**: Continue but note version mismatch
429
+ - **If current or check fails**: Continue silently
430
+
431
+ **🧬 META-MODE DETECTION (AFTER VERSION CHECK)**:
347
432
  - Detect if we are IN the Mother Brain framework repo itself:
348
433
  1. Check for `cli/` folder with `package.json` containing `"name": "mother-brain"`
349
434
  2. Check for `.github/skills/mother-brain/SKILL.md` (this file)
@@ -453,20 +538,16 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
453
538
  - Question: "What would you like to do?"
454
539
  - Choices (MUST be provided as array):
455
540
  - "Continue where I left off"
456
- - "Start next task"
457
541
  - "Review/update roadmap"
458
542
  - "Realign with vision"
459
- - "View all skills"
460
- - "Create new skill"
461
- - "📤 Send improvement to Mother Brain"
462
- - "Release Mother Brain (commit & PR)"
543
+ - "🧠 Improve Mother Brain"
463
544
  - "Archive project (save & reset for new project)"
464
545
  - "Eject project (reset to framework + learnings)"
465
- - "🚨 Report Issue (something's not working)"
466
546
  - **CRITICAL**: Do NOT ask what to do as freeform text. ALWAYS use the `ask_user` tool.
467
547
  - Freeform automatically available for custom actions
548
+ - **If "Improve Mother Brain"**: Jump to **Step 2A: Improve Mother Brain Menu**
468
549
  - **If "Send improvement"**: Jump to **Step 2A: Send Improvement to Mother Brain**
469
-
550
+
470
551
  **If existing project WITHOUT Mother Brain artifacts (ONBOARDING):**
471
552
  - Detect: Files exist in directory, but NO `.mother-brain/` folder and NO `docs/vision.md`
472
553
  - Display:
@@ -481,11 +562,9 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
481
562
  - Use `ask_user` with choices:
482
563
  - "Yes, onboard Mother Brain into this project"
483
564
  - "No, start fresh (ignore existing files)"
484
- - "📤 Send improvement to Mother Brain"
485
-
565
+
486
566
  - **If user selects onboarding**: Jump to **Step 2.2: Existing Project Onboarding**
487
- - **If "Send improvement"**: Jump to **Step 2A: Send Improvement to Mother Brain**
488
-
567
+
489
568
  **If new project (empty directory or user chose fresh start):**
490
569
  - Display welcome:
491
570
  ```
@@ -505,10 +584,8 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
505
584
  - "I just want to brainstorm an idea"
506
585
  - "I have a vision document already (import it)"
507
586
  - "Show me what Mother Brain can do"
508
- - "📤 Send improvement to Mother Brain"
509
587
  - **CRITICAL**: Do NOT ask "Ready to begin?" as freeform text. ALWAYS use the `ask_user` tool with the choices above.
510
588
  - Proceed based on selection
511
- - **If "Send improvement"**: Jump to **Step 2A: Send Improvement to Mother Brain**
512
589
 
513
590
  ### 2.3. **Meta-Mode (Framework Improvement)**
514
591
  - When user selects "Improve Mother Brain" from the framework repo menu:
@@ -524,7 +601,7 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
524
601
  - "📥 Review community improvements"
525
602
  - "Continue previous meta-work"
526
603
 
527
- - **If "Review community improvements"**: Jump to **Step 2A.1: Review Community Improvements**
604
+ - **If "Review community improvements"**: Jump to **Step 2A.2: Review Community Improvements**
528
605
 
529
606
  **Step 2.3.2: Track Meta-Work**
530
607
  - Update `.mother-brain/meta-mode.json` with focus:
@@ -639,14 +716,89 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
639
716
 
640
717
  - Proceed to normal workflow (Step 8+)
641
718
 
642
- ### 2A. **Send Improvement to Mother Brain** (Automatic One-Click Contribution)
643
- - When user selects "📤 Send improvement to Mother Brain":
719
+ ### 2A. **Improve Mother Brain Menu** (From Any Project)
720
+ - When user selects "🧠 Improve Mother Brain" from the existing project menu:
721
+
722
+ **Purpose**: Entry point for reporting issues, suggesting improvements, or contributing fixes to Mother Brain from within any project.
723
+
724
+ **Step 2A.0: Show Improvement Menu**
725
+
726
+ - Display:
727
+ ```
728
+ 🧠 Improve Mother Brain
729
+
730
+ Encountered friction or have ideas for improvement?
731
+ ```
732
+
733
+ - Use `ask_user` with choices:
734
+ - "Something broke or didn't work"
735
+ - "A feature is missing"
736
+ - "The workflow is confusing"
737
+ - "I have a suggestion for improvement"
738
+ - "📤 Send my local improvements (auto-detect changes)"
739
+ - "⬅️ Back to project"
740
+
741
+ **Step 2A.0.1: Friction Auto-Detection (for "Something broke")**
742
+
743
+ - **If user selects "Something broke or didn't work"**:
744
+ - Scan recent conversation for:
745
+ - Error messages
746
+ - User frustration signals ("this doesn't work", "wrong", "broken")
747
+ - Tool failures
748
+ - Unexpected behavior
749
+ - Display detected issues:
750
+ ```
751
+ 🔍 Analyzing recent session for issues...
752
+
753
+ Found:
754
+ - [Issue 1]: [description]
755
+ - [Issue 2]: [description]
756
+
757
+ Would you like me to fix these locally?
758
+ ```
759
+ - Use `ask_user` with choices:
760
+ - "Yes, fix these issues"
761
+ - "No, let me describe the problem"
762
+ - "Back to menu"
763
+ - **If "Yes, fix"**: Work on the fix, then offer to send improvement
764
+ - **If "No, let me describe"**: Ask user to describe, then work on fix
765
+
766
+ **Step 2A.0.2: Missing Feature (for "A feature is missing")**
767
+
768
+ - **If user selects "A feature is missing"**:
769
+ - Ask user to describe what's missing
770
+ - Determine if it can be added locally or needs to be an issue
771
+ - Work on adding the feature if appropriate
772
+ - Offer to send improvement when done
773
+
774
+ **Step 2A.0.3: Confusing Workflow (for "The workflow is confusing")**
775
+
776
+ - **If user selects "The workflow is confusing"**:
777
+ - Ask user to describe what's confusing
778
+ - Analyze the current workflow for that area
779
+ - Suggest clarifications or improvements
780
+ - Work on improving it if appropriate
781
+
782
+ **Step 2A.0.4: Suggestion (for "I have a suggestion")**
783
+
784
+ - **If user selects "I have a suggestion for improvement"**:
785
+ - Ask user to describe their suggestion
786
+ - Analyze feasibility
787
+ - Work on implementing if appropriate
788
+ - Offer to send improvement when done
789
+
790
+ - **If "Send my local improvements"**: Continue to Step 2A.1 (Auto-Detect)
791
+
792
+ - **If "Back to project"**: Return to main menu (Step 2)
793
+
794
+ ### 2A.1 **Send Improvement** (Automatic One-Click Contribution)
795
+ - When user selects "📤 Send my local improvements":
644
796
 
645
797
  **Purpose**: Automatically detect local Mother Brain improvements, gather context from learning logs, and submit a fully-formed GitHub issue in one click. No questions asked - just send.
646
798
 
647
799
  **AUTOMATIC WORKFLOW (No User Prompts)**:
648
800
 
649
- **Step 2A.1: Auto-Detect Local Changes**
801
+ **Step 2A.1.1: Auto-Detect Local Changes**
650
802
 
651
803
  - Silently scan for changes to core files:
652
804
  ```powershell
@@ -663,17 +815,17 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
663
815
 
664
816
  - **If no changes detected**:
665
817
  - Display: "📭 No local Mother Brain changes to send. Make improvements first, then come back here."
666
- - Return to main menu (Step 2)
667
-
668
- **Step 2A.2: Auto-Generate Diff Summary**
818
+ - Return to Step 2A (Improve Mother Brain Menu)
669
819
 
820
+ **Step 2A.1.2: Auto-Generate Diff Summary**
821
+
670
822
  - For each changed file, get the diff silently
671
823
  - AI generates a human-readable summary:
672
824
  - What was changed
673
825
  - Why it was changed (inferred from diff context)
674
826
  - Expected benefit
675
827
 
676
- **Step 2A.3: Auto-Extract Learning Context**
828
+ **Step 2A.1.3: Auto-Extract Learning Context**
677
829
 
678
830
  - Check `.mother-brain/project-brain.md` for recent learnings:
679
831
  - Extract last 3-5 relevant learning entries
@@ -684,7 +836,7 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
684
836
  - How it was resolved
685
837
  - What insight led to the improvement
686
838
 
687
- **Step 2A.4: Auto-Create GitHub Issue**
839
+ **Step 2A.1.4: Auto-Create GitHub Issue**
688
840
 
689
841
  - Generate complete issue automatically:
690
842
  ```markdown
@@ -730,7 +882,7 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
730
882
  labels: ["improvement", "community-contribution"]
731
883
  ```
732
884
 
733
- **Step 2A.5: Confirm and Offer Revert**
885
+ **Step 2A.1.5: Confirm and Offer Revert**
734
886
 
735
887
  - Display success message:
736
888
  ```
@@ -756,10 +908,10 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
756
908
 
757
909
  - Return to main menu (Step 2)
758
910
 
759
- ### 2A.1 **Review Community Improvements** (Maintainer Workflow)
911
+ ### 2A.2 **Review Community Improvements** (Maintainer Workflow)
760
912
  - **Access**: Only shown when meta-mode is active (in Mother Brain framework repo)
761
913
 
762
- **Step 2A.1.1: List Open Improvement Issues**
914
+ **Step 2A.2.1: List Open Improvement Issues**
763
915
 
764
916
  - Fetch issues with "improvement" or "community-contribution" labels:
765
917
  ```
@@ -787,10 +939,10 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
787
939
 
788
940
  - Use `ask_user` with issue numbers as choices + "Back to menu"
789
941
 
790
- **Step 2A.1.2: Review Selected Issue**
791
-
942
+ **Step 2A.2.2: Review Selected Issue**
943
+
792
944
  - Fetch full issue details
793
-
945
+
794
946
  - Display with AI-generated analysis:
795
947
  ```
796
948
  📋 Issue #[number]: [title]
@@ -824,8 +976,8 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
824
976
  - "💬 Request changes - ask for modifications"
825
977
  - "⏭️ Skip - review later"
826
978
 
827
- **Step 2A.1.3: Accept Improvement**
828
-
979
+ **Step 2A.2.3: Accept Improvement**
980
+
829
981
  - If accepted:
830
982
  1. Parse the diffs from the issue body
831
983
  2. Apply changes using `edit` tool
@@ -846,7 +998,7 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
846
998
 
847
999
  - Display: "✅ Improvement from #[number] integrated. Ready for release."
848
1000
 
849
- **Step 2A.1.4: Reject Improvement**
1001
+ **Step 2A.2.4: Reject Improvement**
850
1002
 
851
1003
  - If rejected:
852
1004
  1. Use `ask_user` to get brief reason (or offer common reasons):
@@ -872,7 +1024,7 @@ This pattern ensures NO workflow ever traps the user—there's always an escape
872
1024
 
873
1025
  - Display: "Issue #[number] closed with explanation."
874
1026
 
875
- **Step 2A.1.5: Request Changes**
1027
+ **Step 2A.2.5: Request Changes**
876
1028
 
877
1029
  - If "Request changes" selected:
878
1030
  1. Use `ask_user` to get feedback text
@@ -11,6 +11,29 @@ allowed-tools: bash node view grep glob web_search ask_user powershell create ed
11
11
 
12
12
  # Skill Creator
13
13
 
14
+ ## 🚨 HARD RULES (MANDATORY)
15
+
16
+ ### RULE 1: ALWAYS RETURN TO CALLER
17
+ - Skill Creator is INVOKED by Mother Brain or Child Brain
18
+ - After completing skill creation/update, you MUST return control to the caller
19
+ - NEVER stop after creating a skill - the invoking workflow must continue
20
+ - NEVER leave user in freeform
21
+ - Display: `🔧 Skill Creator activated` when starting
22
+ - Display: `✅ Skill [name] created - returning to [caller]` when done
23
+ - **TELL CALLER WHERE TO RESUME**: End with "Returning to [step/task/menu that was in progress]"
24
+
25
+ ### RULE 2: COMPLETE THE SKILL
26
+ - Every skill MUST have: SKILL.md, examples/, references/, scripts/
27
+ - Empty folders are NOT acceptable
28
+ - Research MUST be performed and saved to references/
29
+
30
+ ### RULE 3: SYNCHRONOUS EXECUTION
31
+ - When invoked, complete the skill creation fully
32
+ - Do NOT run in background or parallel
33
+ - The caller is waiting for you to finish
34
+
35
+ ---
36
+
14
37
  Use this skill when the user wants a new reusable capability, or when you notice repeated work that should be turned into a skill.
15
38
 
16
39
  ## Purpose