140 lines
5.6 KiB
Markdown
140 lines
5.6 KiB
Markdown
# Guide: Creating a BMAD Expansion Pack with the BMAD Method
|
|
|
|
This guide walks you through using the BMAD (Build Me a Dream) method to create your own expansion pack. This process is a form of "dogfooding," where we use the tool to build the tool.
|
|
|
|
## Phase 1: Ideation & Planning (Using the Product Owner Agent)
|
|
|
|
The first step is to define the purpose and scope of your expansion pack. We will use the **Product Owner (`po`)** agent from `bmad-core` to facilitate this.
|
|
|
|
### Step 1.1: Activate the Product Owner Agent
|
|
|
|
In your terminal, activate the `po` agent:
|
|
```bash
|
|
# This command is hypothetical, adapt to your BMAD alias
|
|
bmad activate po
|
|
```
|
|
|
|
### Step 1.2: Define the Project Brief
|
|
|
|
Work with the `po` agent to create a `project-brief-tmpl.yaml`. This will define the "what" and "why" of your expansion pack.
|
|
|
|
**Your Goal:** Answer the agent's questions to fill out the brief. Key sections are:
|
|
- **`problem_statement`**: What problem does your expansion pack solve?
|
|
- **`solution_statement`**: How does it solve the problem?
|
|
- **`target_users`**: Who will use this pack?
|
|
- **`key_features`**: List the core features (e.g., new agents, workflows, tasks).
|
|
- **`success_metrics`**: How do you know if it's successful?
|
|
|
|
**Example Interaction:**
|
|
```
|
|
You: "I want to create a new expansion pack for generating marketing copy."
|
|
PO Agent: "Excellent. Let's start with the problem statement. What specific challenge are marketing teams facing that this pack will address?"
|
|
```
|
|
|
|
The output of this step should be a completed `project-brief.yaml` file for your new expansion pack.
|
|
|
|
## Phase 2: Architecture & Design (Using the Architect Agent)
|
|
|
|
Now that you have a brief, you need to design the components of your expansion pack. We'll use the **Architect (`architect`)** agent.
|
|
|
|
### Step 2.1: Activate the Architect Agent
|
|
```bash
|
|
bmad activate architect
|
|
```
|
|
|
|
### Step 2.2: Create the Architecture Document
|
|
|
|
Provide the `project-brief.yaml` to the `architect` agent. Its job is to translate the brief into a technical design.
|
|
|
|
**Your Goal:** Work with the agent to define:
|
|
- **New Agents**: What are their names, roles, and capabilities? (e.g., `seo-analyst`, `copywriter`, `social-media-strategist`).
|
|
- **New Tasks**: What specific, single-purpose tasks will these agents perform? (e.g., `generate-headline`, `analyze-keywords`, `draft-tweet`).
|
|
- **New Workflows**: What multi-step processes will you create? (e.g., `blog-post-workflow`, `ad-campaign-workflow`).
|
|
- **Templates & Checklists**: What reusable templates (`ad-copy-tmpl.yaml`) or checklists (`seo-checklist.md`) are needed?
|
|
|
|
The output of this phase is an `architecture.yaml` document that serves as the blueprint for your expansion pack.
|
|
|
|
## Phase 3: Implementation (Using the Dev Agent)
|
|
|
|
This is where you create the actual files for your expansion pack. We'll use the **Developer (`dev`)** agent.
|
|
|
|
### Step 3.1: Activate the Dev Agent
|
|
```bash
|
|
bmad activate dev
|
|
```
|
|
|
|
### Step 3.2: Scaffold the Directory Structure
|
|
|
|
First, create the folder structure for your new pack.
|
|
```bash
|
|
mkdir -p expansion-packs/bmad-your-new-pack/{agents,agent-teams,checklists,data,tasks,templates,workflows}
|
|
```
|
|
|
|
### Step 3.3: Create Each Component
|
|
|
|
Use the `dev` agent to generate the content for each file defined in your `architecture.yaml`.
|
|
|
|
**Your Goal:** For each component, instruct the `dev` agent to create the file.
|
|
|
|
**Example Interaction (Creating an Agent):**
|
|
```
|
|
You: "Create a new agent file named 'copywriter.md' in the 'agents' folder. The agent's purpose is to write compelling marketing copy based on a brief."
|
|
Dev Agent: "Understood. Here is the draft for 'copywriter.md'. Please review the prompt and let me know if it meets the requirements."
|
|
```
|
|
|
|
Repeat this process for all agents, tasks, workflows, templates, and checklists. The `dev` agent should write the YAML and Markdown files for you.
|
|
|
|
## Phase 4: Testing & Refinement (Using the QA Agent)
|
|
|
|
Once the files are created, you need to test them. We'll use the **QA (`qa`)** agent.
|
|
|
|
### Step 4.1: Activate the QA Agent
|
|
```bash
|
|
bmad activate qa
|
|
```
|
|
|
|
### Step 4.2: Run Through a Workflow
|
|
|
|
Choose one of the workflows you created and try to execute it with the BMAD system.
|
|
|
|
**Your Goal:** Follow the workflow from start to finish, using the new agents and tasks.
|
|
|
|
**Example Interaction:**
|
|
```
|
|
You: "I am starting the 'blog-post-workflow'. The first step is to use the 'seo-analyst' agent to run the 'analyze-keywords' task."
|
|
QA Agent: "Acknowledged. Please provide the inputs for the 'analyze-keywords' task. I will be monitoring the output against the expected results defined in our test plan."
|
|
```
|
|
|
|
As you go, the `qa` agent will help you identify bugs, inconsistencies, or areas for improvement in your prompts, templates, and agent instructions.
|
|
|
|
## Phase 5: Documentation & Packaging
|
|
|
|
The final step is to create the user-facing documentation and configuration.
|
|
|
|
### Step 5.1: Create `config.yaml`
|
|
|
|
Create a `config.yaml` file in the root of your expansion pack directory. Fill in the metadata:
|
|
```yaml
|
|
name: bmad-your-new-pack
|
|
version: 0.1.0
|
|
short-title: Your New Pack
|
|
description: >-
|
|
A brief but clear description of what your expansion pack does.
|
|
author: Your Name
|
|
slashPrefix: bmad-ynp
|
|
```
|
|
|
|
### Step 5.2: Write the `README.md`
|
|
|
|
This is the most important piece of documentation. It should include:
|
|
- An overview of the pack.
|
|
- A list of the included agents and workflows.
|
|
- Installation and usage instructions.
|
|
- Example use cases.
|
|
|
|
You can use the **`dev`** or **`po`** agent to help you write a clear and comprehensive `README.md` based on all the components you've built.
|
|
|
|
---
|
|
|
|
By following this guide, you have successfully used the BMAD method to define, design, build, test, and document a new, ready-to-use expansion pack.
|