Windsurf rules
.windsurf/rules/write-document.mdWrite, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs/ directory.
Windsurf rules
Quality
76/100
Scores the file, not the repository.Length
1,268 words
42 headings · 18 code blocksRepository
114
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1234567# Write Document (BMAD)89Create high-signal technical documentation that serves as an expert collaborator for both humans and AI. This skill enforces the BMAD principles to prevent context rot and ensure architectural durability.1011**Distinct from `edit-document`:** Use this skill to create a document that does not yet exist. Use `edit-document` when a document already exists and needs restructuring, clarity, or prose improvements.1213> **HARD GATE** — Every document must have a clear "Reason for Existence." If a document doesn't provide actionable leverage for a caller or test, do not create it.1415## The BMAD Principles1617| Principle | Execution |18| :--- | :--- |19| **B**old | Make strong assertions. Define clear boundaries and "Never" rules. No "it might" or "usually." |20| **M**inimal | High-density, low-filler. **Circuit Breaker**: If the file exceeds 300 lines or the session exceeds 20 turns, you MUST run `terse-mode` and compact state before saving. |21| **A**ctionable | Link every doc to a verifiable outcome. **Architectural Docs**: Verify via Gherkin features (`specs/verifications/features/`) or grep-based structure checks (`grep -c "pattern" file`) that prove the design's *constraints* are present. |22| **D**urable | Design for the long-term. **Scalability**: Use "Nested Indexing"—root files link to module-level `GEMINI.md` indexes; do not list individual sub-files in the root. |2324## Process2526### 1. Identify the Artifact Type & Scope2728Choose the correct BMAD-BigPowers artifact:29- **Decision Record (ADR)**: For "Why" decisions (saved to `specs/adr/`).30- **Context Map**: For system-wide architectural mapping (`specs/tech-architecture/tech-stack.md`).31- **Technical Guide**: For "How-to" with verification (saved to `<module>/REFERENCE.md`).32- **Behavioral Feature**: Gherkin-style compliance specs (saved to `specs/verifications/features/`).33- **Project README**: Project-facing documentation (saved to `README.md` at project root).3435**Cross-Cutting Concerns**: If a doc affects multiple modules, place the authoritative source in the lowest common ancestor directory and use "Delegates" (one-line pointers) in sub-directories to maintain the Single Source of Truth without violating the Stepdown Rule.3637### 2. Draft with Semantic Velocity3839> **STREAM CONTINUITY** — When writing file content, output in continuous chunks of ~200 lines. Do not pause. Continue immediately until complete. If you need time, emit a placeholder comment rather than going silent.4041Write the document focusing on "Expert Collaboration":42- **Instructions over Descriptions**: Tell the reader (human or AI) exactly how to interact with the system.43- **Provenance Links**: Link to ADRs, Issues, or Commits to preserve intent.44- **The Stepdown Rule**: Information should descend exactly one level of abstraction. If a root doc needs to explain a leaf-level detail, it must point to a sub-index first.4546### Quick README (Project READMEs only)47481. Ask: "Project name? One-sentence description?"492. Generate `README.md` at project root using the template in [REFERENCE.md](REFERENCE.md) — no TOC, no second interview round.503. Fill gaps from `CLAUDE.md` / `AGENTS.md` commands if available (prefer `AGENTS.md`); use `TODO` markers otherwise.514. Output and suggest `edit-document` for polish.5253→ verify: `test -f README.md && [ "$(grep -c '^## ' README.md)" -ge 7 ]`5455### 3. Apply the 94% Quality Gate5657Before finalizing, audit the document against these red flags:58- [ ] **Filler Language**: Are there pleasantries or "I hope this helps"? (Delete them).59- [ ] **Ambiguity**: Are there "usually," "often," or "it depends" without specific conditions?60- [ ] **Dead Ends**: Does the document end without a "Next Step" or "Verification" command?61- [ ] **Shallow Content**: Does it restate the code without explaining the *intent* or *contracts*?6263### 4. Sync and Organize6465- **Big Powers Hierarchy**: Place the document in the correct tier (Global -> Project -> Sub-directory). Project READMEs are an exception — they go to project root (`README.md`), not `specs/`.66- **Nested Indexing**: If adding a module-level doc, ensure the module's `GEMINI.md` is updated. If the module's index is new, add it to the root `GEMINI.md`.67- **Sync**: Run `scripts/sync-skills.sh` if the document is a `SKILL.md` or affects generated artifacts.6869## Rules7071- **Minimalism is a requirement**: If a document can be a 5-line table, do not make it a 5-line essay.72- **Verifiable outcomes**: Every technical document must include at least one `verify:` command. For architecture, this can be a `grep` or `run_shell_command` that validates the existence of required files or patterns.73- **No speculative docs**: Do not write documentation for features that do not exist yet unless explicitly doing `elaborate-spec`.747576Suggest next skill: `audit-code` or `sync-skills.sh`.7778---7980# Project README Template8182Combined from dbader/readme-template and jehna/readme-best-practices. No TOC.8384## Navigation8586| Lines | Section |87|-------|---------|88| 1 | Title |89| 5–40 | Navigation |90| 41–42 | Sections |91| 43–54 | 1. Title + Badges |92| 55–60 | 2. Tagline |93| 61–64 | 3. Description |94| 65–67 | 4. Prerequisites |95| 68–75 | Prerequisites |96| 76–78 | 5. Installation |97| 79–89 | Installation |98| 90–92 | 6. Usage |99| 93–102 | Usage |100| 103–105 | 7. Features |101| 106–113 | Features |102| 114–116 | 8. Configuration |103| 117–125 | Configuration |104| 126–128 | 9. Development Setup |105| 129–139 | Development |106| 140–142 | 10. Running Tests |107| 143–152 | Tests |108| 153–155 | 11. Contributing |109| 156–164 | Contributing |110| 165–167 | 12. Changelog |111| 168–172 | Changelog |112| 173–175 | 13. Links |113| 176–181 | Links |114| 182–184 | 14. License |115| 185–191 | License |116| 192–194 | 15. Credits (optional) |117| 195–199 | Credits |118| 200–202 | Verify |119120## Sections121122### 1. Title + Badges123124```markdown125# Project Name126127128129130```131132Fill badges from CLAUDE.md stack info if available. Default to license + version badges.133134### 2. Tagline135136```markdown137> One-line description of what this project does and why it matters.138```139140### 3. Description1411422-3 paragraphs: what problem it solves, who it's for, and what makes it different.143144### 4. Prerequisites145146```markdown147## Prerequisites148149- **Runtime**: Node.js v18+ (from CLAUDE.md)150- **Package manager**: npm (or pnpm/yarn)151```152153Auto-fill from CLAUDE.md commands section when possible.154155### 5. Installation156157```markdown158## Installation159160```bash161npm install -g your-package162# or163npx your-package164```165```166167Prefer npx one-shot if applicable; list global install as alternative.168169### 6. Usage170171```markdown172## Usage173174```bash175your-command --help176your-command do-something177```178```179180Include the most common 1-2 commands. Link to full docs if they exist.181182### 7. Features183184```markdown185## Features186187- Feature 1: short description188- Feature 2: short description189```1901913-6 bullet points of what the project does. Derived from the project's purpose.192193### 8. Configuration194195```markdown196## Configuration197198| Variable | Default | Description |199|----------|---------|-------------|200| `VAR_NAME` | `value` | What it controls |201```202203Use `TODO` markers if unknown.204205### 9. Development Setup206207```markdown208## Development209210```bash211git clone <repo-url>212cd project213npm install214```215```216217Auto-fill from CLAUDE.md `Run` and `Build` commands.218219### 10. Running Tests220221```markdown222## Tests223224```bash225npm test226npm run lint227```228```229230Auto-fill from CLAUDE.md `Test` and `Lint` commands.231232### 11. Contributing233234```markdown235## Contributing2362371. Fork the repo.2382. Create a feature branch (`git checkout -b feature/my-thing`).2393. Commit changes (`git commit -am 'Add my thing'`).2404. Push (`git push origin feature/my-thing`).2415. Open a Pull Request.242```243244### 12. Changelog245246```markdown247## Changelog248249See [CHANGELOG.md](../../CHANGELOG.md) or [Releases](https://github.com/user/repo/releases).250```251252### 13. Links253254```markdown255## Links256257- Repository: https://github.com/user/repo258- Issue tracker: https://github.com/user/repo/issues259```260261### 14. License262263```markdown264## License265266MIT — see [LICENSE](../../LICENSE) for details.267```268269Detect from CLAUDE.md or project LICENSE file.270271### 15. Credits (optional)272273```markdown274## Credits275276Built with [bigpowers](https://www.npmjs.com/package/bigpowers).277```278279## Verify280281After generation, run: `grep -c "^## " README.md` — expect ≥ 7 section headings.282
Also in danielvm-git/bigpowers
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| danielvm-git/bigpowers.cursor/rules/align-grid.mdc · 114 | Cursor rules | lint-formatdo-notagent-behaviour | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/assess-impact.mdc · 114 | Cursor rules | testtesting-strategydeployment | 66/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/audit-code.mdc · 114 | Cursor rules | setuptestlint-formatstyle+4 | 66/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/audit-plan.mdc · 114 | Cursor rules | buildteststylegit | 74/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/build-epic.mdc · 114 | Cursor rules | buildgit | 58/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/change-request.mdc · 114 | Cursor rules | no sections | 48/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/commit-message.mdc · 114 | Cursor rules | lint-formatstyletypesgit+3 | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/compose-workflow.mdc · 114 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/context7-mcp.mdc · 114 | Cursor rules | style | 54/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/craft-skill.mdc · 114 | Cursor rules | stylearchgitdo-not | 69/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/deepen-architecture.mdc · 114 | Cursor rules | testtesting-strategydo-not | 57/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/define-language.mdc · 114 | Cursor rules | lint-formatdo-not | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/define-success.mdc · 114 | Cursor rules | no sections | 4/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/delegate-task.mdc · 114 | Cursor rules | git | 62/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/deploy.mdc · 114 | Cursor rules | setupbuildtestdeployment | 77/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/design-interface.mdc · 114 | Cursor rules | styleagent-behaviour | 58/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/develop-tdd.mdc · 114 | Cursor rules | teststylearchtesting-strategy+5 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/diagnose-root.mdc · 114 | Cursor rules | no sections | 39/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/diagnose-stall.mdc · 114 | Cursor rules | no sections | 44/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/dispatch-agents.mdc · 114 | Cursor rules | git | 54/100 | 3 days ago |
Diff against .cursor/rules/align-grid.mdc Diff against .cursor/rules/assess-impact.mdc Diff against .cursor/rules/audit-code.mdc Diff against .cursor/rules/audit-plan.mdc Diff against .cursor/rules/build-epic.mdc Diff against .cursor/rules/change-request.mdc Diff against .cursor/rules/commit-message.mdc Diff against .cursor/rules/compose-workflow.mdc Diff against .cursor/rules/context7-mcp.mdc Diff against .cursor/rules/craft-skill.mdc Diff against .cursor/rules/deepen-architecture.mdc Diff against .cursor/rules/define-language.mdc Diff against .cursor/rules/define-success.mdc Diff against .cursor/rules/delegate-task.mdc Diff against .cursor/rules/deploy.mdc Diff against .cursor/rules/design-interface.mdc Diff against .cursor/rules/develop-tdd.mdc Diff against .cursor/rules/diagnose-root.mdc Diff against .cursor/rules/diagnose-stall.mdc Diff against .cursor/rules/dispatch-agents.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| danielvm-git/bigpowers.windsurf/rules/organize-workspace.md · 114 | Windsurf rules | buildstylegitdeployment+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/guard-git.md · 114 | Windsurf rules | stylearchgitsecurity+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/quick-fix.md · 114 | Windsurf rules | teststylegitdeployment+1 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/develop-tdd.md · 114 | Windsurf rules | teststylearchtesting-strategy+5 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/session-state.md · 114 | Windsurf rules | lint-formatstyleagent-behaviour | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/commit-message.md · 114 | Windsurf rules | lint-formatstyletypesgit+3 | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/extract-design.md · 114 | Windsurf rules | lint-formatstyledependenciesui | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/setup-environment.md · 114 | Windsurf rules | setupstylesecuritydo-not+1 | 81/100 | 3 days ago |
