feat(bmad-help): llms.txt support for general questions (#2230)
* feat(bmad-help): add _meta rows and llms.txt support for general questions Register llms.txt URLs in module-help.csv via _meta rows so bmad-help can fetch module documentation when users ask questions that don't map to a specific skill. * refactor(bmad-help): streamline llms.txt docs into existing skill sections
This commit is contained in:
parent
f9925eb180
commit
59b07c33e2
|
|
@ -1,4 +1,5 @@
|
|||
module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
|
||||
BMad Method,_meta,,,,,,,,,false,https://docs.bmad-method.org/llms.txt,
|
||||
BMad Method,bmad-document-project,Document Project,DP,Analyze an existing project to produce useful documentation.,,anytime,,,false,project-knowledge,*
|
||||
BMad Method,bmad-generate-project-context,Generate Project Context,GPC,Scan existing codebase to generate a lean LLM-optimized project-context.md. Essential for brownfield projects.,,anytime,,,false,output_folder,project context
|
||||
BMad Method,bmad-quick-dev,Quick Dev,QQ,Unified intent-in code-out workflow: clarify plan implement review and present.,,anytime,,,false,implementation_artifacts,spec and project implementation
|
||||
|
|
|
|||
|
Can't render this file because it has a wrong number of fields in line 2.
|
|
|
@ -7,7 +7,7 @@ description: 'Analyzes current state and user query to answer BMad questions or
|
|||
|
||||
## Purpose
|
||||
|
||||
Help the user understand where they are in their BMad workflow and what to do next. Answer BMad questions when asked.
|
||||
Help the user understand where they are in their BMad workflow and what to do next, and also answer broader questions when asked that could be augmented with remote sources such as module documentation sources.
|
||||
|
||||
## Desired Outcomes
|
||||
|
||||
|
|
@ -18,6 +18,7 @@ When this skill completes, the user should:
|
|||
3. **Know how to invoke it** — skill name, menu code, action context, and any args that shortcut the conversation
|
||||
4. **Get offered a quick start** — when a single skill is the clear next step, offer to run it for the user right now rather than just listing it
|
||||
5. **Feel oriented, not overwhelmed** — surface only what's relevant to their current position; don't dump the entire catalog
|
||||
6. **Get answers to general questions** — when the question doesn't map to a specific skill, use the module's registered documentation to give a grounded answer
|
||||
|
||||
## Data Sources
|
||||
|
||||
|
|
@ -25,6 +26,7 @@ When this skill completes, the user should:
|
|||
- **Config**: `config.yaml` and `user-config.yaml` files in `{project-root}/_bmad/` and its subfolders — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
|
||||
- **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
|
||||
- **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
|
||||
- **Module docs**: Rows with `_meta` in the `skill` column carry a URL or path in `output-location` pointing to the module's documentation (e.g., llms.txt). Fetch and use these to answer general questions about that module.
|
||||
|
||||
## CSV Interpretation
|
||||
|
||||
|
|
@ -70,4 +72,4 @@ For each recommended item, present:
|
|||
- Present all output in `{communication_language}`
|
||||
- Recommend running each skill in a **fresh context window**
|
||||
- Match the user's tone — conversational when they're casual, structured when they want specifics
|
||||
- If the active module is ambiguous, ask rather than guess
|
||||
- If the active module is ambiguous, retrieve all meta rows remote sources to find relevant info also to help answer their question
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
|
||||
Core,_meta,,,,,,,,,false,https://docs.bmad-method.org/llms.txt,
|
||||
Core,bmad-brainstorming,Brainstorming,BSP,Use early in ideation or when stuck generating ideas.,,anytime,,,false,{output_folder}/brainstorming,brainstorming session
|
||||
Core,bmad-party-mode,Party Mode,PM,Orchestrate multi-agent discussions when you need multiple perspectives or want agents to collaborate.,,anytime,,,false,,
|
||||
Core,bmad-help,BMad Help,BH,,,anytime,,,false,,
|
||||
|
|
|
|||
|
Can't render this file because it has a wrong number of fields in line 2.
|
|
|
@ -969,6 +969,14 @@ class Installer {
|
|||
outputs,
|
||||
] = columns;
|
||||
|
||||
// Pass through _meta rows as-is (module metadata, not a skill)
|
||||
if (phase === '_meta') {
|
||||
const finalModule = (!module || module.trim() === '') && moduleName !== 'core' ? moduleName : module || '';
|
||||
const metaRow = [finalModule, '_meta', '', '', '', '', '', 'false', '', '', '', '', '', '', outputLocation || '', ''];
|
||||
allRows.push(metaRow.map((c) => this.escapeCSVField(c)).join(','));
|
||||
continue;
|
||||
}
|
||||
|
||||
// If module column is empty, set it to this module's name (except for core which stays empty for universal tools)
|
||||
const finalModule = (!module || module.trim() === '') && moduleName !== 'core' ? moduleName : module || '';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue