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:
Alex Verkhovsky
2025-12-06 10:40:07 -08:00
committed by GitHub
parent d85090060b
commit e3f756488a
24 changed files with 543 additions and 35 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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}}`

View File

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

View File

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