Skip to content

fix(chezmoi): stop repo-meta leaking into $HOME via .chezmoiignore#339

Merged
laurigates merged 1 commit into
mainfrom
chore/chezmoiignore-repo-meta
Jul 22, 2026
Merged

fix(chezmoi): stop repo-meta leaking into $HOME via .chezmoiignore#339
laurigates merged 1 commit into
mainfrom
chore/chezmoiignore-repo-meta

Conversation

@laurigates

Copy link
Copy Markdown
Owner

What

Add root-anchored .chezmoiignore entries for docs/, tests/, LICENSE, DOCKER.md, and tmp/.

Why

These live at the source root for working in this repo, but with no dot_ prefix chezmoi was applying them to ~/docs, ~/tests, ~/LICENSE, ~/DOCKER.md, and ~/tmp — the footgun documented in .claude/rules/chezmoi-conventions.md ("A Non-dot_ File at the Source Root Silently Applies to $HOME"). Same category as the README.md / Dockerfile / plugins/ entries already ignored here.

Surfaced during a $HOME cleanup audit: ~/docs, ~/tests, ~/LICENSE, ~/DOCKER.md were sitting in the home directory as chezmoi-managed copies.

How

  • Root-anchor each pattern (leading /) so only the source-root copy is ignored, never a managed nested target of the same basename.
  • tmp/ is gitignored scratch (one-off notes previously dropped there, not in the public repo); chezmoi should not manage it.

Safety

  • Home targets are byte-identical to source (chezmoi diff empty for each), so removing the leaked ~/ copies loses nothing — their source of truth is this repo.
  • Verified the ignore delta is exactly docs/tests/LICENSE/DOCKER.md (+ children); no nested over-match.

Post-merge follow-up

After merge + chezmoi apply, the already-deployed ~/docs, ~/tests, ~/LICENSE, ~/DOCKER.md and the managed ~/tmp scratch files can be removed from $HOME (they will no longer be redeployed).

🤖 Generated with Claude Code

docs/, tests/, LICENSE, DOCKER.md, and tmp/ live at the source root for
working *in this repo*, but with no dot_ prefix chezmoi was applying them
to ~/docs, ~/tests, ~/LICENSE, ~/DOCKER.md, and ~/tmp — the exact footgun
documented in .claude/rules/chezmoi-conventions.md ("A Non-dot_ File at
the Source Root Silently Applies to $HOME"). Same category as the
README.md / Dockerfile / plugins/ entries already ignored here.

Root-anchor each pattern so only the source-root copy is ignored, never a
managed nested target of the same basename. tmp/ is gitignored scratch
(one-off notes previously dropped there); chezmoi should not manage it.

Home targets are byte-identical to source (chezmoi diff empty), so
removing the leaked ~/ copies loses nothing — their source of truth is
this repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Broken Links Detected

Summary

Status Count
🔍 Total 170
✅ Successful 160
⏳ Timeouts 0
🔀 Redirected 0
👻 Excluded 9
❓ Unknown 0
🚫 Errors 1

Errors per input

Errors in exact_dot_claude/docs/prds/daily-catchup.PRD.md


Please fix the broken links before merging.

@laurigates
laurigates merged commit 7e9cdc1 into main Jul 22, 2026
7 of 8 checks passed
@laurigates
laurigates deleted the chore/chezmoiignore-repo-meta branch July 22, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant