Compare commits
9 Commits
29a069db46
...
e75e34fd9b
| Author | SHA1 | Date |
|---|---|---|
|
|
e75e34fd9b | |
|
|
db0c06f9dc | |
|
|
b83ccc71b9 | |
|
|
d43663e3af | |
|
|
0d858cbc5b | |
|
|
3ad6985643 | |
|
|
44eeaa8a71 | |
|
|
1d49fe1802 | |
|
|
476082fda7 |
45
CHANGELOG.md
45
CHANGELOG.md
|
|
@ -1,5 +1,50 @@
|
|||
# Changelog
|
||||
|
||||
## [6.0.3]
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
* Fix workflow descriptions to use proper quotes so they format better in skill conversion and don't break yaml front matter
|
||||
|
||||
---
|
||||
|
||||
## [6.0.2]
|
||||
|
||||
### 🎁 Features
|
||||
|
||||
* Add CodeBuddy platform support with installer configuration (#1483)
|
||||
* Add LLM audit prompt for file reference conventions - new audit tool using parallel subagents (#1720)
|
||||
* Migrate Codex installer from `.codex/prompts` to `.agents/skills` format to align with Codex CLI changes (#1729)
|
||||
* Convert review-pr and audit-file-refs tools to proper bmad-os skills with slash commands `/bmad-os-review-pr` and `/bmad-os-audit-file-refs` (#1732)
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
* Fix 24 broken step references in create-architecture workflow after directory rename (#1734)
|
||||
* Fix step file path references in check-implementation-readiness workflow (#1709, #1716)
|
||||
* Fix 3 broken file references and enable strict file reference validation in CI (#1717)
|
||||
* Fix Rovo Dev integration with custom installer that generates prompts.yml manifest (#1701)
|
||||
* Fix 104 relative step file references to use standardized `{project-root}/_bmad/` paths across 68 files (#1722)
|
||||
* Fix code fence imbalance in step-03-starter.md that caused rendering issues (#1724)
|
||||
* Remove Windsurf from recommended/preferred IDEs list (#1727)
|
||||
* Fix default Codex install location from global to project for better defaults (#1698)
|
||||
* Add npx cache workaround to Quick Start for stale beta versions (#1685)
|
||||
* Add language instructions to replace placeholder text in Research overview (#1703)
|
||||
* Ignore `.junie/` IDE integration folder in git and prettier configs (#1719)
|
||||
|
||||
### ♻️ Refactoring
|
||||
|
||||
* Update open source tool skills structure for future plugin migration
|
||||
* Standardize all workflow descriptions for skill generation with concise format and explicit trigger phrases
|
||||
* Remove `disable-model-invocation` flag from all IDE installer templates to enable workflow skill calls
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
* Elevate `bmad-help` as primary on-ramp across all documentation
|
||||
* Update workflow names with `bmad-bmm-` prefix and standardize table formatting
|
||||
* Clarify phase routing and catalog path in help task
|
||||
|
||||
---
|
||||
|
||||
## [6.0.0]
|
||||
|
||||
V6 Stable Release! The End of Beta!
|
||||
|
|
|
|||
10
README.md
10
README.md
|
|
@ -22,6 +22,16 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag
|
|||
|
||||
[Learn more at **docs.bmad-method.org**](http://docs.bmad-method.org)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 What's Next for BMad?
|
||||
|
||||
**V6 is here and we're just getting started!** The BMad Method is evolving rapidly with optimizations including Cross Platform Agent Team and Sub Agent inclusion, Skills Architecture, BMad Builder v1, Dev Loop Automation, and so much more in the works.
|
||||
|
||||
**[📍 Check out the complete Roadmap →](http://docs.bmad-method.org/roadmap/)**
|
||||
|
||||
---
|
||||
|
||||
## Quick Start
|
||||
|
||||
**Prerequisites**: [Node.js](https://nodejs.org) v20+
|
||||
|
|
|
|||
|
|
@ -7,6 +7,10 @@ The BMad Method (**B**reakthrough **M**ethod of **A**gile AI **D**riven Developm
|
|||
|
||||
If you're comfortable working with AI coding assistants like Claude, Cursor, or GitHub Copilot, you're ready to get started.
|
||||
|
||||
:::note[🚀 V6 is Here and We're Just Getting Started!]
|
||||
Skills Architecture, BMad Builder v1, Dev Loop Automation, and so much more in the works. **[Check out the Roadmap →](/roadmap/)**
|
||||
:::
|
||||
|
||||
## New Here? Start with a Tutorial
|
||||
|
||||
The fastest way to understand BMad is to try it.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,136 @@
|
|||
---
|
||||
title: Roadmap
|
||||
description: What's next for BMad - Features, improvements, and community contributions
|
||||
---
|
||||
|
||||
# The BMad Method: Public Roadmap
|
||||
|
||||
The BMad Method, BMad Method Module (BMM), and BMad Builder (BMB) are evolving. Here's what we're working on and what's coming next.
|
||||
|
||||
<div class="roadmap-container">
|
||||
|
||||
<h2 class="roadmap-section-title">In Progress</h2>
|
||||
|
||||
<div class="roadmap-future">
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🧩</span>
|
||||
<h4>Universal Skills Architecture</h4>
|
||||
<p>One skill, any platform. Write once, run everywhere.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🏗️</span>
|
||||
<h4>BMad Builder v1</h4>
|
||||
<p>Craft production-ready AI agents and workflows with evals, teams, and graceful degradation built in.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🧠</span>
|
||||
<h4>Project Context System</h4>
|
||||
<p>Your AI actually understands your project. Framework-aware context that evolves with your codebase.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">📦</span>
|
||||
<h4>Centralized Skills</h4>
|
||||
<p>Install once, use everywhere. Share skills across projects without the file clutter.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🔄</span>
|
||||
<h4>Adaptive Skills</h4>
|
||||
<p>Skills that know your tool. Optimized variants for Claude, Codex, Kimi, and OpenCode, plus many more.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">📝</span>
|
||||
<h4>BMad Team Pros Blog</h4>
|
||||
<p>Guides, articles and insights from the team. Launching soon.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="roadmap-section-title">Getting Started</h2>
|
||||
|
||||
<div class="roadmap-future">
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🏪</span>
|
||||
<h4>Skill Marketplace</h4>
|
||||
<p>Discover, install, and update community-built skills. One curl command away from superpowers.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🎨</span>
|
||||
<h4>Workflow Customization</h4>
|
||||
<p>Make it yours. Integrate Jira, Linear, custom outputs your workflow, your rules.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🚀</span>
|
||||
<h4>Phase 1-3 Optimization</h4>
|
||||
<p>Lightning-fast planning with sub-agent context gathering. YOLO mode meets guided excellence.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🌐</span>
|
||||
<h4>Enterprise Ready</h4>
|
||||
<p>SSO, audit logs, team workspaces. All the boring stuff that makes companies say yes.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">💎</span>
|
||||
<h4>Community Modules Explosion</h4>
|
||||
<p>Entertainment, security, therapy, roleplay and much more. Expand the BMad Method platform.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">⚡</span>
|
||||
<h4>Dev Loop Automation</h4>
|
||||
<p>Optional autopilot for development. Let AI handle the flow while keeping quality sky-high.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="roadmap-section-title">Community and Team</h2>
|
||||
|
||||
<div class="roadmap-future">
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🎙️</span>
|
||||
<h4>The BMad Method Podcast</h4>
|
||||
<p>Conversations about AI-native development. Launching March 1, 2026!</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🎓</span>
|
||||
<h4>The BMad Method Master Class</h4>
|
||||
<p>Go from user to expert. Deep dives into every phase, every workflow, every secret.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🏗️</span>
|
||||
<h4>The BMad Builder Master Class</h4>
|
||||
<p>Build your own agents. Advanced techniques for when you are ready to create, not just use.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">⚡</span>
|
||||
<h4>BMad Prototype First</h4>
|
||||
<p>Idea to working prototype in one session. Craft your dream app like a work of art.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🌴</span>
|
||||
<h4>BMad BALM!</h4>
|
||||
<p>Life management for the AI-native. Tasks, habits, goals your AI copilot for everything.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🖥️</span>
|
||||
<h4>Official UI</h4>
|
||||
<p>A beautiful interface for the entire BMad ecosystem. CLI power, GUI polish.</p>
|
||||
</div>
|
||||
<div class="roadmap-future-card">
|
||||
<span class="roadmap-emoji">🔒</span>
|
||||
<h4>BMad in a Box</h4>
|
||||
<p>Self-hosted, air-gapped, enterprise-grade. Your AI assistant, your infrastructure, your control.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="text-align: center; margin-top: 3rem; padding: 2rem; background: var(--color-bg-card); border-radius: 12px; border: 1px solid var(--color-border);">
|
||||
<h3 style="margin: 0 0 1rem;">Want to Contribute?</h3>
|
||||
<p style="color: var(--slate-color-400); margin: 0;">
|
||||
This is only a partial list of what's planned. The BMad Open Source team welcomes contributors!{" "}<br />
|
||||
<a href="https://github.com/bmad-code-org/BMAD-METHOD" style="color: var(--color-in-progress);">Join us on GitHub</a> to help shape the future of AI-driven development.
|
||||
</p>
|
||||
<p style="color: var(--slate-color-400); margin: 1.5rem 0 0;">
|
||||
Love what we're building? We appreciate both one-time and monthly{" "}<a href="https://buymeacoffee.com/bmad" style="color: var(--color-in-progress);">support</a>.
|
||||
</p>
|
||||
<p style="color: var(--slate-color-400); margin: 1rem 0 0;">
|
||||
For corporate sponsorship, partnership inquiries, speaking engagements, training, or media enquiries:{" "}
|
||||
<a href="mailto:contact@bmadcode.com" style="color: var(--color-in-progress);">contact@bmadcode.com</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "bmad-method",
|
||||
"version": "6.0.1",
|
||||
"version": "6.0.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "bmad-method",
|
||||
"version": "6.0.1",
|
||||
"version": "6.0.2",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@clack/core": "^1.0.0",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"$schema": "https://json.schemastore.org/package.json",
|
||||
"name": "bmad-method",
|
||||
"version": "6.0.1",
|
||||
"version": "6.0.2",
|
||||
"description": "Breakthrough Method of Agile AI-driven Development",
|
||||
"keywords": [
|
||||
"agile",
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ agent:
|
|||
|
||||
menu:
|
||||
- trigger: QA or fuzzy match on qa-automate
|
||||
workflow: "{project-root}/_bmad/bmm/workflows/qa/automate/workflow.yaml"
|
||||
workflow: "{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml"
|
||||
description: "[QA] Automate - Generate tests for existing features (simplified)"
|
||||
|
||||
prompts:
|
||||
|
|
|
|||
|
|
@ -27,5 +27,5 @@ bmm,4-implementation,Validate Story,VS,35,_bmad/bmm/workflows/4-implementation/c
|
|||
bmm,4-implementation,Create Story,CS,30,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad-bmm-create-story,true,sm,Create Mode,"Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER",implementation_artifacts,story,
|
||||
bmm,4-implementation,Dev Story,DS,40,_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml,bmad-bmm-dev-story,true,dev,Create Mode,"Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed",,,
|
||||
bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml,bmad-bmm-code-review,false,dev,Create Mode,"Story cycle: If issues back to DS if approved then next CS or ER if epic complete",,,
|
||||
bmm,4-implementation,QA Automation Test,QA,45,_bmad/bmm/workflows/qa/automate/workflow.yaml,bmad-bmm-qa-automate,false,qa,Create Mode,"Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.",implementation_artifacts,"test suite",
|
||||
bmm,4-implementation,QA Automation Test,QA,45,_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml,bmad-bmm-qa-automate,false,qa,Create Mode,"Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.",implementation_artifacts,"test suite",
|
||||
bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml,bmad-bmm-retrospective,false,sm,Create Mode,"Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC",implementation_artifacts,retrospective,
|
||||
|
|
|
|||
|
|
|
@ -128,7 +128,7 @@ Recap that the brief captures everything needed to guide subsequent product deve
|
|||
|
||||
### 5. Suggest next steps
|
||||
|
||||
Product Brief complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `Validate PRD`.
|
||||
Product Brief complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: create-product-brief
|
||||
description: Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.
|
||||
description: 'Create product brief through collaborative discovery. Use when the user says "lets create a product brief" or "help me create a project brief"'
|
||||
---
|
||||
|
||||
# Product Brief Workflow
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: domain-research
|
||||
description: Conduct domain research covering industry analysis, regulations, technology trends, and ecosystem dynamics using current web data and verified sources.
|
||||
description: 'Conduct domain and industry research. Use when the user says "lets create a research report on [domain or industry]"'
|
||||
---
|
||||
|
||||
# Domain Research Workflow
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: market-research
|
||||
description: Conduct market research covering market size, growth, competition, and customer insights using current web data and verified sources.
|
||||
description: 'Conduct market research on competition and customers. Use when the user says "create a market research report about [business idea]".'
|
||||
---
|
||||
|
||||
# Market Research Workflow
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: technical-research
|
||||
description: Conduct technical research covering technology evaluation, architecture decisions, and implementation approaches using current web data and verified sources.
|
||||
description: 'Conduct technical research on technologies and architecture. Use when the user says "create a technical research report on [topic]".'
|
||||
---
|
||||
|
||||
# Technical Research Workflow
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ Offer validation workflows to ensure PRD is ready for implementation:
|
|||
|
||||
### 4. Suggest Next Workflows
|
||||
|
||||
PRD complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `Create PRD`.
|
||||
PRD complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
### 5. Final Completion Confirmation
|
||||
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ Display:
|
|||
- **IF X (Exit):**
|
||||
- Display: "**Validation Report Saved:** {validationReportPath}"
|
||||
- Display: "**Summary:** {overall status} - {recommendation}"
|
||||
- PRD Validation complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `Validate PRD`.
|
||||
- PRD Validation complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
- **IF Any other:** Help user, then redisplay menu
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: create-prd
|
||||
description: Create a comprehensive PRD (Product Requirements Document) through structured workflow facilitation
|
||||
description: 'Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD"'
|
||||
main_config: '{project-root}/_bmad/bmm/config.yaml'
|
||||
nextStep: './steps-c/step-01-init.md'
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: edit-prd
|
||||
description: Edit and improve an existing PRD - enhance clarity, completeness, and quality
|
||||
description: 'Edit an existing PRD. Use when the user says "edit this PRD".'
|
||||
main_config: '{project-root}/_bmad/bmm/config.yaml'
|
||||
editWorkflow: './steps-e/step-e-01-discovery.md'
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: validate-prd
|
||||
description: Validate an existing PRD against BMAD standards - comprehensive review for completeness, clarity, and quality
|
||||
description: 'Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation"'
|
||||
main_config: '{project-root}/_bmad/bmm/config.yaml'
|
||||
validateWorkflow: './steps-v/step-v-01-discovery.md'
|
||||
---
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ Update the main workflow status file:
|
|||
|
||||
### 3. Suggest Next Steps
|
||||
|
||||
UX Design complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `Create UX`.
|
||||
UX Design complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
### 5. Final Completion Confirmation
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: create-ux-design
|
||||
description: Work with a peer UX Design expert to plan your applications UX patterns, look and feel.
|
||||
description: 'Plan UX patterns and design specifications. Use when the user says "lets create UX design" or "create UX specifications" or "help me plan the UX"'
|
||||
---
|
||||
|
||||
# Create UX Design Workflow
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ The assessment found [number] issues requiring attention. Review the detailed re
|
|||
|
||||
The implementation readiness workflow is now complete. The report contains all findings and recommendations for the user to consider.
|
||||
|
||||
Implementation Readiness complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `implementation readiness`.
|
||||
Implementation Readiness complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: check-implementation-readiness
|
||||
description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.'
|
||||
description: 'Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says "check implementation readiness".'
|
||||
---
|
||||
|
||||
# Implementation Readiness
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ completedAt: '{{current_date}}'
|
|||
|
||||
### 3. Next Steps Guidance
|
||||
|
||||
Architecture complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `Create Architecture`.
|
||||
Architecture complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
Upon Completion of task output: offer to answer any questions about the Architecture Document.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: create-architecture
|
||||
description: Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.
|
||||
description: 'Create architecture solution design decisions for AI agent consistency. Use when the user says "lets create architecture" or "create technical architecture" or "create a solution design"'
|
||||
---
|
||||
|
||||
# Architecture Workflow
|
||||
|
|
|
|||
|
|
@ -144,6 +144,6 @@ If all validations pass:
|
|||
|
||||
When C is selected, the workflow is complete and the epics.md is ready for development.
|
||||
|
||||
Epics and Stories complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md` with argument `Create Epics and Stories`.
|
||||
Epics and Stories complete. Read fully and follow: `{project-root}/_bmad/core/tasks/help.md`
|
||||
|
||||
Upon Completion of task output: offer to answer any questions about the Epics and Stories.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: create-epics-and-stories
|
||||
description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.'
|
||||
description: 'Break requirements into epics and user stories. Use when the user says "create the epics and stories list"'
|
||||
---
|
||||
|
||||
# Create Epics and Stories
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
# 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"
|
||||
description: 'Perform adversarial code review finding specific issues. Use when the user says "run code review" or "review this code"'
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
# 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"
|
||||
description: 'Manage significant changes during sprint execution. Use when the user says "correct course" or "propose sprint change"'
|
||||
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
user_name: "{config_source}:user_name"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
name: create-story
|
||||
description: "Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking"
|
||||
author: "BMad"
|
||||
description: 'Creates a dedicated story file with all the context the agent will need to implement it later. Use when the user says "create the next story" or "create story [story identifier]"'
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
name: dev-story
|
||||
description: "Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria"
|
||||
author: "BMad"
|
||||
description: 'Execute story implementation following a context filled story spec file. Use when the user says "dev this story [story file]" or "implement the next story in the sprint plan"'
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
# 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"
|
||||
description: 'Post-epic review to extract lessons and assess success. Use when the user says "run a retrospective" or "lets retro the epic [epic]"'
|
||||
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
user_name: "{config_source}:user_name"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
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"
|
||||
description: 'Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"'
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Sprint Status - Implementation Tracker
|
||||
name: sprint-status
|
||||
description: "Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow."
|
||||
description: 'Summarize sprint status and surface risks. Use when the user says "check sprint status" or "show sprint status"'
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: quick-dev
|
||||
description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.'
|
||||
description: 'Implement a Quick Tech Spec for small changes or features. Use when the user provides a quick tech spec and says "implement this quick spec" or "proceed with implementation of [quick tech spec]"'
|
||||
---
|
||||
|
||||
# Quick Dev Workflow
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: quick-spec
|
||||
description: Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.
|
||||
description: 'Very quick process to create implementation-ready quick specs for small changes or features. Use when the user says "create a quick spec" or "generate a quick tech spec"'
|
||||
main_config: '{project-root}/_bmad/bmm/config.yaml'
|
||||
|
||||
# Checkpoint handler paths
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# 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"
|
||||
description: 'Document brownfield projects for AI context. Use when the user says "document this project" or "generate project docs"'
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: generate-project-context
|
||||
description: Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.
|
||||
description: 'Create project-context.md with AI rules. Use when the user says "generate project context" or "create project context"'
|
||||
---
|
||||
|
||||
# Generate Project Context Workflow
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
# Quinn QA workflow: Automate
|
||||
name: qa-automate
|
||||
description: "Generate tests quickly for existing features using standard test patterns"
|
||||
author: "BMad"
|
||||
name: qa-generate-e2e-tests
|
||||
description: 'Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]"'
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmm/config.yaml"
|
||||
|
|
@ -12,7 +10,7 @@ document_output_language: "{config_source}:document_output_language"
|
|||
date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/qa/automate"
|
||||
installed_path: "{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
template: false
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<task id="_bmad/core/tasks/editorial-review-prose.xml"
|
||||
name="Editorial Review - Prose"
|
||||
description="Clinical copy-editor that reviews text for communication issues">
|
||||
description="Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose">
|
||||
|
||||
<objective>Review text for communication issues that impede comprehension and output suggested fixes in a three-column table</objective>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@
|
|||
but no context except the content to review -->
|
||||
<task id="_bmad/core/tasks/editorial-review-structure.xml"
|
||||
name="Editorial Review - Structure"
|
||||
description="Structural editor that proposes cuts, reorganization,
|
||||
and simplification while preserving comprehension">
|
||||
description="Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure">
|
||||
<objective>Review document structure and propose substantive changes
|
||||
to improve clarity and flow-run this BEFORE copy editing</objective>
|
||||
<inputs>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: help
|
||||
description: Get unstuck by showing what workflow steps come next or answering questions about what to do
|
||||
description: "Analyzes what is done and the users query and offers advice on what to do next. Use if user says what should I do next or what do I do now"
|
||||
---
|
||||
|
||||
# Task: BMAD Help
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<task id="_bmad/core/tasks/index-docs" name="Index Docs"
|
||||
description="Generates or updates an index.md of all documents in the specified directory">
|
||||
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">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<!-- if possible, run this in a separate subagent or process with read access to the project,
|
||||
but no context except the content to review -->
|
||||
|
||||
<task id="_bmad/core/tasks/review-adversarial-general.xml" name="Adversarial Review (General)">
|
||||
<task id="_bmad/core/tasks/review-adversarial-general.xml" name="Adversarial Review (General)"
|
||||
description="Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something">
|
||||
<objective>Cynically review content and produce findings</objective>
|
||||
|
||||
<inputs>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<task id="_bmad/core/tasks/shard-doc" name="Shard Document"
|
||||
description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections">
|
||||
description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document">
|
||||
<objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective>
|
||||
|
||||
<llm critical="true">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<task id="_bmad/core/workflows/advanced-elicitation/workflow.xml" name="Advanced Elicitation"
|
||||
description="Push the LLM to reconsider refine and improve its recent output. Use when the user asks for advanced elicitation"
|
||||
methods="{project-root}/_bmad/core/workflows/advanced-elicitation/methods.csv"
|
||||
agent-party="{project-root}/_bmad/_config/agent-manifest.csv">
|
||||
<llm critical="true">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: brainstorming
|
||||
description: Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods
|
||||
description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says "help me brainstorm" or "help me ideate".'
|
||||
context_file: '' # Optional context file path for project-specific guidance
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: party-mode
|
||||
description: Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations
|
||||
description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations. Use when user requests "party mode" only.'
|
||||
---
|
||||
|
||||
# Party Mode Workflow
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ async function runTests() {
|
|||
|
||||
assert(compiled.includes('QA Engineer'), 'QA agent compilation includes agent title');
|
||||
|
||||
assert(compiled.includes('qa/automate'), 'QA agent menu includes automate workflow');
|
||||
assert(compiled.includes('qa-generate-e2e-tests'), 'QA agent menu includes automate workflow');
|
||||
|
||||
// Cleanup
|
||||
await fs.remove(tempOutput);
|
||||
|
|
|
|||
|
|
@ -372,7 +372,6 @@ You must fully embody this agent's persona and follow all activation instruction
|
|||
return `---
|
||||
name: '{{name}}'
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# {{name}}
|
||||
|
|
|
|||
|
|
@ -166,7 +166,6 @@ class GitHubCopilotSetup extends BaseIdeSetup {
|
|||
return `---
|
||||
description: '${description.replaceAll("'", "''")}'
|
||||
tools: ${toolsStr}
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified.
|
||||
|
|
|
|||
|
|
@ -176,7 +176,6 @@ class TaskToolCommandGenerator {
|
|||
|
||||
return `---
|
||||
description: '${description.replaceAll("'", "''")}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# ${item.displayName || item.name}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
name: '{{name}}'
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
name: '{{name}}'
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
name: '{{name}}'
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
name: '{{name}}'
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly!
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
description: '{{description}}'
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly!
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ function getMarkdownFiles(dir) {
|
|||
|
||||
if (entry.isDirectory()) {
|
||||
walk(fullPath);
|
||||
} else if (entry.isFile() && entry.name.endsWith('.md')) {
|
||||
} else if (entry.isFile() && (entry.name.endsWith('.md') || entry.name.endsWith('.mdx'))) {
|
||||
files.push(fullPath);
|
||||
}
|
||||
}
|
||||
|
|
@ -120,10 +120,13 @@ function resolveLink(siteRelativePath, sourceFile) {
|
|||
if (!resolved.startsWith(DOCS_ROOT + path.sep) && resolved !== DOCS_ROOT) return null;
|
||||
if (fs.existsSync(resolved) && fs.statSync(resolved).isFile()) return resolved;
|
||||
if (fs.existsSync(resolved + '.md')) return resolved + '.md';
|
||||
// Directory: check for index.md
|
||||
if (fs.existsSync(resolved + '.mdx')) return resolved + '.mdx';
|
||||
// Directory: check for index.md or index.mdx
|
||||
if (fs.existsSync(resolved) && fs.statSync(resolved).isDirectory()) {
|
||||
const indexFile = path.join(resolved, 'index.md');
|
||||
const indexMdxFile = path.join(resolved, 'index.mdx');
|
||||
if (fs.existsSync(indexFile)) return indexFile;
|
||||
if (fs.existsSync(indexMdxFile)) return indexMdxFile;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
@ -134,12 +137,17 @@ function resolveLink(siteRelativePath, sourceFile) {
|
|||
}
|
||||
|
||||
if (checkPath.endsWith('/')) {
|
||||
// Could be file.md or directory/index.md
|
||||
const asFile = path.join(DOCS_ROOT, checkPath.slice(0, -1) + '.md');
|
||||
// Could be file.md, file.mdx, or directory/index.md/mdx
|
||||
const baseName = checkPath.slice(0, -1);
|
||||
const asMd = path.join(DOCS_ROOT, baseName + '.md');
|
||||
const asMdx = path.join(DOCS_ROOT, baseName + '.mdx');
|
||||
const asIndex = path.join(DOCS_ROOT, checkPath, 'index.md');
|
||||
const asIndexMdx = path.join(DOCS_ROOT, checkPath, 'index.mdx');
|
||||
|
||||
if (fs.existsSync(asFile)) return asFile;
|
||||
if (fs.existsSync(asMd)) return asMd;
|
||||
if (fs.existsSync(asMdx)) return asMdx;
|
||||
if (fs.existsSync(asIndex)) return asIndex;
|
||||
if (fs.existsSync(asIndexMdx)) return asIndexMdx;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
@ -151,10 +159,16 @@ function resolveLink(siteRelativePath, sourceFile) {
|
|||
const withMd = direct + '.md';
|
||||
if (fs.existsSync(withMd)) return withMd;
|
||||
|
||||
// Directory without trailing slash: check for index.md
|
||||
// Try with .mdx extension
|
||||
const withMdx = direct + '.mdx';
|
||||
if (fs.existsSync(withMdx)) return withMdx;
|
||||
|
||||
// Directory without trailing slash: check for index.md or index.mdx
|
||||
if (fs.existsSync(direct) && fs.statSync(direct).isDirectory()) {
|
||||
const indexFile = path.join(direct, 'index.md');
|
||||
const indexMdxFile = path.join(direct, 'index.mdx');
|
||||
if (fs.existsSync(indexFile)) return indexFile;
|
||||
if (fs.existsSync(indexMdxFile)) return indexMdxFile;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ export default defineConfig({
|
|||
// Sidebar configuration (Diataxis structure)
|
||||
sidebar: [
|
||||
{ label: 'Welcome', slug: 'index' },
|
||||
{ label: 'Roadmap', slug: 'roadmap' },
|
||||
{
|
||||
label: 'Tutorials',
|
||||
collapsed: false,
|
||||
|
|
|
|||
|
|
@ -101,11 +101,19 @@ export function findFirstDelimiter(str) {
|
|||
/** Walk up from a file path to find the content docs directory. */
|
||||
export function detectContentDir(filePath) {
|
||||
const segments = filePath.split(path.sep);
|
||||
// Look for src/content/docs in the path
|
||||
// Look for src/content/docs in the path (standard Astro)
|
||||
for (let i = segments.length - 1; i >= 2; i--) {
|
||||
if (segments[i - 2] === 'src' && segments[i - 1] === 'content' && segments[i] === 'docs') {
|
||||
return segments.slice(0, i + 1).join(path.sep);
|
||||
}
|
||||
}
|
||||
// Also check for a standalone 'docs' directory (BMAD project structure)
|
||||
// Path format: .../bmm/docs/file.mdx or .../bmm/website/...
|
||||
for (let i = segments.length - 1; i >= 0; i--) {
|
||||
if (segments[i] === 'docs') {
|
||||
// Found docs directory - use its parent as the content root
|
||||
return segments.slice(0, i + 1).join(path.sep);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -507,3 +507,299 @@ blockquote {
|
|||
padding-right: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
ROADMAP STYLES
|
||||
============================================ */
|
||||
.roadmap-container {
|
||||
--color-planned: #6366f1;
|
||||
--color-in-progress: #10b981;
|
||||
--color-exploring: #f59e0b;
|
||||
--color-bg-card: rgba(255, 255, 255, 0.03);
|
||||
--color-border: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.dark .roadmap-container {
|
||||
--color-bg-card: rgba(255, 255, 255, 0.03);
|
||||
--color-border: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.light .roadmap-container {
|
||||
--color-bg-card: rgba(0, 0, 0, 0.02);
|
||||
--color-border: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.roadmap-legend {
|
||||
display: flex;
|
||||
gap: 1.5rem;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
margin: 2rem 0;
|
||||
padding: 1rem 1.5rem;
|
||||
background: var(--color-bg-card);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.legend-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.legend-dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.legend-dot.planned { background: var(--color-planned); }
|
||||
.legend-dot.in-progress { background: var(--color-in-progress); }
|
||||
.legend-dot.exploring { background: var(--color-exploring); }
|
||||
|
||||
.roadmap-timeline {
|
||||
position: relative;
|
||||
max-width: 1000px;
|
||||
margin: 3rem auto;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
.roadmap-timeline::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 3px;
|
||||
background: linear-gradient(to bottom, var(--color-in-progress), var(--color-planned), var(--color-exploring));
|
||||
transform: translateX(-50%);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.roadmap-item {
|
||||
position: relative;
|
||||
margin-bottom: 3rem;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
gap: 2rem;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(odd) .roadmap-card {
|
||||
grid-column: 1;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(even) .roadmap-card {
|
||||
grid-column: 3;
|
||||
}
|
||||
|
||||
.roadmap-marker {
|
||||
grid-column: 2;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
border: 4px solid var(--starlight-canvas-bg);
|
||||
background: var(--color-in-progress);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-shadow: 0 0 0 4px var(--color-border);
|
||||
}
|
||||
|
||||
.roadmap-item.in-progress .roadmap-marker { background: var(--color-in-progress); }
|
||||
.roadmap-item.planned .roadmap-marker { background: var(--color-planned); }
|
||||
.roadmap-item.exploring .roadmap-marker { background: var(--color-exploring); }
|
||||
|
||||
.roadmap-item:nth-child(odd) .roadmap-content {
|
||||
grid-column: 1;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(even) .roadmap-content {
|
||||
grid-column: 3;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.roadmap-card {
|
||||
background: var(--color-bg-card);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: 16px;
|
||||
padding: 1.5rem;
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
|
||||
}
|
||||
|
||||
.roadmap-card:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
|
||||
border-color: var(--color-in-progress);
|
||||
}
|
||||
|
||||
.roadmap-card.planned:hover { border-color: var(--color-planned); }
|
||||
.roadmap-card.exploring:hover { border-color: var(--color-exploring); }
|
||||
|
||||
.roadmap-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(odd) .roadmap-header {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.roadmap-badge {
|
||||
padding: 0.25rem 0.75rem;
|
||||
border-radius: 20px;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.roadmap-badge.in-progress {
|
||||
background: rgba(16, 185, 129, 0.15);
|
||||
color: #10b981;
|
||||
}
|
||||
|
||||
.roadmap-badge.planned {
|
||||
background: rgba(99, 102, 241, 0.15);
|
||||
color: #6366f1;
|
||||
}
|
||||
|
||||
.roadmap-badge.exploring {
|
||||
background: rgba(245, 158, 11, 0.15);
|
||||
color: #f59e0b;
|
||||
}
|
||||
|
||||
.roadmap-title {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.roadmap-description {
|
||||
color: var(--slate-color-500);
|
||||
margin-bottom: 1rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.roadmap-features {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.roadmap-features li {
|
||||
padding: 0.5rem 0;
|
||||
padding-left: 1.5rem;
|
||||
position: relative;
|
||||
font-size: 0.9rem;
|
||||
color: var(--slate-color-400);
|
||||
}
|
||||
|
||||
.roadmap-features li::before {
|
||||
content: '→';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: var(--color-in-progress);
|
||||
}
|
||||
|
||||
.roadmap-item.planned .roadmap-features li::before { color: var(--color-planned); }
|
||||
.roadmap-item.exploring .roadmap-features li::before { color: var(--color-exploring); }
|
||||
|
||||
.roadmap-section-title {
|
||||
text-align: center;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
margin: 3rem 0 2rem;
|
||||
padding: 1rem;
|
||||
background: linear-gradient(135deg, var(--color-in-progress), var(--color-planned));
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
}
|
||||
|
||||
.roadmap-future {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
align-items: stretch;
|
||||
gap: 1.5rem;
|
||||
margin-top: 3rem;
|
||||
padding: 2rem;
|
||||
background: var(--color-bg-card);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.roadmap-future-card {
|
||||
padding: 1.5rem;
|
||||
border-radius: 12px;
|
||||
background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(245, 158, 11, 0.05));
|
||||
border: 1px solid var(--color-border);
|
||||
transition: transform 0.2s ease;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 140px;
|
||||
}
|
||||
|
||||
.roadmap-future-card h4 {
|
||||
margin: 0 0 0.5rem 0;
|
||||
}
|
||||
|
||||
.roadmap-future-card p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.roadmap-future-card:hover {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
|
||||
.roadmap-future-card h4 {
|
||||
margin: 0 0 0.5rem;
|
||||
font-size: 1.1rem;
|
||||
color: var(--color-planned);
|
||||
}
|
||||
|
||||
.roadmap-future-card p {
|
||||
margin: 0;
|
||||
font-size: 0.9rem;
|
||||
color: var(--slate-color-400);
|
||||
}
|
||||
|
||||
.roadmap-emoji {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.roadmap-timeline::before {
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.roadmap-item {
|
||||
grid-template-columns: auto 1fr;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(odd) .roadmap-card,
|
||||
.roadmap-item:nth-child(even) .roadmap-card {
|
||||
grid-column: 2;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(odd) .roadmap-content,
|
||||
.roadmap-item:nth-child(even) .roadmap-content {
|
||||
grid-column: 2;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.roadmap-marker {
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
}
|
||||
|
||||
.roadmap-item:nth-child(odd) .roadmap-header {
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue