Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 3.61 KB

File metadata and controls

60 lines (43 loc) · 3.61 KB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

How to Use This File

This file contains instructions for Claude Code to help it understand the context and requirements of the project. It is not intended to be modified by contributors. Human contributors should follow the guidelines in the CONTRIBUTING.md file. These guidelines derive from that document.

⛔ TDD Workflow (MANDATORY - NOT OPTIONAL)

When working on implementation tasks in specs/*/tasks.md:

  • ALWAYS use /test-first <behavior> for TEST tasks
  • NEVER write tests manually and proceed to implementation
  • STOP and ASK FOR APPROVAL after writing each test
  • The user will review the test in their IDE before you implement
  • Each TEST task in tasks.md specifies the exact /test-first command to use
  • The skill enforces the approval gate automatically - you cannot bypass it

Why this is mandatory:

  1. Tests correctly specify desired behavior before implementation
  2. Scope control - only code required by tests is written
  3. No speculative code
  4. User reviews test in IDE, not in CLI output

If a task says /test-first when ... - YOU MUST USE THAT COMMAND. Do not write the test file manually.

Claude Code Skills (Recommended)

Claude Code skills automate common workflows and enforce mandatory engineering practices. Use these skills proactively rather than manually following documented procedures:

Core Development Skills

  • /test-first <behavior> - TDD workflow with mandatory approval before implementation (docs)
  • /tidy-first <change> - Separate structural (refactoring) from behavioral (feature) changes (docs)
  • /adr <title> - Create Architecture Decision Records (docs)

Specification Workflow Skills

  • /spec:requirements, /spec:design, /spec:tasks, /spec:implement, /spec:status - Complete specification-driven development workflow (docs)

When to use skills:

  • Use /test-first when adding new behavior or fixing bugs
  • Use /tidy-first when code needs refactoring before/during feature work
  • Use /adr when documenting architectural decisions
  • Use /spec:* commands for full feature development from requirements to implementation

Detailed Instructions

For comprehensive guidance on working with this codebase, Claude should read the following files as needed: