# dario — notes for Claude Code (and other LLM coding agents)

## Commits and PRs

- **Do not append `https://claude.ai/code/session_*` URLs** to commit messages or PR descriptions. They rot fast (the session expires), they leak the source of the contribution into git history forever, and they're not what readers want when they `git blame` a line three years from now.
- **Do not append `Co-authored-by: Claude` or `Generated with Claude Code` trailers** unless explicitly requested. Same reasons.
- The `Co-authored-by:` line GitHub auto-adds for human PR authors during a squash-merge is fine — that one is generated by GitHub, not by Claude Code.

## Style

- **No `Generated by Claude` / `Drafted by AI` markers** in source files, docs, or PR bodies. The maintainer treats those as noise that has to be cleaned up before review.
- **Match the existing prose voice** in docs (terse, active, scar-tissue references to issue numbers when relevant). Don't introduce bullet-arrow patterns (`**Foo** →`), parenthetical inventories, or "Two checks worth running on the way to" framing.

## Scope

- The repo's CI enforces SHA-pinned GitHub Actions (`.github/workflows/actionlint.yml` + org policy reinforced in #209). Add new actions in tag form on first commit only — Dependabot's `github-actions` ecosystem entry pins the SHA on the next Monday run.
- The cc-drift bot (`cc-drift-watch.yml` + `cc-drift-auto-release.yml`) auto-drafts version bumps for `SUPPORTED_CC_RANGE.maxTested`. Don't compete with it: bumping `maxTested` in a manual PR will collide with the bot's next run.

## When in doubt, ask

The maintainer reads PR bodies. Surface trade-offs and unknowns explicitly rather than picking a default and shipping.
