mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
feat(quality): add markdownlint-cli2 to quality checks (#1039)
- Add markdownlint-cli2 as dev dependency - Add lint:md script to package.json - Add markdownlint job to CI workflow - Configure 5 rules: heading-increment, no-duplicate-heading, no-trailing-punctuation, no-bare-urls, no-space-in-emphasis - Fix existing violations across 19 markdown files - No auto-fix to prevent destructive changes Closes #1034 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Brian <bmadcode@gmail.com>
This commit is contained in:
@@ -203,7 +203,7 @@ Module agents use the same injection process as simple agents:
|
||||
2. **Activation block** with standard steps
|
||||
3. **Menu handlers** based on usage (workflow, exec, tmpl, data)
|
||||
4. **Rules section** for consistent behavior
|
||||
5. **Auto-injected** *help and *exit commands
|
||||
5. **Auto-injected** \*help and \*exit commands
|
||||
|
||||
**Key difference:** Module agents load **module-specific config** instead of core config:
|
||||
|
||||
|
||||
@@ -149,13 +149,13 @@ ONLY WHEN [C continue option] is selected and [completion requirements], will yo
|
||||
|
||||
<!-- TEMPLATE END-->
|
||||
|
||||
## Common Menu Patterns to use in the final sequence item in a step file.
|
||||
## Common Menu Patterns to use in the final sequence item in a step file
|
||||
|
||||
FYI Again - party mode is useful for the user to reach out and get opinions from other agents.
|
||||
|
||||
Advanced elicitation is use to direct you to think of alternative outputs of a sequence you just performed.
|
||||
|
||||
### Standard Menu - when a sequence in a step results in content produced by the agent or human that could be improved before proceeding.
|
||||
### Standard Menu - when a sequence in a step results in content produced by the agent or human that could be improved before proceeding
|
||||
|
||||
```markdown
|
||||
### N. Present MENU OPTIONS
|
||||
|
||||
@@ -132,7 +132,7 @@ You are a **strategic shopping partner** who:
|
||||
- Plans for real-life shopping scenarios
|
||||
- Minimizes food waste thoughtfully
|
||||
|
||||
## 📝 OUTPUT REQUIREMENTS:
|
||||
## 📊 STATUS UPDATE:
|
||||
|
||||
Update workflow.md frontmatter:
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ You are a **strategic shopping partner** who:
|
||||
- Plans for real-life shopping scenarios
|
||||
- Minimizes food waste thoughtfully
|
||||
|
||||
## 📝 OUTPUT REQUIREMENTS:
|
||||
## 📊 STATUS UPDATE:
|
||||
|
||||
Update workflow.md frontmatter:
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ Update {workflowPlanFile} frontmatter:
|
||||
|
||||
Display: **Workflow Creation Complete!** [T] Test Workflow [M] Make Adjustments [D] Get Help
|
||||
|
||||
#### Menu Handling Logic:
|
||||
### Menu Handling Logic:
|
||||
|
||||
- IF T: Offer to run the newly created workflow with sample data
|
||||
- IF M: Offer to make specific adjustments to the workflow
|
||||
|
||||
@@ -85,9 +85,9 @@ Load the agent file from the path provided in step 1:
|
||||
|
||||
- Load and read the .agent.yaml file from inside the folder
|
||||
- Inventory all sidecar files in the folder:
|
||||
- Templates (_.md, _.txt)
|
||||
- Templates (`_.md`, `_.txt`)
|
||||
- Documentation files
|
||||
- Knowledge base files (_.csv, _.json, \*.yaml)
|
||||
- Knowledge base files (`_.csv`, `_.json`, `*.yaml`)
|
||||
- Any other resources referenced by the agent
|
||||
- Note: Expert agent with sidecar structure
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ Then load and append content from {completionTemplate}
|
||||
|
||||
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
|
||||
|
||||
#### EXECUTION RULES:
|
||||
### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
|
||||
@@ -532,7 +532,7 @@ Trust your expertise - BMM supports your decisions.
|
||||
|
||||
### Q: How do I report a bug or request a feature?
|
||||
|
||||
**A:** Open a GitHub issue at: https://github.com/bmad-code-org/BMAD-METHOD/issues
|
||||
**A:** Open a GitHub issue at: <https://github.com/bmad-code-org/BMAD-METHOD/issues>
|
||||
|
||||
Please include:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
When you edit `workflow-method-greenfield.excalidraw`, regenerate the SVG:
|
||||
|
||||
1. Open https://excalidraw.com/
|
||||
1. Open <https://excalidraw.com/>
|
||||
2. Load the `.excalidraw` file
|
||||
3. Click menu (☰) → Export image → SVG
|
||||
4. **Set "Scale" to 1x** (default is 2x)
|
||||
|
||||
@@ -138,12 +138,12 @@ Epic/Release Gate → TEA: *nfr-assess, *trace Phase 2 (release decision)
|
||||
**Standard agents**: 1-3 workflows per phase
|
||||
**TEA**: 8 workflows across Phase 3, Phase 4, and Release Gate
|
||||
|
||||
| Phase | TEA Workflows | Frequency | Purpose |
|
||||
| ----------- | ----------------------------------------------------- | ---------------- | ---------------------------------------------- |
|
||||
| **Phase 2** | (none) | - | Planning phase - PM defines requirements |
|
||||
| **Phase 3** | *framework, *ci | Once per project | Setup test infrastructure AFTER architecture |
|
||||
| **Phase 4** | *test-design, *atdd, *automate, *test-review, \*trace | Per epic/story | Test planning per epic, then per-story testing |
|
||||
| **Release** | *nfr-assess, *trace (Phase 2: gate) | Per epic/release | Go/no-go decision |
|
||||
| Phase | TEA Workflows | Frequency | Purpose |
|
||||
| ----------- | --------------------------------------------------------- | ---------------- | ---------------------------------------------- |
|
||||
| **Phase 2** | (none) | - | Planning phase - PM defines requirements |
|
||||
| **Phase 3** | \*framework, \*ci | Once per project | Setup test infrastructure AFTER architecture |
|
||||
| **Phase 4** | \*test-design, \*atdd, \*automate, \*test-review, \*trace | Per epic/story | Test planning per epic, then per-story testing |
|
||||
| **Release** | \*nfr-assess, \*trace (Phase 2: gate) | Per epic/release | Go/no-go decision |
|
||||
|
||||
**Note**: `*trace` is a two-phase workflow: Phase 1 (traceability) + Phase 2 (gate decision). This reduces cognitive load while maintaining natural workflow.
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ Choose the right scan depth for your needs:
|
||||
- Initial understanding of project structure
|
||||
- Planning next steps before deeper analysis
|
||||
|
||||
**Does NOT read:** Source code files (_.js, _.ts, _.py, _.go, etc.)
|
||||
**Does NOT read:** Source code files (`_.js`, `_.ts`, `_.py`, `_.go`, etc.)
|
||||
|
||||
### 2. Deep Scan
|
||||
|
||||
|
||||
@@ -662,7 +662,7 @@ Before deploying your CI pipeline, verify:
|
||||
- [ ] **Artifact retention**: 30 days for reports, 7 days for failure artifacts
|
||||
- [ ] **Parallelization**: Matrix strategy uses fail-fast: false
|
||||
- [ ] **Burn-in enabled**: Changed specs run 5-10x before merge
|
||||
- [ ] **wait-on app startup**: CI waits for app (wait-on: 'http://localhost:3000')
|
||||
- [ ] **wait-on app startup**: CI waits for app (wait-on: '<http://localhost:3000>')
|
||||
- [ ] **Secrets documented**: README lists required secrets (API keys, tokens)
|
||||
- [ ] **Local parity**: CI scripts runnable locally (npm run test:ci)
|
||||
|
||||
|
||||
@@ -262,7 +262,7 @@ import { apiRequest } from '@seontechnologies/playwright-utils/api-request'; //
|
||||
|
||||
The official `@seontechnologies/playwright-utils` repository provides working examples of all patterns described in these fragments.
|
||||
|
||||
**Repository:** https://github.com/seontechnologies/playwright-utils
|
||||
**Repository:** <https://github.com/seontechnologies/playwright-utils>
|
||||
|
||||
**Key resources:**
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
{{#if has_api_routes}}
|
||||
|
||||
### API Routes ({{api_route_count}} endpoints found)
|
||||
## API Routes ({{api_route_count}} endpoints found)
|
||||
|
||||
{{#each api_route_groups}}
|
||||
{{group_index}}. {{group_name}} - {{endpoint_count}} endpoints in `{{path}}`
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
{{#if has_feature_modules}}
|
||||
|
||||
### Feature Modules ({{feature_count}} features)
|
||||
## Feature Modules ({{feature_count}} features)
|
||||
|
||||
{{#each feature_modules}}
|
||||
{{module_index}}. {{module_name}} - {{file_count}} files in `{{path}}`
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
- [ ] Git repository initialized (`.git/` exists)
|
||||
- [ ] Git remote configured (`git remote -v` shows origin)
|
||||
- [ ] Test framework configured (playwright.config._ or cypress.config._)
|
||||
- [ ] Test framework configured (`playwright.config._` or `cypress.config._`)
|
||||
- [ ] Local tests pass (`npm run test:e2e` succeeds)
|
||||
- [ ] Team agrees on CI platform
|
||||
- [ ] Access to CI platform settings (if updating)
|
||||
|
||||
@@ -524,7 +524,7 @@ await expect(page.locator('[data-testid="user-menu"]')).toBeVisible({ timeout: 1
|
||||
### 1. Use Data Factory for Test User (Lines 23, 32, 41)
|
||||
|
||||
**Severity**: P1 (High)
|
||||
**Issue**: Hardcoded email 'test@example.com' - maintainability risk
|
||||
**Issue**: Hardcoded email `test@example.com` - maintainability risk
|
||||
**Fix**: Create factory function for test users
|
||||
**Knowledge**: See data-factories.md
|
||||
|
||||
|
||||
Reference in New Issue
Block a user