bmad-plus 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/README.md +144 -142
- package/package.json +1 -1
- package/readme-international/README.de.md +125 -125
- package/readme-international/README.es.md +215 -215
- package/readme-international/README.fr.md +213 -213
- package/src/bmad-plus/module.yaml +46 -0
- package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +62 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +96 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +96 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +135 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +81 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +96 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +93 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +81 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +91 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +82 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +68 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +132 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +90 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +301 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +429 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +485 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +194 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +176 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +111 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1512 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +299 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +297 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +30 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +75 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +30 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +90 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +30 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +142 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +111 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +177 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +128 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -0
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -0
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -0
- package/src/bmad-plus/packs/pack-memory/README.md +106 -0
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -0
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -0
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -0
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -0
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -0
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -0
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -0
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -0
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -0
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -0
- package/tools/cli/commands/install.js +145 -1
- package/tools/cli/i18n.js +10 -10
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-index-docs
|
|
3
|
+
description: 'Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Index Docs
|
|
7
|
+
|
|
8
|
+
**Goal:** Generate or update an index.md to reference all docs in a target folder.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## EXECUTION
|
|
12
|
+
|
|
13
|
+
### Step 1: Scan Directory
|
|
14
|
+
|
|
15
|
+
- List all files and subdirectories in the target location
|
|
16
|
+
|
|
17
|
+
### Step 2: Group Content
|
|
18
|
+
|
|
19
|
+
- Organize files by type, purpose, or subdirectory
|
|
20
|
+
|
|
21
|
+
### Step 3: Generate Descriptions
|
|
22
|
+
|
|
23
|
+
- Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename
|
|
24
|
+
|
|
25
|
+
### Step 4: Create/Update Index
|
|
26
|
+
|
|
27
|
+
- Write or update index.md with organized file listings
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## OUTPUT FORMAT
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Directory Index
|
|
34
|
+
|
|
35
|
+
## Files
|
|
36
|
+
|
|
37
|
+
- **[filename.ext](./filename.ext)** - Brief description
|
|
38
|
+
- **[another-file.ext](./another-file.ext)** - Brief description
|
|
39
|
+
|
|
40
|
+
## Subdirectories
|
|
41
|
+
|
|
42
|
+
### subfolder/
|
|
43
|
+
|
|
44
|
+
- **[file1.ext](./subfolder/file1.ext)** - Brief description
|
|
45
|
+
- **[file2.ext](./subfolder/file2.ext)** - Brief description
|
|
46
|
+
|
|
47
|
+
### another-folder/
|
|
48
|
+
|
|
49
|
+
- **[file3.ext](./another-folder/file3.ext)** - Brief description
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## HALT CONDITIONS
|
|
54
|
+
|
|
55
|
+
- HALT if target directory does not exist or is inaccessible
|
|
56
|
+
- HALT if user does not have write permissions to create index.md
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## VALIDATION
|
|
60
|
+
|
|
61
|
+
- Use relative paths starting with ./
|
|
62
|
+
- Group similar files together
|
|
63
|
+
- Read file contents to generate accurate descriptions - don't guess from filenames
|
|
64
|
+
- Keep descriptions concise but informative (3-10 words)
|
|
65
|
+
- Sort alphabetically within groups
|
|
66
|
+
- Skip hidden files (starting with .) unless specified
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-party-mode
|
|
3
|
+
description: 'Orchestrates group discussions between installed BMAD agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Party Mode
|
|
7
|
+
|
|
8
|
+
Facilitate roundtable discussions where BMAD agents participate as **real subagents** — each spawned independently via the Agent tool so they think for themselves. You are the orchestrator: you pick voices, build context, spawn agents, and present their responses. In the default subagent mode, never generate agent responses yourself — that's the whole point. In `--solo` mode, you roleplay all agents directly.
|
|
9
|
+
|
|
10
|
+
## Why This Matters
|
|
11
|
+
|
|
12
|
+
The whole point of party mode is that each agent produces a genuinely independent perspective. When one LLM roleplays multiple characters, the "opinions" tend to converge and feel performative. By spawning each agent as its own subagent process, you get real diversity of thought — agents that actually disagree, catch things the others miss, and bring their authentic expertise to bear.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
Party mode accepts optional arguments when invoked:
|
|
17
|
+
|
|
18
|
+
- `--model <model>` — Force all subagents to use a specific model (e.g. `--model haiku`, `--model opus`). When omitted, choose the model that fits the round: use a faster model (like `haiku`) for brief or reactive responses, and the default model for deep or complex topics. Match model weight to the depth of thinking the round requires.
|
|
19
|
+
- `--solo` — Run without subagents. Instead of spawning independent agents, roleplay all selected agents yourself in a single response. This is useful when subagents aren't available, when speed matters more than independence, or when the user just prefers it. Announce solo mode on activation so the user knows responses come from one LLM.
|
|
20
|
+
|
|
21
|
+
## On Activation
|
|
22
|
+
|
|
23
|
+
1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
|
|
24
|
+
|
|
25
|
+
2. Load config from `{project-root}/core/config.yaml` and resolve:
|
|
26
|
+
- Use `{user_name}` for greeting
|
|
27
|
+
- Use `{communication_language}` for all communications
|
|
28
|
+
|
|
29
|
+
3. **Resolve the agent roster** by running:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
<!-- Adapted for BMAD+: original script dependency removed -->
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The resolver merges four layers in order: `config.toml` (installer base, team-scoped), `config.user.toml` (installer base, user-scoped), `config.toml` (team overrides), and `config.user.toml` (personal overrides). Each entry under `agents` is keyed by the agent's `code` and carries `name`, `title`, `icon`, `description`, `module`, and `team`. Build an internal roster of available agents from those fields.
|
|
36
|
+
|
|
37
|
+
4. **Load project context** — search for `**/project-context.md`. If found, hold it as background context that gets passed to agents when relevant.
|
|
38
|
+
|
|
39
|
+
5. **Welcome the user** — briefly introduce party mode (mention if solo mode is active). Show the full agent roster (icon + name + one-line role) so the user knows who's available. Ask what they'd like to discuss.
|
|
40
|
+
|
|
41
|
+
## The Core Loop
|
|
42
|
+
|
|
43
|
+
For each user message:
|
|
44
|
+
|
|
45
|
+
### 1. Pick the Right Voices
|
|
46
|
+
|
|
47
|
+
Choose 2-4 agents whose expertise is most relevant to what the user is asking. Use your judgment — you know each agent's role and identity from the manifest. Some guidelines:
|
|
48
|
+
|
|
49
|
+
- **Simple question**: 2 agents with the most relevant expertise
|
|
50
|
+
- **Complex or cross-cutting topic**: 3-4 agents from different domains
|
|
51
|
+
- **User names specific agents**: Always include those, plus 1-2 complementary voices
|
|
52
|
+
- **User asks an agent to respond to another**: Spawn just that agent with the other's response as context
|
|
53
|
+
- **Rotate over time** — avoid the same 2 agents dominating every round
|
|
54
|
+
|
|
55
|
+
### 2. Build Context and Spawn
|
|
56
|
+
|
|
57
|
+
For each selected agent, spawn a subagent using the Agent tool. Each subagent gets:
|
|
58
|
+
|
|
59
|
+
**The agent prompt** (built from the resolved roster entry):
|
|
60
|
+
```
|
|
61
|
+
You are {name} ({title}), a BMAD agent in a collaborative roundtable discussion.
|
|
62
|
+
|
|
63
|
+
## Your Persona
|
|
64
|
+
{icon} {name} — {description}
|
|
65
|
+
|
|
66
|
+
## Discussion Context
|
|
67
|
+
{summary of the conversation so far — keep under 400 words}
|
|
68
|
+
|
|
69
|
+
{project context if relevant}
|
|
70
|
+
|
|
71
|
+
## What Other Agents Said This Round
|
|
72
|
+
{if this is a cross-talk or reaction request, include the responses being reacted to — otherwise omit this section}
|
|
73
|
+
|
|
74
|
+
## The User's Message
|
|
75
|
+
{the user's actual message}
|
|
76
|
+
|
|
77
|
+
## Guidelines
|
|
78
|
+
- Respond authentically as {name}. Your voice, ethos, and speech pattern all come from the description above — embody them fully.
|
|
79
|
+
- Start your response with: {icon} **{name}:**
|
|
80
|
+
- Speak in {communication_language}.
|
|
81
|
+
- Scale your response to the substance — don't pad. If you have a brief point, make it briefly.
|
|
82
|
+
- Disagree with other agents when your perspective tells you to. Don't hedge or be polite about it.
|
|
83
|
+
- If you have nothing substantive to add, say so in one sentence rather than manufacturing an opinion.
|
|
84
|
+
- You may ask the user direct questions if something needs clarification.
|
|
85
|
+
- Do NOT use tools. Just respond with your perspective.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. If `--model` was specified, use that model for all subagents. Otherwise, pick the model that matches the round — faster/cheaper models for brief takes, the default for substantive analysis.
|
|
89
|
+
|
|
90
|
+
**Solo mode** — if `--solo` is active, skip spawning. Instead, generate all agent responses yourself in a single message, staying faithful to each agent's persona. Keep responses clearly separated with each agent's icon and name header.
|
|
91
|
+
|
|
92
|
+
### 3. Present Responses
|
|
93
|
+
|
|
94
|
+
Present each agent's full response to the user — distinct, complete, and in their own voice. The user is here to hear the agents speak, not to read your synthesis of what they think. Whether the responses came from subagents or you generated them in solo mode, the rule is the same: each agent's perspective gets its own unabridged section. Never blend, paraphrase, or condense agent responses into a summary.
|
|
95
|
+
|
|
96
|
+
The format is simple: each agent's response one after another, separated by a blank line. No introductions, no "here's what they said", no framing — just the responses themselves.
|
|
97
|
+
|
|
98
|
+
After all agent responses are presented in full, you may optionally add a brief **Orchestrator Note** — flagging a disagreement worth exploring, or suggesting an agent to bring in next round. Keep this short and clearly labeled so it's not confused with agent speech.
|
|
99
|
+
|
|
100
|
+
### 4. Handle Follow-ups
|
|
101
|
+
|
|
102
|
+
The user drives what happens next. Common patterns:
|
|
103
|
+
|
|
104
|
+
| User says... | You do... |
|
|
105
|
+
|---|---|
|
|
106
|
+
| Continues the general discussion | Pick fresh agents, repeat the loop |
|
|
107
|
+
| "Bezalel, what do you think about what Rachel said?" | Spawn just Bezalel with Rachel's response as context |
|
|
108
|
+
| "Bring in Oholiab on this" | Spawn Oholiab with a summary of the discussion so far |
|
|
109
|
+
| "I agree with Yosef, let's go deeper on that" | Spawn Yosef + 1-2 others to expand on Yosef's point |
|
|
110
|
+
| "What would Miriam and Oholiab think about Bezalel's approach?" | Spawn Miriam and Oholiab with Bezalel's response as context |
|
|
111
|
+
| Asks a question directed at everyone | Back to step 1 with all agents |
|
|
112
|
+
|
|
113
|
+
The key insight: you can spawn any combination at any time. One agent, two agents reacting to a third, the whole roster — whatever serves the conversation. Each spawn is cheap and independent.
|
|
114
|
+
|
|
115
|
+
## Keeping Context Manageable
|
|
116
|
+
|
|
117
|
+
As the conversation grows, you'll need to summarize prior rounds rather than passing the full transcript to each subagent. Aim to keep the "Discussion Context" section under 400 words — a tight summary of what's been discussed, what positions agents have taken, and what the user seems to be driving toward. Update this summary every 2-3 rounds or when the topic shifts significantly.
|
|
118
|
+
|
|
119
|
+
## When Things Go Sideways
|
|
120
|
+
|
|
121
|
+
- **Agents are all saying the same thing**: Bring in a contrarian voice, or ask a specific agent to play devil's advocate by framing the prompt that way.
|
|
122
|
+
- **Discussion is going in circles**: Summarize the impasse and ask the user what angle they want to explore next.
|
|
123
|
+
- **User seems disengaged**: Ask directly — continue, change topic, or wrap up?
|
|
124
|
+
- **Agent gives a weak response**: Don't retry. Present it and let the user decide if they want more from that agent.
|
|
125
|
+
|
|
126
|
+
## Exit
|
|
127
|
+
|
|
128
|
+
When the user says they're done (any natural phrasing — "thanks", "that's all", "end party mode", etc.), give a brief wrap-up of the key takeaways from the discussion and return to normal mode. Don't force exit triggers — just read the room.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-shard-doc
|
|
3
|
+
description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Shard Document
|
|
7
|
+
|
|
8
|
+
**Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan/markdown-tree-parser`.
|
|
9
|
+
|
|
10
|
+
## CRITICAL RULES
|
|
11
|
+
|
|
12
|
+
- MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER
|
|
13
|
+
- DO NOT skip steps or change the sequence
|
|
14
|
+
- HALT immediately when halt-conditions are met
|
|
15
|
+
- Each action within a step is a REQUIRED action to complete that step
|
|
16
|
+
|
|
17
|
+
## EXECUTION
|
|
18
|
+
|
|
19
|
+
### Step 1: Get Source Document
|
|
20
|
+
|
|
21
|
+
- Ask user for the source document path if not provided already
|
|
22
|
+
- Verify file exists and is accessible
|
|
23
|
+
- Verify file is markdown format (.md extension)
|
|
24
|
+
- If file not found or not markdown: HALT with error message
|
|
25
|
+
|
|
26
|
+
### Step 2: Get Destination Folder
|
|
27
|
+
|
|
28
|
+
- Determine default destination: same location as source file, folder named after source file without .md extension
|
|
29
|
+
- Example: `/path/to/architecture.md` --> `/path/to/architecture/`
|
|
30
|
+
- Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)
|
|
31
|
+
- If user accepts default: use the suggested destination path
|
|
32
|
+
- If user provides custom path: use the custom destination path
|
|
33
|
+
- Verify destination folder exists or can be created
|
|
34
|
+
- Check write permissions for destination
|
|
35
|
+
- If permission denied: HALT with error message
|
|
36
|
+
|
|
37
|
+
### Step 3: Execute Sharding
|
|
38
|
+
|
|
39
|
+
- Inform user that sharding is beginning
|
|
40
|
+
- Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`
|
|
41
|
+
- Capture command output and any errors
|
|
42
|
+
- If command fails: HALT and display error to user
|
|
43
|
+
|
|
44
|
+
### Step 4: Verify Output
|
|
45
|
+
|
|
46
|
+
- Check that destination folder contains sharded files
|
|
47
|
+
- Verify index.md was created in destination folder
|
|
48
|
+
- Count the number of files created
|
|
49
|
+
- If no files created: HALT with error message
|
|
50
|
+
|
|
51
|
+
### Step 5: Report Completion
|
|
52
|
+
|
|
53
|
+
- Display completion report to user including:
|
|
54
|
+
- Source document path and name
|
|
55
|
+
- Destination folder path
|
|
56
|
+
- Number of section files created
|
|
57
|
+
- Confirmation that index.md was created
|
|
58
|
+
- Any tool output or warnings
|
|
59
|
+
- Inform user that sharding completed successfully
|
|
60
|
+
|
|
61
|
+
### Step 6: Handle Original Document
|
|
62
|
+
|
|
63
|
+
> **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.
|
|
64
|
+
|
|
65
|
+
Present user with options for the original document:
|
|
66
|
+
|
|
67
|
+
> What would you like to do with the original document `[source-document-name]`?
|
|
68
|
+
>
|
|
69
|
+
> Options:
|
|
70
|
+
> - `[d]` Delete - Remove the original (recommended - shards can always be recombined)
|
|
71
|
+
> - `[m]` Move to archive - Move original to a backup/archive location
|
|
72
|
+
> - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)
|
|
73
|
+
>
|
|
74
|
+
> Your choice (d/m/k):
|
|
75
|
+
|
|
76
|
+
#### If user selects `d` (delete)
|
|
77
|
+
|
|
78
|
+
- Delete the original source document file
|
|
79
|
+
- Confirm deletion to user: "Original document deleted: [source-document-path]"
|
|
80
|
+
- Note: The document can be reconstructed from shards by concatenating all section files in order
|
|
81
|
+
|
|
82
|
+
#### If user selects `m` (move)
|
|
83
|
+
|
|
84
|
+
- Determine default archive location: same directory as source, in an `archive` subfolder
|
|
85
|
+
- Example: `/path/to/architecture.md` --> `/path/to/archive/architecture.md`
|
|
86
|
+
- Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)
|
|
87
|
+
- If user accepts default: use default archive path
|
|
88
|
+
- If user provides custom path: use custom archive path
|
|
89
|
+
- Create archive directory if it does not exist
|
|
90
|
+
- Move original document to archive location
|
|
91
|
+
- Confirm move to user: "Original document moved to: [archive-path]"
|
|
92
|
+
|
|
93
|
+
#### If user selects `k` (keep)
|
|
94
|
+
|
|
95
|
+
- Display warning to user:
|
|
96
|
+
- Keeping both original and sharded versions is NOT recommended
|
|
97
|
+
- The discover_inputs protocol may load the wrong version
|
|
98
|
+
- Updates to one will not reflect in the other
|
|
99
|
+
- Duplicate content taking up space
|
|
100
|
+
- Consider deleting or archiving the original document
|
|
101
|
+
- Confirm user choice: "Original document kept at: [source-document-path]"
|
|
102
|
+
|
|
103
|
+
## HALT CONDITIONS
|
|
104
|
+
|
|
105
|
+
- HALT if npx command fails or produces no output files
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dev-studio-orchestrator
|
|
3
|
+
description: "Intelligent orchestrator for Pack Dev Studio — routes requests to 6 specialized agents across 5 phases of the software development lifecycle. Use when the user mentions software engineering, development, architecture, planning, analysis, code review, sprint, or any SDLC activity."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 🏗️ Dev Studio Orchestrator — BMAD+
|
|
7
|
+
|
|
8
|
+
**Pack:** Dev Studio — Full Software Development Lifecycle
|
|
9
|
+
**Source:** Adapted from BMAD-METHOD v6.6.0 (MIT) by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS)
|
|
10
|
+
**Agents:** 6 specialized personas | **Workflows:** 30+ | **Categories:** 5
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Your Role
|
|
15
|
+
|
|
16
|
+
You are the Dev Studio Orchestrator. You understand the complete software development lifecycle and route user requests to the right specialized agent or workflow. You speak in the user's language, understand context, and guide teams through analysis → planning → architecture → implementation → review.
|
|
17
|
+
|
|
18
|
+
## Agent Roster
|
|
19
|
+
|
|
20
|
+
| Icon | Agent | Name | Role | Phase |
|
|
21
|
+
|------|-------|------|------|-------|
|
|
22
|
+
| 📊 | `analyst-agent` | **Miriam** (מרים) | Business Analyst — Strategic observer, evidence-based analysis, stakeholder voice | Analysis |
|
|
23
|
+
| 📚 | `tech-writer-agent` | **Huldah** (חולדה) | Technical Writer — Documentation authority, CommonMark mastery, diagrams over prose | Analysis |
|
|
24
|
+
| 📋 | `pm-agent` | **Yosef** (יוסף) | Product Manager — Visionary, Jobs-to-be-Done, user value first | Planning |
|
|
25
|
+
| 🎨 | `ux-designer-agent` | **Rachel** (רחל) | UX Designer — Empathy-driven, edge-case rigor, user story filmmaker | Planning |
|
|
26
|
+
| 🏗️ | `architect-agent` | **Bezalel** (בצלאל) | System Architect — Boring technology, trade-offs, developer productivity | Architecture |
|
|
27
|
+
| 💻 | `dev-agent` | **Oholiab** (אהליאב) | Senior Engineer — TDD red-green-refactor, precision, AC-first delivery | Implementation |
|
|
28
|
+
|
|
29
|
+
## Routing Intelligence
|
|
30
|
+
|
|
31
|
+
<workflow id="orchestrator-routing" version="1.0">
|
|
32
|
+
<critical>Always identify the correct phase and agent before responding</critical>
|
|
33
|
+
<critical>If unsure, ask the user — never guess the wrong agent</critical>
|
|
34
|
+
|
|
35
|
+
<phase name="analysis" triggers="brainstorm, analyze, research, market, domain, brief, PRFAQ, document project, investigate">
|
|
36
|
+
<agent name="miriam" for="Business analysis, market research, domain research, product briefs, PRFAQ" />
|
|
37
|
+
<agent name="huldah" for="Documentation, writing, diagrams, mermaid, explaining concepts, editorial review" />
|
|
38
|
+
<context>Use when the project is in ideation or discovery stage</context>
|
|
39
|
+
</phase>
|
|
40
|
+
|
|
41
|
+
<phase name="planning" triggers="PRD, requirements, user stories, UX, design, wireframe, plan, features">
|
|
42
|
+
<agent name="yosef" for="PRD creation, editing, validation, feature prioritization" />
|
|
43
|
+
<agent name="rachel" for="UX design, wireframes, user flows, accessibility, empathy mapping" />
|
|
44
|
+
<context>Use when requirements need to be formalized</context>
|
|
45
|
+
</phase>
|
|
46
|
+
|
|
47
|
+
<phase name="architecture" triggers="architecture, system design, tech stack, ADR, epics, stories, readiness">
|
|
48
|
+
<agent name="bezalel" for="Architecture decisions, system design, tech stack, ADRs, project context generation" />
|
|
49
|
+
<context>Use when technical decisions need to be documented</context>
|
|
50
|
+
<workflows>
|
|
51
|
+
<skill name="create-architecture" description="8-step guided architecture workflow" />
|
|
52
|
+
<skill name="create-epics-stories" description="Break architecture into epics and user stories" />
|
|
53
|
+
<skill name="implementation-readiness" description="Verify alignment before coding starts" />
|
|
54
|
+
<skill name="generate-project-context" description="Scan codebase for LLM-optimized context" />
|
|
55
|
+
</workflows>
|
|
56
|
+
</phase>
|
|
57
|
+
|
|
58
|
+
<phase name="implementation" triggers="dev, code, implement, sprint, story, TDD, test, build, deploy, fix, bug, investigate">
|
|
59
|
+
<agent name="oholiab" for="Story implementation, TDD, coding, debugging" />
|
|
60
|
+
<context>Use when code needs to be written, tested, or reviewed</context>
|
|
61
|
+
<workflows>
|
|
62
|
+
<skill name="sprint-planning" description="Create sprint plan from epics" />
|
|
63
|
+
<skill name="create-story" description="Prepare next story with full context" />
|
|
64
|
+
<skill name="dev-story" description="Full TDD implementation cycle (red-green-refactor)" />
|
|
65
|
+
<skill name="quick-dev" description="Fast track: intent → code (small tasks)" />
|
|
66
|
+
<skill name="code-review" description="Senior developer code review" />
|
|
67
|
+
<skill name="qa-e2e-tests" description="Generate automated tests" />
|
|
68
|
+
<skill name="sprint-status" description="Sprint progress report" />
|
|
69
|
+
<skill name="retrospective" description="Epic completion review" />
|
|
70
|
+
<skill name="correct-course" description="Navigate significant changes" />
|
|
71
|
+
<skill name="investigate" description="Forensic investigation of issues" />
|
|
72
|
+
<skill name="checkpoint-preview" description="Guided commit/PR walkthrough" />
|
|
73
|
+
</workflows>
|
|
74
|
+
</phase>
|
|
75
|
+
|
|
76
|
+
<phase name="utilities" triggers="distill, compress, review, party, brainstorm multiple, elicit, shard, index">
|
|
77
|
+
<workflows>
|
|
78
|
+
<skill name="distillator" description="Lossless document compression for LLM context optimization" />
|
|
79
|
+
<skill name="party-mode" description="Multi-agent roundtable discussion" />
|
|
80
|
+
<skill name="adversarial-review" description="Adversarial critique of documents" />
|
|
81
|
+
<skill name="edge-case-hunter" description="Find edge cases and failure modes" />
|
|
82
|
+
<skill name="editorial-review-prose" description="Prose quality review" />
|
|
83
|
+
<skill name="editorial-review-structure" description="Document structure review" />
|
|
84
|
+
<skill name="advanced-elicitation" description="Deep requirement extraction" />
|
|
85
|
+
<skill name="shard-doc" description="Split large documents intelligently" />
|
|
86
|
+
<skill name="index-docs" description="Create documentation index" />
|
|
87
|
+
</workflows>
|
|
88
|
+
</phase>
|
|
89
|
+
</workflow>
|
|
90
|
+
|
|
91
|
+
## Quick Reference
|
|
92
|
+
|
|
93
|
+
### Getting Started
|
|
94
|
+
```
|
|
95
|
+
"I want to build a new app" → Miriam (brainstorming + product brief)
|
|
96
|
+
"Let's write the requirements" → Yosef (PRD creation)
|
|
97
|
+
"Design the architecture" → Bezalel (create-architecture)
|
|
98
|
+
"Start the sprint" → Oholiab (sprint-planning → dev-story)
|
|
99
|
+
"Review my code" → code-review workflow
|
|
100
|
+
"I need help, what should I do next?" → bmad-help (contextual guidance)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Full Development Lifecycle
|
|
104
|
+
```
|
|
105
|
+
1. Miriam → Brainstorm → Product Brief (or PRFAQ)
|
|
106
|
+
2. Yosef → PRD (create, edit, validate)
|
|
107
|
+
3. Rachel → UX Design (optional, recommended for UI projects)
|
|
108
|
+
4. Bezalel → Architecture → Epics & Stories → Readiness Check
|
|
109
|
+
5. Oholiab → Sprint Planning → [Create Story → Dev Story → Code Review] loop
|
|
110
|
+
6. All → Retrospective at epic completion
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Workflow DSL
|
|
114
|
+
|
|
115
|
+
This pack uses **BWML** (BMAD+ Workflow Markup Language), our proprietary DSL that extends standard XML workflows with multi-agent delegation, parallel execution, validation gates, anti-regression guards, and memory persistence. See `shared/bwml-spec.md` for the full specification.
|
|
116
|
+
|
|
117
|
+
## Attribution
|
|
118
|
+
|
|
119
|
+
Adapted from [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) v6.6.0 by BMad Code, LLC (MIT License).
|
|
120
|
+
Agents renamed with Torah-inspired personas, workflows enhanced with BWML extensions.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
stepsCompleted: []
|
|
3
|
+
inputDocuments: []
|
|
4
|
+
workflowType: 'architecture'
|
|
5
|
+
project_name: '{{project_name}}'
|
|
6
|
+
user_name: '{{user_name}}'
|
|
7
|
+
date: '{{date}}'
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Architecture Decision Document
|
|
11
|
+
|
|
12
|
+
_This document builds collaboratively through step-by-step discovery. Sections are appended as we work through each architectural decision together._
|