diff --git a/bmad-core/agents/sm.md b/bmad-core/agents/sm.md index 83a89963..e49acc04 100644 --- a/bmad-core/agents/sm.md +++ b/bmad-core/agents/sm.md @@ -8,6 +8,8 @@ activation-instructions: - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - The customization field ALWAYS takes precedence over any conflicting instructions - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute + - IDE-FILE-RESOLUTION: Dependencies map to files as {root}/{type}/{name}.md where root=".bmad-core", type=folder (tasks/templates/checklists/utils), name=dependency name. + - REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task), or ask for clarification if ambiguous. agent: name: Bob id: sm @@ -46,43 +48,4 @@ dependencies: - story-draft-checklist utils: - template-format - - file-resolution-context ``` - -## File Resolution Context (IDE Integration) - -When working in an IDE environment, understand these file resolution patterns: - -### Base Path - -- The `root` field (line 6) defines the base path: `.bmad-core` -- All file references are relative to this root directory - -### Dependency Resolution - -All items under `dependencies` follow a folder/file hierarchy pattern: - -- **Tasks**: `{root}/tasks/{task-name}.md` - - Example: `create-next-story` → `.bmad-core/tasks/create-next-story.md` -- **Templates**: `{root}/templates/{template-name}.md` - - Example: `story-tmpl` → `.bmad-core/templates/story-tmpl.md` -- **Checklists**: `{root}/checklists/{checklist-name}.md` - - Example: `story-draft-checklist` → `.bmad-core/checklists/story-draft-checklist.md` -- **Utils**: `{root}/utils/{util-name}.md` - - Example: `template-format` → `.bmad-core/utils/template-format.md` - -### Command Mapping - -When users request actions, understand these equivalences: - -- "draft the next story" = `*draft` = `*create` = execute task at `.bmad-core/tasks/create-next-story.md` -- "show story checklist" = `*checklist story-draft-checklist` = display `.bmad-core/checklists/story-draft-checklist.md` - -### Working with Files - -When executing tasks or accessing dependencies: - -1. Always resolve the full path from the dependency name -2. Read the file content from the resolved path -3. Execute the instructions contained within -4. Reference templates using their full resolved paths diff --git a/bmad-core/utils/file-resolution-context.md b/bmad-core/utils/file-resolution-context.md index ba7e99c0..9a119870 100644 --- a/bmad-core/utils/file-resolution-context.md +++ b/bmad-core/utils/file-resolution-context.md @@ -1,87 +1,19 @@ -# File Resolution Context for IDE Integration +# File Resolution Context -This utility explains how BMAD agents should resolve file paths when working in IDE environments. +## IDE Activation Instructions for Agents -## Core Concepts +Add these two lines to any agent's `activation-instructions`: -### Base Path Resolution +```yaml +- IDE-FILE-RESOLUTION: Dependencies map to files as {root}/{type}/{name}.md where root=".bmad-core", type=folder (tasks/templates/checklists/utils), name=dependency name. +- REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task), or ask for clarification if ambiguous. +``` -- The `root` field in each agent's YAML configuration defines the base path (typically `.bmad-core`) -- All file references in dependencies are relative to this root directory -- IDE agents must understand this structure to properly access files +## Quick Reference -### Dependency Path Patterns - -All items under `dependencies` in agent configurations follow a consistent folder/file hierarchy: - -| Dependency Type | Path Pattern | Example | -|----------------|--------------|---------| -| Tasks | `{root}/tasks/{task-name}.md` | `create-next-story` → `.bmad-core/tasks/create-next-story.md` | -| Templates | `{root}/templates/{template-name}.md` | `story-tmpl` → `.bmad-core/templates/story-tmpl.md` | -| Checklists | `{root}/checklists/{checklist-name}.md` | `story-draft-checklist` → `.bmad-core/checklists/story-draft-checklist.md` | -| Utils | `{root}/utils/{util-name}.md` | `template-format` → `.bmad-core/utils/template-format.md` | -| Data | `{root}/data/{data-name}.md` | `bmad-kb` → `.bmad-core/data/bmad-kb.md` | -| Agents | `{root}/agents/{agent-name}.md` | `sm` → `.bmad-core/agents/sm.md` | - -### Natural Language to Command Mapping - -Agents should understand various ways users might request actions: - -#### Story Creation Examples - -- "draft the next story" → `*draft` or `*create` -- "create a new story" → `*create` -- "prepare a story" → `*draft` -- All map to: `.bmad-core/tasks/create-next-story.md` - -#### Checklist Examples - -- "show story checklist" → `*checklist story-draft-checklist` -- "run the story checklist" → `*checklist story-draft-checklist` -- Maps to: `.bmad-core/checklists/story-draft-checklist.md` - -#### Template Examples - -- "use the story template" → Access `.bmad-core/templates/story-tmpl.md` -- "show prd template" → Access `.bmad-core/templates/prd-tmpl.md` - -## Implementation Guidelines - -### For IDE Agents - -1. **Path Resolution**: Always construct full paths by combining: - - Root directory from YAML configuration - - Appropriate subfolder based on dependency type - - Dependency name with `.md` extension - -2. **File Access**: When executing tasks or using dependencies: - - Resolve the full file path - - Read the file content - - Parse and execute instructions - - Handle file-not-found errors gracefully - -3. **Cross-References**: When one file references another: - - Apply the same resolution rules - - Maintain context of the current working directory - -### For Task Execution - -When a user requests task execution: - -1. Parse the user's request to identify the task -2. Check command aliases (e.g., `create` and `draft` both map to `create-next-story`) -3. Resolve the task file path: `{root}/tasks/{task-name}.md` -4. Read and execute the task instructions -5. If the task references templates or other files, resolve those paths similarly - -### Error Handling - -- If a file doesn't exist at the resolved path, provide helpful feedback -- Suggest similar files if there might be a typo -- Never assume file locations outside the defined structure - -## Integration Notes - -- This resolution system ensures consistency across all agents -- IDE-specific tools can leverage this structure for autocomplete and navigation -- The pattern is extensible for new dependency types \ No newline at end of file +| Dependency | File Path | +|------------|-----------| +| task: `create-next-story` | `.bmad-core/tasks/create-next-story.md` | +| template: `story-tmpl` | `.bmad-core/templates/story-tmpl.md` | +| checklist: `story-draft-checklist` | `.bmad-core/checklists/story-draft-checklist.md` | +| util: `template-format` | `.bmad-core/utils/template-format.md` | \ No newline at end of file