Files
msd-core/.claude/rules/style.md
Lex Christopherson a97c567b01 feat: add .claude/rules/ for auto-loaded contribution rules
Split GSD style guidance into:
- .claude/rules/style.md - global style rules (always loaded)
- .claude/rules/commands.md - path-scoped for commands/gsd/
- .claude/rules/workflows.md - path-scoped for workflows/
- .claude/rules/templates.md - path-scoped for templates/
- .claude/rules/references.md - path-scoped for references/
- GSD-STYLE.md - comprehensive reference for deep dives

Rules auto-load via Claude Code's .claude/rules/ feature (v2.0.64+).
Path-scoped rules only activate when editing matching files.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 15:23:21 -06:00

88 lines
2.2 KiB
Markdown

# GSD Style Rules
These rules apply to ALL files in this repository.
## Language & Tone
**Imperative voice.** "Execute tasks", "Create file" — not "Execution is performed"
**No filler.** Absent: "Let me", "Just", "Simply", "Basically", "I'd be happy to"
**No sycophancy.** Absent: "Great!", "Awesome!", "Excellent!", "I'd love to help"
**Brevity with substance.** Good: "JWT auth with refresh rotation using jose library" Bad: "Phase complete"
## Temporal Language Ban
Never write: "We changed X to Y", "Previously", "No longer", "Instead of"
Always: Describe current state only.
Exception: CHANGELOG.md, git commits (their purpose IS tracking change)
## Anti-Patterns
### Enterprise Patterns (Banned)
- Story points, sprint ceremonies, RACI matrices
- Human dev time estimates (days/weeks)
- Team coordination, knowledge transfer docs
### Generic XML (Banned)
Don't use: `<section>`, `<item>`, `<content>`
Use semantic tags: `<objective>`, `<verification>`, `<action>`, `<process>`
## Naming Conventions
| Type | Convention | Example |
|------|------------|---------|
| Files | kebab-case | `execute-phase.md` |
| Commands | `gsd:kebab-case` | `gsd:execute-phase` |
| Step names | snake_case | `name="load_project_state"` |
| Bash variables | CAPS_UNDERSCORES | `PHASE_ARG` |
| Type attributes | colon separator | `type="checkpoint:human-verify"` |
## XML Conventions
XML tags are semantic containers. Use Markdown headers for hierarchy within.
```xml
<!-- DO -->
<objective>
## Primary Goal
Build authentication system
## Success Criteria
- Users can log in
</objective>
<!-- DON'T -->
<section name="objective">
<subsection name="primary-goal">
<content>Build authentication</content>
</subsection>
</section>
```
## @-References
@-references are lazy loading signals — instructions to read, not pre-loaded content.
```
@~/.claude/get-shit-done/workflows/execute-phase.md # Static (always load)
@.planning/DISCOVERY.md (if exists) # Conditional
```
## Commit Format
```
{type}({phase}-{plan}): {description}
```
Types: `feat`, `fix`, `test`, `refactor`, `docs`, `chore`
Rules:
- One commit per task
- Stage files individually (never `git add .`)
- Include `Co-Authored-By: Claude` line