chore(.gitignore): ignore .claude/settings.local.json (per-machine Claude Code overrides)#53
Merged
Conversation
Per-machine Claude Code permission overrides — created locally when a Claude Code session is granted machine-specific permissions. The maintainer's global ignore already covers this pattern, but adding the per-repo rule means other Claude Code users who clone the repo won't see it as untracked either. CHANGELOG: bullet under Unreleased / Changed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
cmeans
reviewed
Apr 29, 2026
cmeans
left a comment
Owner
There was a problem hiding this comment.
QA round 1 — PASS (no findings)
Tiny mirror of PR #52: .gitignore (+3) + CHANGELOG.md (+2). Diff scope matches the PR body exactly — no other files touched.
Verifications
git check-ignore -v .claude/settings.local.json→.gitignore:23:.claude/settings.local.json .claude/settings.local.json✓- Precision check:
git check-ignore .claude/settings.json→ exit 1 (no match). The rule is anchored on the literal.local.jsonfilename so a future shared.claude/settings.json(project-scoped) would not be hidden by accident. - Diff scope:
git diff --stat origin/main..HEAD→.gitignore | 3 +++ / CHANGELOG.md | 2 ++ / 2 files changed, 5 insertions(+)— exactly matches the PR body's "no unrelated changes" claim. .gitignorestyle: rule sits in its own commented block (# Per-machine Claude Code permission overrides) below PR #52's.deploy/block, mirroring that PR's structure cleanly.CHANGELOG.md: second bullet under the existing## [Unreleased]→### Changedblock. KaC ordering preserved (single### Changedsection). Bold-filename + prose-body shape matches PR #52's bullet and the house style of recent entries.Internal-only; no user-facing behavior change.framing kept consistent.uv run pytest --cov --cov-report=xml→ 79/79 pass at 100% coverage (Required test coverage of 100.0% reached)uv run ruff check src/ tests/→ All checks passeduv run ruff format --check src/ tests/→ 11 files already formatteduv run mypy src/pypi_winnow_downloads/→ Success: no issues found in 5 source files- CI: 9 pass / 2 expected-skip (
changelog,on-unlabel) / 1 pending QA Gate
Labels: Ready for QA → QA Active → Ready for QA Signoff. Awaiting maintainer QA Approved.
Owner
|
Audit trail: applying Ready for QA Signoff — diff scope matches PR body, .gitignore + CHANGELOG only, all four verification commands clean, CI fully green, no findings. Workflow: |
This was referenced Apr 29, 2026
cmeans-claude-dev Bot
added a commit
that referenced
this pull request
Apr 30, 2026
Bumps version 0.2.0 → 0.3.0 and promotes the [Unreleased] section to [0.3.0] - 2026-04-29. One feature PR plus three small chore PRs land in this release; full bullets in CHANGELOG.md. Minor bump (rather than patch): run_pypinfo()'s return type changed from dict[str, int] to a TypedDict carrying both by_installer and by_system aggregates in #57. The feature surface is also new (3 new badge files per package per window: linux / macos / windows). Shipping: - feat(collector): per-OS download breakdown badges (#57, d7688ce) - ci: weekly uv lock --upgrade refresh cron (#54, 3ed03b9) - chore(deps): refresh uv.lock transitive pins (#55, 92ec030) - chore(.gitignore): private operator tooling (#52, 5bae606) - chore(.gitignore): Claude Code permission overrides (#53, 2bd764a)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
.claude/settings.local.jsonto.gitignore— Claude Code's per-machine permission overrides file.Why
When a Claude Code session is granted machine-specific permissions (e.g., the project-scoped allow-list for read-only
ssh holodeck pct exec 112 ...commands added 2026-04-27 so future sessions canjournalctl/tail/catCaddy logs without prompts), Claude Code writes them to.claude/settings.local.json. That file is local to the maintainer's machine — other contributors will set up their own.The maintainer's global
~/.config/git/ignorealready covers**/.claude/settings.local.json, so the file has never appeared in the maintainer'sgit status. But anyone else cloning this repo who uses Claude Code without that global rule WOULD see it as untracked. Adding the per-repo rule covers them too — the repo is self-contained forgit statuscleanliness.What's in the diff
.gitignore(3 lines added):CHANGELOG.md(2 lines — new bullet under existing## [Unreleased]→### Changed).The new rule sits in its own commented section after the
.deploy/block from PR #52, mirroring that PR's structure.Test plan
git check-ignore -v .claude/settings.local.jsonreports the per-repo rule matched (verified locally —.gitignore:23:.claude/settings.local.json).## [Unreleased]has a new### Changedentry describing this PR..gitignore(3 lines) +CHANGELOG.md(2 lines).History
This change was carried as
git stash@{0}from a stalefeat/batched-bigquery-querybranch. Stash was applied by intent, not viagit stash apply(which would have conflicted with PR #52's.deploy/block). Stash will be dropped post-merge.🤖 Generated with Claude Code