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>
88 lines
2.2 KiB
Markdown
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
|