102 lines
2.6 KiB
Markdown
102 lines
2.6 KiB
Markdown
---
|
|
title: "Document Sharding Guide"
|
|
---
|
|
|
|
Use the `shard-doc` tool to split large markdown files into smaller, organized files for better context management.
|
|
|
|
## When to Use This
|
|
|
|
- Very large complex PRDs
|
|
- Architecture documents with multiple system layers
|
|
- Epic files with 4+ epics (especially for Phase 4)
|
|
- UX design specs covering multiple subsystems
|
|
|
|
## What is Document Sharding?
|
|
|
|
Document sharding splits large markdown files into smaller, organized files based on level 2 headings (`## Heading`). This enables:
|
|
|
|
- **Selective Loading** - Workflows load only the sections they need
|
|
- **Reduced Token Usage** - Massive efficiency gains for large projects
|
|
- **Better Organization** - Logical section-based file structure
|
|
- **Maintained Context** - Index file preserves document structure
|
|
|
|
### Architecture
|
|
|
|
```
|
|
Before Sharding:
|
|
docs/
|
|
└── PRD.md (large 50k token file)
|
|
|
|
After Sharding:
|
|
docs/
|
|
└── prd/
|
|
├── index.md # Table of contents with descriptions
|
|
├── overview.md # Section 1
|
|
├── user-requirements.md # Section 2
|
|
├── technical-requirements.md # Section 3
|
|
└── ... # Additional sections
|
|
```
|
|
|
|
## Steps
|
|
|
|
### 1. Run the Shard-Doc Tool
|
|
|
|
```bash
|
|
/bmad:core:tools:shard-doc
|
|
```
|
|
|
|
### 2. Follow the Interactive Process
|
|
|
|
```
|
|
Agent: Which document would you like to shard?
|
|
User: docs/PRD.md
|
|
|
|
Agent: Default destination: docs/prd/
|
|
Accept default? [y/n]
|
|
User: y
|
|
|
|
Agent: Sharding PRD.md...
|
|
✓ Created 12 section files
|
|
✓ Generated index.md
|
|
✓ Complete!
|
|
```
|
|
|
|
## What You Get
|
|
|
|
**index.md structure:**
|
|
|
|
```markdown
|
|
|
|
## Sections
|
|
|
|
1. [Overview](./overview.md) - Project vision and objectives
|
|
2. [User Requirements](./user-requirements.md) - Feature specifications
|
|
3. [Epic 1: Authentication](./epic-1-authentication.md) - User auth system
|
|
4. [Epic 2: Dashboard](./epic-2-dashboard.md) - Main dashboard UI
|
|
...
|
|
```
|
|
|
|
**Individual section files:**
|
|
|
|
- Named from heading text (kebab-case)
|
|
- Contains complete section content
|
|
- Preserves all markdown formatting
|
|
- Can be read independently
|
|
|
|
## How Workflow Discovery Works
|
|
|
|
BMad workflows use a **dual discovery system**:
|
|
|
|
1. **Try whole document first** - Look for `document-name.md`
|
|
2. **Check for sharded version** - Look for `document-name/index.md`
|
|
3. **Priority rule** - Whole document takes precedence if both exist - remove the whole document if you want the sharded to be used instead
|
|
|
|
## Workflow Support
|
|
|
|
All BMM workflows support both formats:
|
|
|
|
- Whole documents
|
|
- Sharded documents
|
|
- Automatic detection
|
|
- Transparent to user
|