~ / rigs / ryankanno / dotfiles

ryankanno/dotfiles

All my dotfiles

↗ GitHub ★ 8 no license updated today personal setup Claude Code
share on X
ARCHETYPE
Automator
Hooks on every lifecycle event: format, lint, notify, log.
CONTEXT TAX · EVERY TURN
~2.3k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Protects secrets · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit ryankanno/dotfiles/dot_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 ryankanno/dotfiles/dot_claude/skills/bootstrap-python-project .claude/skills/bootstrap-python-project
$ npx degit ryankanno/dotfiles/dot_claude/skills/diataxis-knowledge .claude/skills/diataxis-knowledge
$ npx degit ryankanno/dotfiles/dot_claude/skills/issue-to-pr .claude/skills/issue-to-pr
$ npx degit ryankanno/dotfiles/dot_claude/skills/pr-refine .claude/skills/pr-refine
$ npx degit ryankanno/dotfiles/dot_claude/skills/pr-review .claude/skills/pr-review
$ npx degit ryankanno/dotfiles/dot_claude/skills/preflight .claude/skills/preflight
$ curl -fsSL --create-dirs -o .claude/agents/diataxis-expert.md https://raw.githubusercontent.com/ryankanno/dotfiles/main/dot_claude/agents/diataxis-expert.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(chmod 777:*)",
      "Bash(chown:*)",
      "Bash(dd:*)",
      "Bash(defaults write:*)",
      "Bash(fdisk:*)",
      "Bash(gh issue comment:*)",
      "Bash(gh pr comment:*)",
      "Bash(gh pr review:*)",
      "Bash(git branch -D:*)",
      "Bash(git checkout -- .)",
      "Bash(git clean -fd:*)",
      "Bash(git clean -fx:*)",
      "Bash(git config --global:*)",
      "Bash(git push --force:*)",
      "Bash(git push -f:*)",
      "Bash(git reset --hard:*)",
      "Bash(git restore .)",
      "Bash(halt:*)",
      "Bash(killall:*)",
      "Bash(launchctl:*)",
      "Bash(mkfs:*)",
      "Bash(mysql:*)",
      "Bash(nc:*)",
      "Bash(pkill:*)",
      "Bash(poweroff:*)",
      "Bash(psql:*)",
      "Bash(reboot:*)",
      "Bash(rm -fr:*)",
      "Bash(rm -r -f:*)",
      "Bash(rm -rf:*)",
      "Bash(rm --recursive:*)",
      "Bash(shutdown:*)",
      "Bash(su:*)",
      "Bash(sudo:*)",
      "Bash(wget:*)",
      "Read(**/.aws/config)",
      "Read(**/.aws/credentials)",
      "Read(**/.config/gh/hosts.yml)",
      "Read(**/.docker/config.json)",
      "Read(**/.env.*)",
      "Read(**/.gnupg/**)",
      "Read(**/.kube/config)",
      "Read(**/.netrc)",
      "Read(**/.ssh/**)",
      "Read(**/id_ed25519)",
      "Read(**/id_rsa)",
      "Edit(**/.aws/**)",
      "Edit(**/.env*)",
      "Edit(**/.gnupg/**)",
      "Edit(**/.ssh/**)",
      "Edit(**/secrets/**)",
      "Write(**/.aws/**)",
      "Write(**/.env*)",
      "Write(**/.gnupg/**)",
      "Write(**/.ssh/**)",
      "Write(**/secrets/**)"
    ]
  }
}

Skills (6)

Subagents (1)

diataxis-expert
model: inherit
Expert documentation engineer applying the Diataxis framework for clean, structured, user-focused technical documentation. Use proactively when writing documentation, creating doc suites, reviewing ex

Hooks (4)

eventmatcherruns
Notificationidle_prompt$HOME/.claude/scripts/ntfy-notify.sh notification-idle
Notificationpermission_prompt$HOME/.claude/scripts/ntfy-notify.sh notification-permission
Stop*$HOME/.claude/scripts/ntfy-notify.sh stop
SubagentStop*$HOME/.claude/scripts/ntfy-notify.sh subagent-stop

Plugins (10)

context7@claude-plugins-officialfrontend-design@claude-plugins-officialgithub@claude-plugins-officialcode-review@claude-plugins-officialpr-review-toolkit@claude-plugins-officialpyright-lsp@claude-plugins-officialdev-browser@dev-browser-marketplaceskill-creator@claude-plugins-officialautoresearch@autoresearchlinear-cli@linear-cli

Permissions

deny (56)
Bash(chmod 777:*)
Bash(chown:*)
Bash(dd:*)
Bash(defaults write:*)
Bash(fdisk:*)
Bash(gh issue comment:*)
Bash(gh pr comment:*)
Bash(gh pr review:*)
Bash(git branch -D:*)
Bash(git checkout -- .)
Bash(git clean -fd:*)
Bash(git clean -fx:*)
Bash(git config --global:*)
Bash(git push --force:*)
Bash(git push -f:*)
Bash(git reset --hard:*)
Bash(git restore .)
Bash(halt:*)
Bash(killall:*)
Bash(launchctl:*)
Bash(mkfs:*)
Bash(mysql:*)
Bash(nc:*)
Bash(pkill:*)
Bash(poweroff:*)
Bash(psql:*)
Bash(reboot:*)
Bash(rm -fr:*)
Bash(rm -r -f:*)
Bash(rm -rf:*)
Bash(rm --recursive:*)
Bash(shutdown:*)
Bash(su:*)
Bash(sudo:*)
Bash(wget:*)
Read(**/.aws/config)
Read(**/.aws/credentials)
Read(**/.config/gh/hosts.yml)
Read(**/.docker/config.json)
Read(**/.env.*)
Read(**/.gnupg/**)
Read(**/.kube/config)
Read(**/.netrc)
Read(**/.ssh/**)
Read(**/id_ed25519)
Read(**/id_rsa)
Edit(**/.aws/**)
Edit(**/.env*)
Edit(**/.gnupg/**)
Edit(**/.ssh/**)
Edit(**/secrets/**)
Write(**/.aws/**)
Write(**/.env*)
Write(**/.gnupg/**)
Write(**/.ssh/**)
Write(**/secrets/**)
ask (0)
—
allow (77)
Bash(awk:*)
Bash(basename:*)
Bash(brew:*)
Bash(cargo:*)
Bash(cat:*)
Bash(chezmoi:*)
Bash(chmod +x:*)
Bash(cp:*)
Bash(curl https://api.github.com/*)
Bash(curl https://crates.io/*)
Bash(curl https://github.com/*)
Bash(curl https://objects.githubusercontent.com/*)
Bash(curl https://raw.githubusercontent.com/*)
Bash(curl https://registry.npmjs.org/*)
Bash(curl https://sh.rustup.rs/*)
Bash(curl https://v2.tauri.app/*)
Bash(cut:*)
Bash(date:*)
Bash(diff:*)
Bash(dirname:*)
Bash(docker:*)
Bash(echo:*)
Bash(env)
Bash(false)
Bash(fd:*)
Bash(file:*)
Bash(find:*)
Bash(gh:*)
Bash(git:*)
Bash(git config --global --get:*)
Bash(git config --global --list)
Bash(git config --global -l)
Bash(go:*)
Bash(grep:*)
Bash(head:*)
Bash(home-manager:*)
Bash(jq:*)
Bash(just:*)
Bash(ln:*)
Bash(ls:*)
Bash(make:*)
Bash(mkdir:*)
Bash(mv:*)
Bash(nix:*)
Bash(node:*)
Bash(npm:*)
Bash(npx:*)
Bash(pip:*)
Bash(pnpm:*)
Bash(printf:*)
Bash(pwd)
Bash(python:*)
Bash(python3:*)
Bash(realpath:*)
Bash(rg:*)
Bash(rm:*)
Bash(sed:*)
Bash(sort:*)
Bash(stat:*)
Bash(tail:*)

Similar rigs

copied ✓