feat(claude): add user-global Claude Code memory file#136
Conversation
`home/dot_claude/` did not exist, so chezmoi deployed nothing to `~/.claude/CLAUDE.md`. Without a user-global `CLAUDE.md`, Claude Code sessions in repositories that lack a project-level `CLAUDE.md` fall back to model defaults for the conversation language policy, Conventional Commits style, and the bounded signing fallback ladder. Add `home/dot_claude/CLAUDE.md` modeled on the canonical Copilot user-global file, adapted for Claude Code's interaction model: the wording uses "continue autonomously / pause to ask" rather than the Copilot product-specific "Agent mode" / "Plan mode" terms, and a note distinguishes this static user-global file from Claude Code's auto-memory subsystem at `~/.claude/projects/`. The file preserves the same five sections (deferral preamble, Conversation, Commit rules with the full P/C/A/U signing fallback ladder, Coding standards, Guardrails) as the Codex and Copilot user-global files. Track B under the symmetrization roadmap (#130). Sibling tracks land `home/dot_gemini/GEMINI.md` (#133) and the documentation update in `docs/ai-strategy.md` (#134) independently. Refs #132 Roadmap #130 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds ChangesClaude Code User-Global Instructions
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Adds a user-global Claude Code memory file at home/dot_claude/CLAUDE.md so chezmoi deploys it to ~/.claude/CLAUDE.md, bringing Claude Code to parity with the already-deployed Copilot CLI user-global instructions.
Changes:
- New
home/dot_claude/CLAUDE.mdcontaining repository-precedence preamble, Conversation, Commit rules (with signing fallback ladder), Coding standards, and Guardrails sections. - Wording adapted to Claude Code's interaction model (continue autonomously / pause to ask), avoiding Copilot-specific "Agent mode" / "Plan mode" terms.
- Clarifying note distinguishing this static memory file from Claude Code's per-project auto-memory under
~/.claude/projects/.
|
claude-code-425b15e1: review triage snapshot — IDD automation marker. Do not edit. |
|
Acknowledged — recording the auto-no-action review for the F2 unreplied-comment evidence check. |
|
claude-code-425b15e1: review triage snapshot (refreshed) — IDD automation marker. Do not edit. |
E6 dispositions — PATH B (advisory)Both items in
E2 critique pass returned 0 additional findings. |
|
claude-code-425b15e1: review triage snapshot (final pre-merge) — IDD automation marker. Do not edit. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c17fc4e645
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| commit.gpgsign=true`). Do **not** assume the alias exists | ||
| in every repo. | ||
| - Otherwise use per-command flags: | ||
| `git -c gpg.format=ssh -c user.signingkey="<ssh-public-key>" commit -S`. |
There was a problem hiding this comment.
Prefix literal SSH signing keys with key::
When the fallback uses a literal key from ssh-add -L, this command can fail for common non-ssh- key types such as ecdsa-sha2-* or hardware-backed sk-ssh-* keys. Git's user.signingKey docs say literal public keys should be prefixed with key::, and raw-key compatibility is only for values beginning ssh-; otherwise Git treats the value like a path instead of a key. Since this file explicitly recommends hardware-backed keys, the transient fallback should use user.signingkey="key::<ssh-public-key>" for literal keys.
Useful? React with 👍 / 👎.
| provides its own `CLAUDE.md`, `.github/instructions/*.md`, | ||
| `.claude/skills/`, or similar guidance, follow those rules wherever |
There was a problem hiding this comment.
Tell Claude to load .github instructions before relying on them
For repositories that only publish rules under .github/instructions/*.md, this sentence says those rules take precedence but does not actually make their contents available to Claude Code; the repo's own docs/idd-workflow.md:31 notes that Claude Code gets no .github/instructions/ context by default. As a result, Claude can proceed under this generic global file while silently missing the repository-specific rules it is supposed to honor unless the user or a project CLAUDE.md separately points it at them.
Useful? React with 👍 / 👎.
Summary
Adds
home/dot_claude/CLAUDE.mdso chezmoi deploys a user-globalClaude Code memory file at
~/.claude/CLAUDE.md, bringing ClaudeCode to parity with the already-deployed Copilot CLI and Codex CLI
user-global files.
The new file preserves the same five sections — repository-precedence
preamble, Conversation, Commit rules (with the full P/C/A/U signing
fallback ladder), Coding standards, and Guardrails — and adds a
clarifying note that distinguishes this static file from Claude
Code's per-project auto-memory at
~/.claude/projects/. Wordinguses "continue autonomously / pause to ask" rather than the Copilot
product-specific "Agent mode" / "Plan mode" terms.
Closes #132
Roadmap #130
Test plan
npx markdownlint-cli2 "home/dot_claude/CLAUDE.md"— 0 errorsnpx cspell home/dot_claude/CLAUDE.md— 0 issuestests/bash/helpers/bats-core/bin/bats tests/bash/— 212/212pwsh -c "Invoke-Pester tests/powershell/ -Output Detailed"— 182 passed, 0 failed, 33 skippedSigning path
GPG attempt 1 (category P pinentry —
PINENTRY_LAUNCHEDthentimeout). Category (P) prohibits the gpg-agent restart, so routed
directly to the project-blessed
git commit-sshalias (attempt 2).Out-of-scope
feat(gemini), docs(ai-strategy): document the user-global instructions layer #134docs(ai-strategy)Summary by CodeRabbit