From 0e4e4c7a7a81be4332e6638de196379998eef813 Mon Sep 17 00:00:00 2001 From: Trent Blackburn Date: Wed, 26 Aug 2026 15:10:07 -0400 Subject: [PATCH] chore: Ignore Claude Code's local files, keeping the shared settings .claude/settings.local.json is per-developer and .claude/worktrees/ holds transient agent worktrees. Neither belongs in the repository, and both currently show up as untracked noise in any clone. settings.local.json is ignored today only through this machine's global git config, so every other clone still sees it. Putting it here fixes that for everyone. Ignoring the whole directory would be wrong: .claude/settings.json is deliberately tracked -- #131 added it to pre-approve the github-projects MCP server for all clones -- and gitignore does not untrack files, so a blanket entry would state an intent the repository does not follow. Ignoring the contents and re-including that one file says what is actually meant, and covers anything Claude Code adds there later. Verified: settings.json stays visible to git, settings.local.json and worktrees/ are ignored without relying on a global excludesfile, and git status is clean. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_012AKaM9i6NyMFDcJNeC34h5 --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 1a69a40..cefe171 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ Output/ tests/out/ + +# Claude Code drops per-developer settings and agent worktrees in here. settings.json is +# deliberately tracked -- it pre-approves the github-projects MCP server for every clone +# (#131) -- so ignore the directory's contents and keep that one file. +.claude/* +!.claude/settings.json