diff --git a/CLAUDE.md b/CLAUDE.md index f060924..0b217ea 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,9 +1,29 @@ -If asked to work on a feature, before starting: +## Using atgc +Use the globally installed `atgc` CLI for repo operations. If needed, use `--help` options to query what features are enabled in that version. + +## Feature branch workflow + +Before starting work on a feature: + +- Ensure that `main` and `origin/main` are up to date - Create a new branch like "claude/short-feature-name" - Create a worktree in `.claude` for working on it - Ensure that the repo-local `.git/config` `[user]` section is using an ATProto `@-` handle as a `name`, and a `did:plc` instead of an email +Structure your commits: + +- Break work into logical commits, typically 1-5 for an average feature. +- Don't write more than 3 short paragraphs in a commit body. This often means you did too much work in a single commit. +- Use Conventional Commits, including adding "!" indicators for breaking behavior changes. + +Each feature branch should include supporting work: + +- Adding any new debug log lines or similar observability +- An update to any high-level documentation, but only if needed +- A few of the most high-value tests +- Updating anything relevant in TODO.md + When ready to submit: - Check for a rebase against `main` and fix any conflicts @@ -13,3 +33,4 @@ When ready to submit: If asked to iterate post-submission: - Update the existing PR via `atgc pr resubmit`, rather than with a new `atgc pr create`. +- Make sure to update the PR body with `atgc pr edit`, not just the patches.