~ / rigs / kdeldycke / dotfiles

kdeldycke/dotfiles

🍎 macOS dotfiles for Python developers.

↗ GitHub ★ 173 bsd-2-clause updated 8d ago personal setup Claude CodeCodex Claude plugin
share on X
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
CONTEXT TAX · EVERY TURN
~27.6k tokens
Context hog · median rig: 2.3k · breakdown
GUARDRAILS
2/5
Blocks destructive commands · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ npx degit kdeldycke/dotfiles/dotfiles/.claude ./rig-dotfiles  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/agent-config-self-tune .claude/skills/agent-config-self-tune
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/audit-repo-issues .claude/skills/audit-repo-issues
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/av-false-positive .claude/skills/av-false-positive
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/awesome-triage .claude/skills/awesome-triage
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/babysit-ci .claude/skills/babysit-ci
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/benchmark-update .claude/skills/benchmark-update
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/brand-assets .claude/skills/brand-assets
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/file-bug-report .claude/skills/file-bug-report
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/fill-web-form .claude/skills/fill-web-form
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/github-housekeeping .claude/skills/github-housekeeping
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/pr-triage .claude/skills/pr-triage
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/probe-workflow .claude/skills/probe-workflow
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/rename-with-dates .claude/skills/rename-with-dates
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-audit .claude/skills/repomatic-audit
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-changelog .claude/skills/repomatic-changelog
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-deps .claude/skills/repomatic-deps
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-init .claude/skills/repomatic-init
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-ship .claude/skills/repomatic-ship
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-test-matrix .claude/skills/repomatic-test-matrix
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-topics .claude/skills/repomatic-topics
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/repomatic-upgrade .claude/skills/repomatic-upgrade
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/session-title .claude/skills/session-title
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/sphinx-docs-sync .claude/skills/sphinx-docs-sync
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/translation-sync .claude/skills/translation-sync
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/upstream-audit .claude/skills/upstream-audit
$ npx degit kdeldycke/dotfiles/dotfiles/.agents/skills/wrapup-session .claude/skills/wrapup-session
$ curl -fsSL --create-dirs -o .claude/agents/grunt-qa.md https://raw.githubusercontent.com/kdeldycke/dotfiles/main/dotfiles/.claude/agents/grunt-qa.md
$ curl -fsSL --create-dirs -o .claude/agents/qa-engineer.md https://raw.githubusercontent.com/kdeldycke/dotfiles/main/dotfiles/.claude/agents/qa-engineer.md
$ curl -fsSL --create-dirs -o .claude/agents/sphinx-docs.md https://raw.githubusercontent.com/kdeldycke/dotfiles/main/dotfiles/.claude/agents/sphinx-docs.md

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "permissions": {
    "deny": [
      "Bash(rm *)",
      "Bash(sudo *)",
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(git push --force *)",
      "Bash(git reset --hard *)",
      "Bash(git clean -fd *)",
      "Bash(chmod *)",
      "Bash(chown *)",
      "Bash(gh pr merge *)",
      "Bash(gh pr close *)",
      "Bash(gh issue close *)",
      "Bash(gh issue delete *)",
      "Bash(gh repo delete *)",
      "Bash(gh release delete *)",
      "Bash(cd *)"
    ],
    "ask": [
      "Bash(gh issue comment *)",
      "Bash(gh issue create *)",
      "Bash(gh pr comment *)",
      "Bash(gh pr create *)",
      "Bash(gh pr review *)"
    ]
  },
  "sandbox": {
    "enabled": true
  }
}

Skills (26)

Subagents (3)

grunt-qa
model: sonnet
Hands-on QA worker that enforces CLAUDE.md. Fixes obvious issues, enforces style and ordering, and reports deeper findings to qa-engineer.
qa-engineer
model: opus
Senior QA engineer. Handles deep analysis, new automation and architectural decisions. Questions verbose prose and deduplicates content across CLAUDE.md and agent definitions.
sphinx-docs
model: sonnet
Sphinx documentation steward. Keeps docs/ in sync with the code. Prefers live-rendering directives over captured snapshots, and enforces MyST and click-extra conventions.

Hooks (4)

eventmatcherruns
SessionEnd*~/code/dotfiles/dotfiles/.claude/hooks/wrapup-session-nudge.py
SessionStart*~/code/dotfiles/dotfiles/.claude/hooks/session-title.py sessionstart
Stop*~/code/dotfiles/dotfiles/.claude/hooks/session-title.py hook
UserPromptSubmit*~/code/dotfiles/dotfiles/.claude/hooks/session-title.py userpromptsubmit

Plugins (1)

pyright-lsp@claude-plugins-official

Permissions

deny (16)
Bash(rm *)
Bash(sudo *)
Bash(curl *)
Bash(wget *)
Bash(git push --force *)
Bash(git reset --hard *)
Bash(git clean -fd *)
Bash(chmod *)
Bash(chown *)
Bash(gh pr merge *)
Bash(gh pr close *)
Bash(gh issue close *)
Bash(gh issue delete *)
Bash(gh repo delete *)
Bash(gh release delete *)
Bash(cd *)
ask (5)
Bash(gh issue comment *)
Bash(gh issue create *)
Bash(gh pr comment *)
Bash(gh pr create *)
Bash(gh pr review *)
allow (60)
Edit(**)
Bash(actionlint:*)
Bash(alias:*)
Bash(bash:*)
Bash(cat:*)
Bash(command:*)
Bash(convert:*)
Bash(cp:*)
Bash(echo:*)
Bash(env:*)
Bash(file:*)
Bash(find:*)
Bash(gh *)
Bash(git *)
Bash(grep:*)
Bash(gs:*)
Bash(head:*)
Bash(exiftool:*)
Bash(ls:*)
Bash(magick:*)
Bash(md5:*)
Bash(mdfind:*)
Bash(mdls:*)
Bash(mkdir:*)
Bash(mv:*)
Bash(pdftotext:*)
Bash(qpdf:*)
Bash(pip:*)
Bash(python:*)
Bash(python3:*)
Bash(rg:*)
Bash(ruff:*)
Bash(sort:*)
Bash(sphinx-build:*)
Bash(tail:*)
Bash(typos:*)
Bash(unzip:*)
Bash(uv:*)
Bash(uvx:*)
Bash(wc:*)
Bash(xargs:*)
Bash(xxd:*)
Read(//tmp/**)
WebSearch
WebFetch(domain:*.blob.core.windows.net)
WebFetch(domain:api.github.com)
WebFetch(domain:docs.astral.sh)
WebFetch(domain:docs.github.com)
WebFetch(domain:docs.python.org)
WebFetch(domain:en.wikipedia.org)
WebFetch(domain:gist.github.com)
WebFetch(domain:github.com)
WebFetch(domain:kdeldycke.github.io)
WebFetch(domain:myst-parser.readthedocs.io)
WebFetch(domain:news.ycombinator.com)
WebFetch(domain:nuitka.net)
WebFetch(domain:packaging.python.org)
WebFetch(domain:peps.python.org)
WebFetch(domain:pypi.org)
WebFetch(domain:raw.githubusercontent.com)

Similar rigs

copied ✓