Document Sharding Guide
Comprehensive guide to BMad Method’s document sharding system for managing large planning and architecture documents.
Table of Contents
Section titled “Table of Contents”- What is Document Sharding?
- When to Use Sharding
- How Sharding Works
- Using the Shard-Doc Tool
- Workflow Support
What is Document Sharding?
Section titled “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
Section titled “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 sectionsWhen to Use Sharding
Section titled “When to Use Sharding”Ideal Candidates
Section titled “Ideal Candidates”Large Multi-Epic Projects:
- 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
How Sharding Works
Section titled “How Sharding Works”Sharding Process
Section titled “Sharding Process”- Tool Execution: Run
npx @kayvan/markdown-tree-parser source.md destination/- this is abstracted with the core shard-doc task which is installed as a slash command or manual task rule depending on your tools. - Section Extraction: Tool splits by level 2 headings
- File Creation: Each section becomes a separate file
- Index Generation:
index.mdcreated with structure and descriptions
Workflow Discovery
Section titled “Workflow Discovery”BMad workflows use a dual discovery system:
- Try whole document first - Look for
document-name.md - Check for sharded version - Look for
document-name/index.md - Priority rule - Whole document takes precedence if both exist - remove the whole document if you want the sharded to be used instead.
Using the Shard-Doc Tool
Section titled “Using the Shard-Doc Tool”CLI Command
Section titled “CLI Command”/bmad:core:tools:shard-docInteractive Process
Section titled “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 Gets Created
Section titled “What Gets Created”index.md structure:
## Sections
1. [Overview](./overview.md) - Project vision and objectives2. [User Requirements](./user-requirements.md) - Feature specifications3. [Epic 1: Authentication](./epic-1-authentication.md) - User auth system4. [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
Workflow Support
Section titled “Workflow Support”Universal Support
Section titled “Universal Support”All BMM workflows support both formats:
- ✅ Whole documents
- ✅ Sharded documents
- ✅ Automatic detection
- ✅ Transparent to user