feat(db): mesh data model — meshes, members, invites, audit log
- pgSchema "mesh" with 4 tables isolating the peer mesh domain - Enums: visibility, transport, tier, role - audit_log is metadata-only (E2E encryption enforced at broker/client) - Cascade on mesh delete, soft-delete via archivedAt/revokedAt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
14
.windsurf/workflows/bmad/bmm/agents/analyst.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/analyst.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: analyst
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/architect.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/architect.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: architect
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/dev.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/dev.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: dev
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/pm.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/pm.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: pm
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/quick-flow-solo-dev.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/quick-flow-solo-dev.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: quick-flow-solo-dev
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/sm.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/sm.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: sm
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/tea.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/tea.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: tea
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/tech-writer.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/tech-writer.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: tech-writer
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
14
.windsurf/workflows/bmad/bmm/agents/ux-designer.md
Normal file
14
.windsurf/workflows/bmad/bmm/agents/ux-designer.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: ux-designer
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
58
.windsurf/workflows/bmad/bmm/workflows/code-review.md
Normal file
58
.windsurf/workflows/bmad/bmm/workflows/code-review.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
description: code-review
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Review Story Workflow
|
||||
name: code-review
|
||||
description: "Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval."
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
date: system-generated
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review"
|
||||
instructions: "{installed_path}/instructions.xml"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
template: false
|
||||
|
||||
variables:
|
||||
# Project context
|
||||
project_context: "**/project-context.md"
|
||||
story_dir: "{sprint_artifacts}"
|
||||
|
||||
# Smart input file references - handles both whole docs and sharded docs
|
||||
# Priority: Whole document first, then sharded version
|
||||
# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story review
|
||||
input_file_patterns:
|
||||
architecture:
|
||||
description: "System architecture for review context"
|
||||
whole: "{output_folder}/*architecture*.md"
|
||||
sharded: "{output_folder}/*architecture*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
ux_design:
|
||||
description: "UX design specification (if UI review)"
|
||||
whole: "{output_folder}/*ux*.md"
|
||||
sharded: "{output_folder}/*ux*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
epics:
|
||||
description: "Epic containing story being reviewed"
|
||||
whole: "{output_folder}/*epic*.md"
|
||||
sharded_index: "{output_folder}/*epic*/index.md"
|
||||
sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md"
|
||||
load_strategy: "SELECTIVE_LOAD"
|
||||
document_project:
|
||||
description: "Brownfield project documentation (optional)"
|
||||
sharded: "{output_folder}/index.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
standalone: true
|
||||
61
.windsurf/workflows/bmad/bmm/workflows/correct-course.md
Normal file
61
.windsurf/workflows/bmad/bmm/workflows/correct-course.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: correct-course
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Correct Course - Sprint Change Management Workflow
|
||||
name: "correct-course"
|
||||
description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation"
|
||||
author: "BMad Method"
|
||||
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
date: system-generated
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
||||
|
||||
# Smart input file references - handles both whole docs and sharded docs
|
||||
# Priority: Whole document first, then sharded version
|
||||
# Strategy: Load project context for impact analysis
|
||||
input_file_patterns:
|
||||
prd:
|
||||
description: "Product requirements for impact analysis"
|
||||
whole: "{output_folder}/*prd*.md"
|
||||
sharded: "{output_folder}/*prd*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
epics:
|
||||
description: "All epics to analyze change impact"
|
||||
whole: "{output_folder}/*epic*.md"
|
||||
sharded: "{output_folder}/*epic*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
architecture:
|
||||
description: "System architecture and decisions"
|
||||
whole: "{output_folder}/*architecture*.md"
|
||||
sharded: "{output_folder}/*architecture*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
ux_design:
|
||||
description: "UX design specification (if UI impacts)"
|
||||
whole: "{output_folder}/*ux*.md"
|
||||
sharded: "{output_folder}/*ux*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
tech_spec:
|
||||
description: "Technical specification"
|
||||
whole: "{output_folder}/tech-spec*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
document_project:
|
||||
description: "Brownfield project documentation (optional)"
|
||||
sharded: "{output_folder}/index.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course"
|
||||
template: false
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
checklist: "{installed_path}/checklist.md"
|
||||
default_output_file: "{output_folder}/sprint-change-proposal-{date}.md"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
description: create-excalidraw-dataflow
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: create-excalidraw-dataflow
|
||||
description: "Create data flow diagrams (DFD) in Excalidraw format"
|
||||
author: "BMad"
|
||||
|
||||
# Config values
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow"
|
||||
shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Core Excalidraw resources (universal knowledge)
|
||||
helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
|
||||
json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
|
||||
|
||||
# Domain-specific resources (technical diagrams)
|
||||
templates: "{shared_path}/excalidraw-templates.yaml"
|
||||
library: "{shared_path}/excalidraw-library.json"
|
||||
|
||||
# Output file (respects user's configured output_folder)
|
||||
default_output_file: "{output_folder}/excalidraw-diagrams/dataflow-{timestamp}.excalidraw"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
description: create-excalidraw-diagram
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: create-excalidraw-diagram
|
||||
description: "Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format"
|
||||
author: "BMad"
|
||||
|
||||
# Config values
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram"
|
||||
shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Core Excalidraw resources (universal knowledge)
|
||||
helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
|
||||
json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
|
||||
|
||||
# Domain-specific resources (technical diagrams)
|
||||
templates: "{shared_path}/excalidraw-templates.yaml"
|
||||
library: "{shared_path}/excalidraw-library.json"
|
||||
|
||||
# Output file (respects user's configured output_folder)
|
||||
default_output_file: "{output_folder}/excalidraw-diagrams/diagram-{timestamp}.excalidraw"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
description: create-excalidraw-flowchart
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: create-excalidraw-flowchart
|
||||
description: "Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows"
|
||||
author: "BMad"
|
||||
|
||||
# Config values
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart"
|
||||
shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Core Excalidraw resources (universal knowledge)
|
||||
helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
|
||||
json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
|
||||
|
||||
# Domain-specific resources (technical diagrams)
|
||||
templates: "{shared_path}/excalidraw-templates.yaml"
|
||||
library: "{shared_path}/excalidraw-library.json"
|
||||
|
||||
# Output file (respects user's configured output_folder)
|
||||
default_output_file: "{output_folder}/excalidraw-diagrams/flowchart-{timestamp}.excalidraw"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
description: create-excalidraw-wireframe
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: create-excalidraw-wireframe
|
||||
description: "Create website or app wireframes in Excalidraw format"
|
||||
author: "BMad"
|
||||
|
||||
# Config values
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe"
|
||||
shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Core Excalidraw resources (universal knowledge)
|
||||
helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
|
||||
json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
|
||||
|
||||
# Domain-specific resources (technical diagrams)
|
||||
templates: "{shared_path}/excalidraw-templates.yaml"
|
||||
library: "{shared_path}/excalidraw-library.json"
|
||||
|
||||
# Output file (respects user's configured output_folder)
|
||||
default_output_file: "{output_folder}/excalidraw-diagrams/wireframe-{timestamp}.excalidraw"
|
||||
|
||||
standalone: true
|
||||
63
.windsurf/workflows/bmad/bmm/workflows/create-story.md
Normal file
63
.windsurf/workflows/bmad/bmm/workflows/create-story.md
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
description: create-story
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: create-story
|
||||
description: "Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking"
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
story_dir: "{sprint_artifacts}"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story"
|
||||
template: "{installed_path}/template.md"
|
||||
instructions: "{installed_path}/instructions.xml"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Variables and inputs
|
||||
variables:
|
||||
sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking
|
||||
epics_file: "{output_folder}/epics.md" # Enhanced epics+stories with BDD and source hints
|
||||
prd_file: "{output_folder}/PRD.md" # Fallback for requirements (if not in epics file)
|
||||
architecture_file: "{output_folder}/architecture.md" # Fallback for constraints (if not in epics file)
|
||||
ux_file: "{output_folder}/ux.md" # Fallback for UX requirements (if not in epics file)
|
||||
story_title: "" # Will be elicited if not derivable
|
||||
|
||||
# Project context
|
||||
project_context: "**/project-context.md"
|
||||
|
||||
default_output_file: "{story_dir}/{{story_key}}.md"
|
||||
|
||||
# Smart input file references - Simplified for enhanced approach
|
||||
# The epics+stories file should contain everything needed with source hints
|
||||
input_file_patterns:
|
||||
prd:
|
||||
description: "PRD (fallback - epics file should have most content)"
|
||||
whole: "{output_folder}/*prd*.md"
|
||||
sharded: "{output_folder}/*prd*/*.md"
|
||||
load_strategy: "SELECTIVE_LOAD" # Only load if needed
|
||||
architecture:
|
||||
description: "Architecture (fallback - epics file should have relevant sections)"
|
||||
whole: "{output_folder}/*architecture*.md"
|
||||
sharded: "{output_folder}/*architecture*/*.md"
|
||||
load_strategy: "SELECTIVE_LOAD" # Only load if needed
|
||||
ux:
|
||||
description: "UX design (fallback - epics file should have relevant sections)"
|
||||
whole: "{output_folder}/*ux*.md"
|
||||
sharded: "{output_folder}/*ux*/*.md"
|
||||
load_strategy: "SELECTIVE_LOAD" # Only load if needed
|
||||
epics:
|
||||
description: "Enhanced epics+stories file with BDD and source hints"
|
||||
whole: "{output_folder}/*epic*.md"
|
||||
sharded: "{output_folder}/*epic*/*.md"
|
||||
load_strategy: "SELECTIVE_LOAD" # Only load needed epic
|
||||
|
||||
standalone: true
|
||||
30
.windsurf/workflows/bmad/bmm/workflows/create-tech-spec.md
Normal file
30
.windsurf/workflows/bmad/bmm/workflows/create-tech-spec.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
description: create-tech-spec
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Quick-Flow: Create Tech-Spec
|
||||
name: create-tech-spec
|
||||
description: "Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec."
|
||||
author: "BMad"
|
||||
|
||||
# Config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
# Related workflows
|
||||
quick_dev_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml"
|
||||
party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
|
||||
advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
|
||||
|
||||
standalone: true
|
||||
30
.windsurf/workflows/bmad/bmm/workflows/dev-story.md
Normal file
30
.windsurf/workflows/bmad/bmm/workflows/dev-story.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
description: dev-story
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: dev-story
|
||||
description: "Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria"
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
story_dir: "{config_source}:sprint_artifacts"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/dev-story"
|
||||
instructions: "{installed_path}/instructions.xml"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
story_file: "" # Explicit story path; auto-discovered if empty
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
sprint_status: "{sprint_artifacts}/sprint-status.yaml"
|
||||
project_context: "**/project-context.md"
|
||||
|
||||
standalone: true
|
||||
34
.windsurf/workflows/bmad/bmm/workflows/document-project.md
Normal file
34
.windsurf/workflows/bmad/bmm/workflows/document-project.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
description: document-project
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Document Project Workflow Configuration
|
||||
name: "document-project"
|
||||
version: "1.2.0"
|
||||
description: "Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development"
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
date: system-generated
|
||||
|
||||
# Module path and component files
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/document-project"
|
||||
template: false # This is an action workflow with multiple output files
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Required data files - CRITICAL for project type detection and documentation requirements
|
||||
documentation_requirements_csv: "{installed_path}/documentation-requirements.csv"
|
||||
|
||||
# Output configuration - Multiple files generated in output folder
|
||||
# Primary output: {output_folder}/index.md
|
||||
# Additional files generated by sub-workflows based on project structure
|
||||
|
||||
standalone: true
|
||||
37
.windsurf/workflows/bmad/bmm/workflows/quick-dev.md
Normal file
37
.windsurf/workflows/bmad/bmm/workflows/quick-dev.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
description: quick-dev
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Quick-Flow: Quick-Dev
|
||||
name: quick-dev
|
||||
description: "Flexible development - execute tech-specs OR direct instructions with optional planning."
|
||||
author: "BMad"
|
||||
|
||||
# Config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
date: system-generated
|
||||
|
||||
# Project context
|
||||
project_context: "**/project-context.md"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
checklist: "{installed_path}/checklist.md"
|
||||
|
||||
# Related workflows
|
||||
create_tech_spec_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml"
|
||||
party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
|
||||
advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
|
||||
|
||||
# Routing resources (lazy-loaded)
|
||||
project_levels: "{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml"
|
||||
workflow_init: "{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml"
|
||||
|
||||
standalone: true
|
||||
61
.windsurf/workflows/bmad/bmm/workflows/retrospective.md
Normal file
61
.windsurf/workflows/bmad/bmm/workflows/retrospective.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: retrospective
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Retrospective - Epic Completion Review Workflow
|
||||
name: "retrospective"
|
||||
description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic"
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
date: system-generated
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective"
|
||||
template: false
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
required_inputs:
|
||||
- agent_manifest: "{project-root}/_bmad/_config/agent-manifest.csv"
|
||||
|
||||
# Smart input file references - handles both whole docs and sharded docs
|
||||
# Priority: Whole document first, then sharded version
|
||||
# Strategy: SELECTIVE LOAD - only load the completed epic and relevant retrospectives
|
||||
input_file_patterns:
|
||||
epics:
|
||||
description: "The completed epic for retrospective"
|
||||
whole: "{output_folder}/*epic*.md"
|
||||
sharded_index: "{output_folder}/*epic*/index.md"
|
||||
sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md"
|
||||
load_strategy: "SELECTIVE_LOAD"
|
||||
previous_retrospective:
|
||||
description: "Previous epic's retrospective (optional)"
|
||||
pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md"
|
||||
load_strategy: "SELECTIVE_LOAD"
|
||||
architecture:
|
||||
description: "System architecture for context"
|
||||
whole: "{output_folder}/*architecture*.md"
|
||||
sharded: "{output_folder}/*architecture*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
prd:
|
||||
description: "Product requirements for context"
|
||||
whole: "{output_folder}/*prd*.md"
|
||||
sharded: "{output_folder}/*prd*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
document_project:
|
||||
description: "Brownfield project documentation (optional)"
|
||||
sharded: "{output_folder}/*.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
# Required files
|
||||
sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
||||
story_directory: "{sprint_artifacts}"
|
||||
retrospectives_folder: "{sprint_artifacts}"
|
||||
|
||||
standalone: true
|
||||
56
.windsurf/workflows/bmad/bmm/workflows/sprint-planning.md
Normal file
56
.windsurf/workflows/bmad/bmm/workflows/sprint-planning.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
description: sprint-planning
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
name: sprint-planning
|
||||
description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle"
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
template: "{installed_path}/sprint-status-template.yaml"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Variables and inputs
|
||||
variables:
|
||||
# Project context
|
||||
project_context: "**/project-context.md"
|
||||
# Project identification
|
||||
project_name: "{config_source}:project_name"
|
||||
|
||||
# Tracking system configuration
|
||||
tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello
|
||||
story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello
|
||||
story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations
|
||||
|
||||
# Source files (file-system only)
|
||||
epics_location: "{output_folder}" # Directory containing epic*.md files
|
||||
epics_pattern: "epic*.md" # Pattern to find epic files
|
||||
|
||||
# Output configuration
|
||||
status_file: "{sprint_artifacts}/sprint-status.yaml"
|
||||
|
||||
# Smart input file references - handles both whole docs and sharded docs
|
||||
# Priority: Whole document first, then sharded version
|
||||
# Strategy: FULL LOAD - sprint planning needs ALL epics to build complete status
|
||||
input_file_patterns:
|
||||
epics:
|
||||
description: "All epics with user stories"
|
||||
whole: "{output_folder}/*epic*.md"
|
||||
sharded: "{output_folder}/*epic*/*.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{status_file}"
|
||||
|
||||
standalone: true
|
||||
39
.windsurf/workflows/bmad/bmm/workflows/sprint-status.md
Normal file
39
.windsurf/workflows/bmad/bmm/workflows/sprint-status.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
description: sprint-status
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Sprint Status - Implementation Tracker
|
||||
name: sprint-status
|
||||
description: "Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow."
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
date: system-generated
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
# Inputs
|
||||
variables:
|
||||
sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
||||
tracking_system: "file-system"
|
||||
|
||||
# Smart input file references
|
||||
input_file_patterns:
|
||||
sprint_status:
|
||||
description: "Sprint status file generated by sprint-planning"
|
||||
whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
||||
load_strategy: "FULL_LOAD"
|
||||
|
||||
# Standalone so IDE commands get generated
|
||||
standalone: true
|
||||
|
||||
# No web bundle needed
|
||||
33
.windsurf/workflows/bmad/bmm/workflows/workflow-init.md
Normal file
33
.windsurf/workflows/bmad/bmm/workflows/workflow-init.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
description: workflow-init
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Workflow Init - Initial Project Setup
|
||||
name: workflow-init
|
||||
description: "Initialize a new BMM project by determining level, type, and creating workflow path"
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
sprint_artifacts: "{config_source}:sprint_artifacts"
|
||||
user_name: "{config_source}:user_name"
|
||||
project_name: "{config_source}:project_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/workflow-status/init"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
template: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml"
|
||||
|
||||
# Path data files
|
||||
path_files: "{project-root}/_bmad/bmm/workflows/workflow-status/paths/"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/bmm-workflow-status.yaml"
|
||||
|
||||
standalone: true
|
||||
33
.windsurf/workflows/bmad/bmm/workflows/workflow-status.md
Normal file
33
.windsurf/workflows/bmad/bmm/workflows/workflow-status.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
description: workflow-status
|
||||
auto_execution_mode: 1
|
||||
---
|
||||
|
||||
# Workflow Status - Master Router and Status Tracker
|
||||
name: workflow-status
|
||||
description: 'Lightweight status checker - answers "what should I do now?" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.'
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
user_skill_level: "{config_source}:user_skill_level"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/workflow-status"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
# Template for status file creation (used by workflow-init)
|
||||
template: "{installed_path}/workflow-status-template.yaml"
|
||||
|
||||
# Path definitions for project types
|
||||
path_files: "{installed_path}/paths/"
|
||||
|
||||
# Output configuration - reads existing status
|
||||
default_output_file: "{output_folder}/bmm-workflow-status.yaml"
|
||||
|
||||
standalone: true
|
||||
14
.windsurf/workflows/bmad/core/agents/bmad-master.md
Normal file
14
.windsurf/workflows/bmad/core/agents/bmad-master.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: bmad-master
|
||||
auto_execution_mode: 3
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
<agent-activation CRITICAL="TRUE">
|
||||
1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md
|
||||
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
||||
3. Execute ALL activation steps exactly as written in the agent file
|
||||
4. Follow the agent's persona and menu system precisely
|
||||
5. Stay in character throughout the session
|
||||
</agent-activation>
|
||||
121
.windsurf/workflows/bmad/core/tasks/advanced-elicitation.md
Normal file
121
.windsurf/workflows/bmad/core/tasks/advanced-elicitation.md
Normal file
@@ -0,0 +1,121 @@
|
||||
---
|
||||
description: task-advanced-elicitation
|
||||
auto_execution_mode: 2
|
||||
---
|
||||
|
||||
<task id="_bmad/core/tasks/advanced-elicitation.xml" name="Advanced Elicitation" standalone="true"
|
||||
methods="{project-root}/_bmad/core/tasks/advanced-elicitation-methods.csv"
|
||||
agent-party="{project-root}/_bmad/_config/agent-manifest.csv">
|
||||
<llm critical="true">
|
||||
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
|
||||
<i>DO NOT skip steps or change the sequence</i>
|
||||
<i>HALT immediately when halt-conditions are met</i>
|
||||
<i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
|
||||
<i>Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution</i>
|
||||
</llm>
|
||||
|
||||
<integration description="When called from workflow">
|
||||
<desc>When called during template workflow processing:</desc>
|
||||
<i>1. Receive or review the current section content that was just generated or</i>
|
||||
<i>2. Apply elicitation methods iteratively to enhance that specific content</i>
|
||||
<i>3. Return the enhanced version back when user selects 'x' to proceed and return back</i>
|
||||
<i>4. The enhanced content replaces the original section content in the output document</i>
|
||||
</integration>
|
||||
|
||||
<flow>
|
||||
<step n="1" title="Method Registry Loading">
|
||||
<action>Load and read {{methods}} and {{agent-party}}</action>
|
||||
|
||||
<csv-structure>
|
||||
<i>category: Method grouping (core, structural, risk, etc.)</i>
|
||||
<i>method_name: Display name for the method</i>
|
||||
<i>description: Rich explanation of what the method does, when to use it, and why it's valuable</i>
|
||||
<i>output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action")</i>
|
||||
</csv-structure>
|
||||
|
||||
<context-analysis>
|
||||
<i>Use conversation history</i>
|
||||
<i>Analyze: content type, complexity, stakeholder needs, risk level, and creative potential</i>
|
||||
</context-analysis>
|
||||
|
||||
<smart-selection>
|
||||
<i>1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential</i>
|
||||
<i>2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV</i>
|
||||
<i>3. Select 5 methods: Choose methods that best match the context based on their descriptions</i>
|
||||
<i>4. Balance approach: Include mix of foundational and specialized techniques as appropriate</i>
|
||||
</smart-selection>
|
||||
</step>
|
||||
|
||||
<step n="2" title="Present Options and Handle Responses">
|
||||
|
||||
<format>
|
||||
**Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)**
|
||||
Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed:
|
||||
|
||||
1. [Method Name]
|
||||
2. [Method Name]
|
||||
3. [Method Name]
|
||||
4. [Method Name]
|
||||
5. [Method Name]
|
||||
r. Reshuffle the list with 5 new options
|
||||
a. List all methods with descriptions
|
||||
x. Proceed / No Further Actions
|
||||
</format>
|
||||
|
||||
<response-handling>
|
||||
<case n="1-5">
|
||||
<i>Execute the selected method using its description from the CSV</i>
|
||||
<i>Adapt the method's complexity and output format based on the current context</i>
|
||||
<i>Apply the method creatively to the current section content being enhanced</i>
|
||||
<i>Display the enhanced version showing what the method revealed or improved</i>
|
||||
<i>CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response.</i>
|
||||
<i>CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to
|
||||
follow the instructions given by the user.</i>
|
||||
<i>CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations</i>
|
||||
</case>
|
||||
<case n="r">
|
||||
<i>Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format</i>
|
||||
<i>When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being
|
||||
potentially the most useful for the document or section being discovered</i>
|
||||
</case>
|
||||
<case n="x">
|
||||
<i>Complete elicitation and proceed</i>
|
||||
<i>Return the fully enhanced content back to create-doc.md</i>
|
||||
<i>The enhanced content becomes the final version for that section</i>
|
||||
<i>Signal completion back to create-doc.md to continue with next section</i>
|
||||
</case>
|
||||
<case n="a">
|
||||
<i>List all methods with their descriptions from the CSV in a compact table</i>
|
||||
<i>Allow user to select any method by name or number from the full list</i>
|
||||
<i>After selection, execute the method as described in the n="1-5" case above</i>
|
||||
</case>
|
||||
<case n="direct-feedback">
|
||||
<i>Apply changes to current section content and re-present choices</i>
|
||||
</case>
|
||||
<case n="multiple-numbers">
|
||||
<i>Execute methods in sequence on the content, then re-offer choices</i>
|
||||
</case>
|
||||
</response-handling>
|
||||
</step>
|
||||
|
||||
<step n="3" title="Execution Guidelines">
|
||||
<i>Method execution: Use the description from CSV to understand and apply each method</i>
|
||||
<i>Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection")</i>
|
||||
<i>Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated)</i>
|
||||
<i>Creative application: Interpret methods flexibly based on context while maintaining pattern consistency</i>
|
||||
<i>Focus on actionable insights</i>
|
||||
<i>Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user
|
||||
indicates otherwise)</i>
|
||||
<i>Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory
|
||||
already</i>
|
||||
<i>Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution</i>
|
||||
<i>Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session</i>
|
||||
<i>Each method application builds upon previous enhancements</i>
|
||||
<i>Content preservation: Track all enhancements made during elicitation</i>
|
||||
<i>Iterative enhancement: Each selected method (1-5) should:</i>
|
||||
<i> 1. Apply to the current enhanced version of the content</i>
|
||||
<i> 2. Show the improvements made</i>
|
||||
<i> 3. Return to the prompt for additional elicitations or completion</i>
|
||||
</step>
|
||||
</flow>
|
||||
</task>
|
||||
70
.windsurf/workflows/bmad/core/tasks/index-docs.md
Normal file
70
.windsurf/workflows/bmad/core/tasks/index-docs.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
description: task-index-docs
|
||||
auto_execution_mode: 2
|
||||
---
|
||||
|
||||
<task id="_bmad/core/tasks/index-docs" name="Index Docs"
|
||||
description="Generates or updates an index.md of all documents in the specified directory" webskip="true" standalone="true">
|
||||
<llm critical="true">
|
||||
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
|
||||
<i>DO NOT skip steps or change the sequence</i>
|
||||
<i>HALT immediately when halt-conditions are met</i>
|
||||
<i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
|
||||
<i>Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution</i>
|
||||
</llm>
|
||||
|
||||
<flow>
|
||||
<step n="1" title="Scan Directory">
|
||||
<i>List all files and subdirectories in the target location</i>
|
||||
</step>
|
||||
|
||||
<step n="2" title="Group Content">
|
||||
<i>Organize files by type, purpose, or subdirectory</i>
|
||||
</step>
|
||||
|
||||
<step n="3" title="Generate Descriptions">
|
||||
<i>Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the
|
||||
filename</i>
|
||||
</step>
|
||||
|
||||
<step n="4" title="Create/Update Index">
|
||||
<i>Write or update index.md with organized file listings</i>
|
||||
</step>
|
||||
</flow>
|
||||
|
||||
<output-format>
|
||||
<example>
|
||||
# Directory Index
|
||||
|
||||
## Files
|
||||
|
||||
- **[filename.ext](./filename.ext)** - Brief description
|
||||
- **[another-file.ext](./another-file.ext)** - Brief description
|
||||
|
||||
## Subdirectories
|
||||
|
||||
### subfolder/
|
||||
|
||||
- **[file1.ext](./subfolder/file1.ext)** - Brief description
|
||||
- **[file2.ext](./subfolder/file2.ext)** - Brief description
|
||||
|
||||
### another-folder/
|
||||
|
||||
- **[file3.ext](./another-folder/file3.ext)** - Brief description
|
||||
</example>
|
||||
</output-format>
|
||||
|
||||
<halt-conditions critical="true">
|
||||
<i>HALT if target directory does not exist or is inaccessible</i>
|
||||
<i>HALT if user does not have write permissions to create index.md</i>
|
||||
</halt-conditions>
|
||||
|
||||
<validation>
|
||||
<i>Use relative paths starting with ./</i>
|
||||
<i>Group similar files together</i>
|
||||
<i>Read file contents to generate accurate descriptions - don't guess from filenames</i>
|
||||
<i>Keep descriptions concise but informative (3-10 words)</i>
|
||||
<i>Sort alphabetically within groups</i>
|
||||
<i>Skip hidden files (starting with .) unless specified</i>
|
||||
</validation>
|
||||
</task>
|
||||
114
.windsurf/workflows/bmad/core/tools/shard-doc.md
Normal file
114
.windsurf/workflows/bmad/core/tools/shard-doc.md
Normal file
@@ -0,0 +1,114 @@
|
||||
---
|
||||
description: tool-shard-doc
|
||||
auto_execution_mode: 2
|
||||
---
|
||||
|
||||
<tool id="_bmad/core/tasks/shard-doc" name="Shard Document"
|
||||
description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections" webskip="true"
|
||||
standalone="true">
|
||||
<objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective>
|
||||
|
||||
<llm critical="true">
|
||||
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
|
||||
<i>DO NOT skip steps or change the sequence</i>
|
||||
<i>HALT immediately when halt-conditions are met</i>
|
||||
<i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
|
||||
<i>Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution</i>
|
||||
</llm>
|
||||
|
||||
<critical-context>
|
||||
<i>Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index</i>
|
||||
</critical-context>
|
||||
|
||||
<flow>
|
||||
<step n="1" title="Get Source Document">
|
||||
<action>Ask user for the source document path if not provided already</action>
|
||||
<action>Verify file exists and is accessible</action>
|
||||
<action>Verify file is markdown format (.md extension)</action>
|
||||
<action if="file not found or not markdown">HALT with error message</action>
|
||||
</step>
|
||||
|
||||
<step n="2" title="Get Destination Folder">
|
||||
<action>Determine default destination: same location as source file, folder named after source file without .md extension</action>
|
||||
<action>Example: /path/to/architecture.md → /path/to/architecture/</action>
|
||||
<action>Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path)</action>
|
||||
<action if="user accepts default">Use the suggested destination path</action>
|
||||
<action if="user provides custom path">Use the custom destination path</action>
|
||||
<action>Verify destination folder exists or can be created</action>
|
||||
<action>Check write permissions for destination</action>
|
||||
<action if="permission denied">HALT with error message</action>
|
||||
</step>
|
||||
|
||||
<step n="3" title="Execute Sharding">
|
||||
<action>Inform user that sharding is beginning</action>
|
||||
<action>Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`</action>
|
||||
<action>Capture command output and any errors</action>
|
||||
<action if="command fails">HALT and display error to user</action>
|
||||
</step>
|
||||
|
||||
<step n="4" title="Verify Output">
|
||||
<action>Check that destination folder contains sharded files</action>
|
||||
<action>Verify index.md was created in destination folder</action>
|
||||
<action>Count the number of files created</action>
|
||||
<action if="no files created">HALT with error message</action>
|
||||
</step>
|
||||
|
||||
<step n="5" title="Report Completion">
|
||||
<action>Display completion report to user including:</action>
|
||||
<i>- Source document path and name</i>
|
||||
<i>- Destination folder path</i>
|
||||
<i>- Number of section files created</i>
|
||||
<i>- Confirmation that index.md was created</i>
|
||||
<i>- Any tool output or warnings</i>
|
||||
<action>Inform user that sharding completed successfully</action>
|
||||
</step>
|
||||
|
||||
<step n="6" title="Handle Original Document">
|
||||
<critical>Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion</critical>
|
||||
<action>Present user with options for the original document:</action>
|
||||
|
||||
<ask>What would you like to do with the original document `[source-document-name]`?
|
||||
|
||||
Options:
|
||||
[d] Delete - Remove the original (recommended - shards can always be recombined)
|
||||
[m] Move to archive - Move original to a backup/archive location
|
||||
[k] Keep - Leave original in place (NOT recommended - defeats sharding purpose)
|
||||
|
||||
Your choice (d/m/k):</ask>
|
||||
|
||||
<check if="user selects 'd' (delete)">
|
||||
<action>Delete the original source document file</action>
|
||||
<action>Confirm deletion to user: "✓ Original document deleted: [source-document-path]"</action>
|
||||
<note>The document can be reconstructed from shards by concatenating all section files in order</note>
|
||||
</check>
|
||||
|
||||
<check if="user selects 'm' (move)">
|
||||
<action>Determine default archive location: same directory as source, in an "archive" subfolder</action>
|
||||
<action>Example: /path/to/architecture.md → /path/to/archive/architecture.md</action>
|
||||
<ask>Archive location ([y] to use default: [default-archive-path], or provide custom path):</ask>
|
||||
<action if="user accepts default">Use default archive path</action>
|
||||
<action if="user provides custom path">Use custom archive path</action>
|
||||
<action>Create archive directory if it doesn't exist</action>
|
||||
<action>Move original document to archive location</action>
|
||||
<action>Confirm move to user: "✓ Original document moved to: [archive-path]"</action>
|
||||
</check>
|
||||
|
||||
<check if="user selects 'k' (keep)">
|
||||
<action>Display warning to user:</action>
|
||||
<output>⚠️ WARNING: Keeping both original and sharded versions is NOT recommended.
|
||||
|
||||
This creates confusion because:
|
||||
- The discover_inputs protocol may load the wrong version
|
||||
- Updates to one won't reflect in the other
|
||||
- You'll have duplicate content taking up space
|
||||
|
||||
Consider deleting or archiving the original document.</output>
|
||||
<action>Confirm user choice: "Original document kept at: [source-document-path]"</action>
|
||||
</check>
|
||||
</step>
|
||||
</flow>
|
||||
|
||||
<halt-conditions critical="true">
|
||||
<i>HALT if npx command fails or produces no output files</i>
|
||||
</halt-conditions>
|
||||
</tool>
|
||||
Reference in New Issue
Block a user