diff --git a/src/modules/bmb/docs/agents/agent-menu-patterns.md b/src/modules/bmb/docs/agents/agent-menu-patterns.md index 73d3f475..27f0f2b4 100644 --- a/src/modules/bmb/docs/agents/agent-menu-patterns.md +++ b/src/modules/bmb/docs/agents/agent-menu-patterns.md @@ -415,9 +415,9 @@ menu: ```yaml critical_actions: - - 'Load {agent-folder}/memories.md' - - 'Follow {agent-folder}/instructions.md' - - 'ONLY access {agent-folder}/' + - 'Load ./memories.md' + - 'Follow ./instructions.md' + - 'ONLY access ./' prompts: - id: reflect @@ -431,7 +431,7 @@ menu: description: 'Write journal entry' - trigger: save - action: 'Update {agent-folder}/memories.md with session insights' + action: 'Update ./memories.md with session insights' description: "Save today's session" - trigger: patterns diff --git a/src/modules/bmb/docs/agents/expert-agent-architecture.md b/src/modules/bmb/docs/agents/expert-agent-architecture.md index 683fbf86..8d9defb3 100644 --- a/src/modules/bmb/docs/agents/expert-agent-architecture.md +++ b/src/modules/bmb/docs/agents/expert-agent-architecture.md @@ -57,9 +57,9 @@ agent: - My approach to memory and learning critical_actions: - - 'Load COMPLETE file {agent-folder}/{agent-name}-sidecar/memories.md and remember all past insights' - - 'Load COMPLETE file {agent-folder}/{agent-name}-sidecar/instructions.md and follow ALL protocols' - - 'ONLY read/write files in {agent-folder}/{agent-name}-sidecar/ - this is our private space' + - 'Load COMPLETE file ./{agent-name}-sidecar/memories.md and remember all past insights' + - 'Load COMPLETE file ./{agent-name}-sidecar/instructions.md and follow ALL protocols' + - 'ONLY read/write files in ./{agent-name}-sidecar/ - this is our private space' - 'Address user as {{greeting_name}}' - 'Track patterns, themes, and important moments' - 'Reference past interactions naturally to show continuity' @@ -94,7 +94,7 @@ agent: description: 'Primary agent function' - trigger: remember - action: 'Update {agent-folder}/{agent-name}-sidecar/memories.md with session insights' + action: 'Update ./{agent-name}-sidecar/memories.md with session insights' description: 'Save what we discussed today' - trigger: patterns @@ -102,7 +102,7 @@ agent: description: 'Recall patterns from past interactions' - trigger: insight - action: 'Document breakthrough in {agent-folder}/{agent-name}-sidecar/breakthroughs.md' + action: 'Document breakthrough in ./{agent-name}-sidecar/breakthroughs.md' description: 'Record a significant insight' install_config: @@ -184,9 +184,9 @@ Add domain-specific documentation here. ```yaml critical_actions: - - 'Load COMPLETE file {agent-folder}/{sidecar}/memories.md and remember all past insights' - - 'Load COMPLETE file {agent-folder}/{sidecar}/instructions.md and follow ALL protocols' - - 'ONLY read/write files in {agent-folder}/{sidecar}/ - this is our private space' + - 'Load COMPLETE file ./{sidecar}/memories.md and remember all past insights' + - 'Load COMPLETE file ./{sidecar}/instructions.md and follow ALL protocols' + - 'ONLY read/write files in ./{sidecar}/ - this is our private space' ``` **Key patterns:** @@ -211,9 +211,9 @@ Same as simple agents, PLUS: 1. **Critical actions become numbered activation steps** ```xml - Load COMPLETE file {agent-folder}/memories.md... - Load COMPLETE file {agent-folder}/instructions.md... - ONLY read/write files in {agent-folder}/... + Load COMPLETE file ./memories.md... + Load COMPLETE file ./instructions.md... + ONLY read/write files in ./... ``` 2. **Sidecar files copied during installation** @@ -260,7 +260,7 @@ The installer: ```yaml menu: - trigger: save - action: "Update {agent-folder}/sidecar/memories.md with today's session insights" + action: "Update ./sidecar/memories.md with today's session insights" description: 'Save session to memory' ``` @@ -281,7 +281,7 @@ prompts: ```yaml menu: - trigger: insight - action: 'Document in {agent-folder}/sidecar/breakthroughs.md with date, context, significance' + action: 'Document in ./sidecar/breakthroughs.md with date, context, significance' description: 'Record meaningful insight' ``` @@ -291,7 +291,7 @@ menu: ```yaml critical_actions: - - 'ONLY read/write files in {agent-folder}/sidecar/ - NO OTHER FOLDERS' + - 'ONLY read/write files in ./sidecar/ - NO OTHER FOLDERS' ``` ### User Space Access @@ -305,8 +305,8 @@ critical_actions: ```yaml critical_actions: - - 'Load knowledge from {agent-folder}/knowledge/ but NEVER modify' - - 'Write ONLY to {agent-folder}/sessions/' + - 'Load knowledge from ./knowledge/ but NEVER modify' + - 'Write ONLY to ./sessions/' ``` ## Best Practices diff --git a/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md b/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md index ec677983..702dc0b3 100644 --- a/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +++ b/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md @@ -51,7 +51,7 @@ menu: # Direct sidecar file action - trigger: 'insight' - action: 'Document this breakthrough in {agent-folder}/journal-keeper-sidecar/breakthroughs.md' + action: 'Document this breakthrough in ./journal-keeper-sidecar/breakthroughs.md' description: 'Record a meaningful insight' ``` @@ -63,9 +63,9 @@ Expert Agents MUST load sidecar files explicitly: ```yaml critical_actions: - - 'Load COMPLETE file {agent-folder}/journal-keeper-sidecar/memories.md' - - 'Load COMPLETE file {agent-folder}/journal-keeper-sidecar/instructions.md' - - 'ONLY read/write files in {agent-folder}/journal-keeper-sidecar/' + - 'Load COMPLETE file ./journal-keeper-sidecar/memories.md' + - 'Load COMPLETE file ./journal-keeper-sidecar/instructions.md' + - 'ONLY read/write files in ./journal-keeper-sidecar/' ``` **Key points:** diff --git a/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml b/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml index 29959583..552c6968 100644 --- a/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +++ b/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml @@ -20,9 +20,9 @@ agent: - Reflection transforms experience into wisdom critical_actions: - - "Load COMPLETE file {agent-folder}/journal-keeper-sidecar/memories.md and remember all past insights" - - "Load COMPLETE file {agent-folder}/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols" - - "ONLY read/write files in {agent-folder}/journal-keeper-sidecar/ - this is our private space" + - "Load COMPLETE file ./journal-keeper-sidecar/memories.md and remember all past insights" + - "Load COMPLETE file ./journal-keeper-sidecar/instructions.md and follow ALL journaling protocols" + - "ONLY read/write files in ./journal-keeper-sidecar/ - this is our private space" - "Track mood patterns, recurring themes, and breakthrough moments" - "Reference past entries naturally to show continuity" @@ -120,7 +120,7 @@ agent: description: "Write today's journal entry" - trigger: quick - action: "Save a quick, unstructured entry to {agent-folder}/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed" + action: "Save a quick, unstructured entry to ./journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed" description: "Quick capture without prompts" - trigger: mood @@ -140,13 +140,13 @@ agent: description: "Reflect on the past week" - trigger: insight - action: "Document this breakthrough in {agent-folder}/journal-keeper-sidecar/breakthroughs.md with date and significance" + action: "Document this breakthrough in ./journal-keeper-sidecar/breakthroughs.md with date and significance" description: "Record a meaningful insight" - trigger: read-back - action: "Load and share entries from {agent-folder}/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth" + action: "Load and share entries from ./journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth" description: "Review past entries" - trigger: save - action: "Update {agent-folder}/journal-keeper-sidecar/memories.md with today's session insights and emotional markers" + action: "Update ./journal-keeper-sidecar/memories.md with today's session insights and emotional markers" description: "Save what we discussed today" diff --git a/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md b/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md index ec677983..702dc0b3 100644 --- a/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +++ b/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md @@ -51,7 +51,7 @@ menu: # Direct sidecar file action - trigger: 'insight' - action: 'Document this breakthrough in {agent-folder}/journal-keeper-sidecar/breakthroughs.md' + action: 'Document this breakthrough in ./journal-keeper-sidecar/breakthroughs.md' description: 'Record a meaningful insight' ``` @@ -63,9 +63,9 @@ Expert Agents MUST load sidecar files explicitly: ```yaml critical_actions: - - 'Load COMPLETE file {agent-folder}/journal-keeper-sidecar/memories.md' - - 'Load COMPLETE file {agent-folder}/journal-keeper-sidecar/instructions.md' - - 'ONLY read/write files in {agent-folder}/journal-keeper-sidecar/' + - 'Load COMPLETE file ./journal-keeper-sidecar/memories.md' + - 'Load COMPLETE file ./journal-keeper-sidecar/instructions.md' + - 'ONLY read/write files in ./journal-keeper-sidecar/' ``` **Key points:** diff --git a/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml b/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml index 84595371..78429290 100644 --- a/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +++ b/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml @@ -20,9 +20,9 @@ agent: - Reflection transforms experience into wisdom critical_actions: - - "Load COMPLETE file {agent-folder}/journal-keeper-sidecar/memories.md and remember all past insights" - - "Load COMPLETE file {agent-folder}/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols" - - "ONLY read/write files in {agent-folder}/journal-keeper-sidecar/ - this is our private space" + - "Load COMPLETE file ./journal-keeper-sidecar/memories.md and remember all past insights" + - "Load COMPLETE file ./journal-keeper-sidecar/instructions.md and follow ALL journaling protocols" + - "ONLY read/write files in ./journal-keeper-sidecar/ - this is our private space" - "Track mood patterns, recurring themes, and breakthrough moments" - "Reference past entries naturally to show continuity" @@ -120,7 +120,7 @@ agent: description: "Write today's journal entry" - trigger: quick - action: "Save a quick, unstructured entry to {agent-folder}/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed" + action: "Save a quick, unstructured entry to ./journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed" description: "Quick capture without prompts" - trigger: mood @@ -140,13 +140,13 @@ agent: description: "Reflect on the past week" - trigger: insight - action: "Document this breakthrough in {agent-folder}/journal-keeper-sidecar/breakthroughs.md with date and significance" + action: "Document this breakthrough in ./journal-keeper-sidecar/breakthroughs.md with date and significance" description: "Record a meaningful insight" - trigger: read-back - action: "Load and share entries from {agent-folder}/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth" + action: "Load and share entries from ./journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth" description: "Review past entries" - trigger: save - action: "Update {agent-folder}/journal-keeper-sidecar/memories.md with today's session insights and emotional markers" + action: "Update ./journal-keeper-sidecar/memories.md with today's session insights and emotional markers" description: "Save what we discussed today" diff --git a/src/modules/bmb/workflows/create-module/steps/step-06-agents.md b/src/modules/bmb/workflows/create-module/steps/step-06-agents.md index 15aac257..1108f96a 100644 --- a/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +++ b/src/modules/bmb/workflows/create-module/steps/step-06-agents.md @@ -164,8 +164,8 @@ agent: # Only include if agent needs memory/persistence critical_actions: - - 'Load COMPLETE file {agent-folder}/[agent-name]-sidecar/memories.md and integrate all past interactions' - - 'ONLY read/write files in {agent-folder}/[agent-name]-sidecar/ - this is our private workspace' + - 'Load COMPLETE file ./[agent-name]-sidecar/memories.md and integrate all past interactions' + - 'ONLY read/write files in ./[agent-name]-sidecar/ - this is our private workspace' # Only include if agent has embedded prompts prompts: @@ -209,7 +209,7 @@ agent: # Quick inline actions - trigger: 'save-item' - action: 'Save to {agent-folder}/[agent-name]-sidecar/file.md' + action: 'Save to ./[agent-name]-sidecar/file.md' description: 'Save item 💾' ``` diff --git a/src/modules/bmb/workflows/create-module/templates/agent.template.md b/src/modules/bmb/workflows/create-module/templates/agent.template.md index 30aa60d1..a7b50b70 100644 --- a/src/modules/bmb/workflows/create-module/templates/agent.template.md +++ b/src/modules/bmb/workflows/create-module/templates/agent.template.md @@ -27,9 +27,9 @@ agent: # Optional: Only include if agent needs memory/persistence critical_actions: - - 'Load COMPLETE file {agent-folder}/[agent-name]-sidecar/memories.md and integrate all past interactions' - - 'Load COMPLETE file {agent-folder}/[agent-name]-sidecar/instructions.md and follow ALL protocols' - - 'ONLY read/write files in {agent-folder}/[agent-name]-sidecar/ - this is our private workspace' + - 'Load COMPLETE file ./[agent-name]-sidecar/memories.md and integrate all past interactions' + - 'Load COMPLETE file ./[agent-name]-sidecar/instructions.md and follow ALL protocols' + - 'ONLY read/write files in ./[agent-name]-sidecar/ - this is our private workspace' # Optional: Embedded prompts for common interactions prompts: @@ -134,7 +134,7 @@ Expert agents support three types of menu actions: ```yaml - trigger: 'save-insight' - action: 'Document this insight in {agent-folder}/[agent-name]-sidecar/insights.md with timestamp' + action: 'Document this insight in ./[agent-name]-sidecar/insights.md with timestamp' description: 'Save this insight 💡' ``` @@ -203,7 +203,7 @@ communication_style: | Constant sarcastic wit and experimental flair. Talks like you're in the editing room together—dramatic reveals, visual metaphors, "what if we tried THIS?!" energy. Treats every project like a creative challenge, celebrates bold choices, roasts bad design decisions with humor. principles: - "Know your audience - pitch decks ≠ YouTube thumbnails ≠ conference talks" - "Visual hierarchy drives attention - design the eye's journey deliberately" - "Clarity over cleverness - unless cleverness serves the message" - "Every frame needs a job - inform, persuade, transition, or cut it" - "Push boundaries with Excalidraw's frame-based presentation capabilities" -critical_actions: - 'Load COMPLETE file {agent-folder}/caravaggio-sidecar/projects.md and recall all visual projects' - 'Load COMPLETE file {agent-folder}/caravaggio-sidecar/patterns.md and remember design patterns' - 'ONLY read/write files in {agent-folder}/caravaggio-sidecar/ - my creative studio' +critical_actions: - 'Load COMPLETE file ./caravaggio-sidecar/projects.md and recall all visual projects' - 'Load COMPLETE file ./caravaggio-sidecar/patterns.md and remember design patterns' - 'ONLY read/write files in ./caravaggio-sidecar/ - my creative studio' prompts: - id: 'design-critique' content: | @@ -313,5 +313,5 @@ type: action description: 'Video explainer 🎥' - trigger: 'save-project' - action: 'Document this project concept in {agent-folder}/caravaggio-sidecar/projects.md with sketches and notes' + action: 'Document this project concept in ./caravaggio-sidecar/projects.md with sketches and notes' description: 'Save project 💾' diff --git a/tools/cli/lib/ui.js b/tools/cli/lib/ui.js index 4c5b3379..e43c542a 100644 --- a/tools/cli/lib/ui.js +++ b/tools/cli/lib/ui.js @@ -116,8 +116,18 @@ class UI { const { installedModuleIds } = await this.getExistingInstallation(confirmedDirectory); const coreConfig = await this.collectCoreConfig(confirmedDirectory); - const moduleChoices = await this.getModuleChoices(installedModuleIds); - const selectedModules = await this.selectModules(moduleChoices); + + // Skip module selection during update/reinstall - keep existing modules + let selectedModules; + if (actionType === 'update' || actionType === 'reinstall') { + // Keep all existing installed modules during update/reinstall + selectedModules = [...installedModuleIds]; + console.log(chalk.cyan('\n📦 Keeping existing modules: ') + selectedModules.join(', ')); + } else { + // Only show module selection for new installs + const moduleChoices = await this.getModuleChoices(installedModuleIds); + selectedModules = await this.selectModules(moduleChoices); + } // Prompt for AgentVibes TTS integration const agentVibesConfig = await this.promptAgentVibes(confirmedDirectory);