Features: - BMAD (Build Modular AI-driven Development) framework setup - BMM, BMB, CIS, Core modules configured - Story 1.1: Component trait with error handling - Workspace Cargo.toml with components crate - 31 tests passing (19 unit + 12 doc tests) Technical: - Component trait with compute_residuals, jacobian_entries, n_equations - ComponentError enum with thiserror - JacobianBuilder for sparse matrix construction - Object-safe trait supporting Box<dyn Component> - Comprehensive documentation and examples
4.9 KiB
4.9 KiB
Agent Menu Patterns
Menu Item Schema
- trigger: XX or fuzzy match on command-name
[handler]: [value]
description: '[XX] Display text'
data: [optional] # Pass file to workflow
| Field | Required | Validation |
|---|---|---|
trigger |
Yes | Format: XX or fuzzy match on command-name |
description |
Yes | Must start with [XX] code |
| handler | Yes | action (Agent) or exec (Module) |
data |
No | File path for workflow input |
Reserved codes (DO NOT USE): MH, CH, PM, DA (auto-injected)
Handlers
| Handler | Use Case | Syntax |
|---|---|---|
action |
Agent self-contained operations | action: '#prompt-id' or action: 'inline text' |
exec |
Module external workflows | exec: '{project-root}/path/to/workflow.md' |
# Action - reference prompt
- trigger: WC or fuzzy match on write-commit
action: '#write-commit'
description: '[WC] Write commit message'
# Action - inline
- trigger: QC or fuzzy match on quick-commit
action: 'Generate commit message from diff'
description: '[QC] Quick commit from diff'
# Exec - workflow
- trigger: CP or fuzzy match on create-prd
exec: '{project-root}/_bmad/bmm/workflows/create-prd/workflow.md'
description: '[CP] Create PRD'
# Exec - unimplemented
- trigger: FF or fuzzy match on future-feature
exec: 'todo'
description: '[FF] Coming soon'
Data Parameter
Attach to ANY handler to pass input files.
- trigger: TS or fuzzy match on team-standup
exec: '{project-root}/_bmad/bmm/tasks/team-standup.md'
data: '{project-root}/_bmad/_config/agent-manifest.csv'
description: '[TS] Run team standup'
Prompts Section
For action: '#id' references in Agent menus.
prompts:
- id: analyze-code
content: |
<instructions>Analyze code for patterns</instructions>
<process>1. Identify structure 2. Check issues 3. Suggest improvements</process>
menu:
- trigger: AC or fuzzy match on analyze-code
action: '#analyze-code'
description: '[AC] Analyze code patterns'
Common XML tags: <instructions>, <process>, <example>, <output_format>
Path Variables
| Variable | Expands To |
|---|---|
{project-root} |
Project root directory |
{output_folder} |
Document output location |
{user_name} |
User's name from config |
{communication_language} |
Language preference |
# ✅ CORRECT
exec: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
# ❌ WRONG
exec: '../../../core/workflows/brainstorming/workflow.md'
Agent Types
| Type | hasSidecar | Additional Fields |
|---|---|---|
| Simple | false | prompts, menu |
| Expert | true | prompts, menu, critical_actions |
| Module | true | menu only (external workflows) |
Expert Agent sidecar path pattern:
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
Complete Examples
Simple Agent (hasSidecar: false)
prompts:
- id: format-code
content: |
<instructions>Format code to style guidelines</instructions>
menu:
- trigger: FC or fuzzy match on format-code
action: '#format-code'
description: '[FC] Format code'
- trigger: LC or fuzzy match on lint-code
action: 'Check code for issues'
description: '[LC] Lint code'
Expert Agent (hasSidecar: true)
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/'
prompts:
- id: guided-entry
content: |
<instructions>Guide through journal entry</instructions>
menu:
- trigger: WE or fuzzy match on write-entry
action: '#guided-entry'
description: '[WE] Write journal entry'
- trigger: SM or fuzzy match on save-memory
action: 'Update {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
description: '[SM] Save session'
Module Agent (hasSidecar: true)
menu:
- trigger: WI or fuzzy match on workflow-init
exec: '{project-root}/_bmad/bmm/workflows/workflow-status/workflow.md'
description: '[WI] Initialize workflow'
- trigger: BS or fuzzy match on brainstorm
exec: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
description: '[BS] Guided brainstorming'
Validation Rules
- Triggers:
XX or fuzzy match on command-nameformat required - Descriptions: Must start with
[XX]code matching trigger - Reserved codes: MH, CH, PM, DA never valid in user menus
- Code uniqueness: Required within each agent
- Paths: Always use
{project-root}, never relative paths - Handler choice:
actionfor Agents,execfor Modules - Sidecar paths:
{project-root}/_bmad/_memory/{sidecar-folder}/