# CLAUDE.md

<!--
  Generated by Codeman on [DATE]. This file is loaded into context at the
  start of every Claude Code session in this project.

  Keep it short (target: under 200 lines). For each line ask: "would removing
  this cause Claude to make mistakes?" If not, cut it. Don't document what
  Claude can infer from the code itself (file layout, standard conventions,
  APIs) — bloat causes Claude to ignore the rules that matter.

  HTML comments like this one are stripped before loading, so fill-in notes
  cost no context. If this file grows too big, split into path-scoped rules
  in .claude/rules/*.md or import other files with @path/to/file syntax.
-->

This file guides Claude Code when working in this repository.

## Project

- **Project Name**: [PROJECT_NAME]
- **Description**: [PROJECT_DESCRIPTION]

## Commands

<!-- List the exact commands Claude can't guess — fill in as the project
     takes shape, then delete this comment:

| Task | Command |
|------|---------|
| Dev server | `npm run dev` |
| Test (single file) | `npm test -- test/<file>.test.ts` |
| Lint | `npm run lint` |
| Build | `npm run build` |
-->

## Code Style

<!-- Only rules that differ from language/framework defaults, one line each:
- Use 2-space indentation
- ES modules only — never require()
-->

## Workflow

- Full permissions are granted: read, write, edit, and execute without asking.
- Commit after every meaningful change; never batch unrelated work.
- Use conventional commits (`feat:` `fix:` `docs:` `refactor:` `test:` `chore:`); the message says what changed and why.
- Run the tests and linter before declaring any task done.
- Keep README and docs in sync with code changes.

## Codeman Environment

This session is managed by Codeman and runs inside tmux (`CODEMAN_MUX=1` confirms it).

- NEVER kill your own session: no `tmux kill-session`, `pkill tmux`, or `pkill claude`.
- The session persists across disconnects — your work is safe.
- Hooks may auto-format or validate after writes; unexpected tool behavior usually means a hook ran. Keep working.
