Conventions
- Atomic style applies to Claude's TUI replies, not to source files, comments, or documentation. Source files follow the codebase's own conventions.
CLAUDE.mdin any project should hold only meaningful context for that codebase — not general reminders, not duplicated tool lists. Keep it lean.- No AI bylines in commit messages or PR descriptions.
- The scratchpad (
.claude/.scratchpad/<slug>/) is LLM working memory — ephemeral, gitignored, not for human consumption. Durable decisions go indocs/. It is a slug-keyed bundle, not a dated one:atomic scratchpad new <slug> --purpose <plan|implement|fix|diagnose|review>creates or extends it, seeding only what that purpose still needs, so a task worked across several phases accumulates in one directory instead of a new one per phase per date.atomic scratchpad path <slug>prints its location,list [--archived]enumerates bundles, andarchive <slug>retires one. - Session reports, reminders, and archived bundles live outside the repository, under
~/.atomic/<project-key>/— one home per clone, shared by every worktree of it.atomic where --jsonresolves the current branch's report path, the reports root, the reminders directory, and the archive root for this project; nothing should construct those paths by hand. Runatomic migrate --show-logfor the history of how this and other state layouts changed. .claude/paths throughout these docs describe the default (Claude Code) harness. Under another agent the same layout resolves beneath that harness's directory (.pi/.scratchpad/,.pi/project/, …) via harness detection — experimental; see concepts.- Tests verify intent, not behavior. A test that still passes when the business logic changes is wrong.
tmp/is for throwaway experiments and ad-hoc verification scripts. Not a scratch directory for checked-in work.- When
/subagent-implementationis about to start significant work, it prompts whether to use an isolated worktree. Already inside.claude/worktrees/*(or any linked worktree)? It skips the prompt.
