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:
@@ -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