~ / rigs / robsonscheffer / dotfiles

robsonscheffer/dotfiles

Personal dotfiles managed with chezmoi. Includes zsh, Neovim, Ghostty, Claude Code skills & hooks, oh-my-posh, and mise configurations for macOS.

↗ GitHub ★ 0 no license updated 4d ago personal setup Claude CodeCodex
share on X
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
CONTEXT TAX · EVERY TURN
~4.0k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ npx degit robsonscheffer/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 robsonscheffer/dotfiles/.claude/skills/rs-auto-journal .claude/skills/rs-auto-journal
$ npx degit robsonscheffer/dotfiles/.claude/skills/update .claude/skills/update
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/draft-diff .claude/skills/draft-diff
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/library .claude/skills/library
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-address-pr-feedback .claude/skills/rs-address-pr-feedback
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-adr .claude/skills/rs-adr
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-agent-ssh-key .claude/skills/rs-agent-ssh-key
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-agents-local-md .claude/skills/rs-agents-local-md
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-agents-md .claude/skills/rs-agents-md
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-claude-cost .claude/skills/rs-claude-cost
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-cmux .claude/skills/rs-cmux
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-commit .claude/skills/rs-commit
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-copy .claude/skills/rs-copy
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-disk-triage .claude/skills/rs-disk-triage
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-doc .claude/skills/rs-doc
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-epic-burndown .claude/skills/rs-epic-burndown
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-epic-worktree .claude/skills/rs-epic-worktree
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-gitingest .claude/skills/rs-gitingest
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-handoff .claude/skills/rs-handoff
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-hk .claude/skills/rs-hk
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-incident-narrative .claude/skills/rs-incident-narrative
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-ink .claude/skills/rs-ink
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-mate-doc .claude/skills/rs-mate-doc
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-notion-save .claude/skills/rs-notion-save
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-review-lenses .claude/skills/rs-review-lenses
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-review-pr .claude/skills/rs-review-pr
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-scratch-worktree .claude/skills/rs-scratch-worktree
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-search-conversations .claude/skills/rs-search-conversations
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-skill-audit .claude/skills/rs-skill-audit
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-stealing-from-tools .claude/skills/rs-stealing-from-tools
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-task-pipeline .claude/skills/rs-task-pipeline
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-usage .claude/skills/rs-usage
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-voice .claude/skills/rs-voice
$ npx degit robsonscheffer/dotfiles/home/dot_claude/skills/rs-walk .claude/skills/rs-walk
$ curl -fsSL --create-dirs -o .claude/agents/shell-wizard.md https://raw.githubusercontent.com/robsonscheffer/dotfiles/main/home/dot_claude/agents/shell-wizard.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(git clean:*)",
      "Bash(git push --force:*)",
      "Bash(git push -f:*)",
      "Bash(git reset --hard:*)",
      "Bash(rm -fr:*)",
      "Bash(rm -rf:*)",
      "Bash(sudo:*)",
      "Read(./**/.nx/**)",
      "Read(./**/build/**)",
      "Read(./**/dist/**)",
      "Read(./**/node_modules/**)",
      "Read(./dist/**)",
      "Read(./node_modules/**)"
    ],
    "ask": [
      "Bash(rm *)",
      "Bash(jj git push *)",
      "Bash(git push *)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write|MultiEdit|Read|Bash",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/encourage-source-dir.sh"
          }
        ]
      },
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "ruby ~/.claude/hooks/approve-safe-commands/hook.rb"
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/enforce-pr-template/hook.sh \"$TOOL_INPUT\""
          },
          {
            "type": "command",
            "command": "python3 ~/.claude/hooks/commit-msg-guard/hook.py"
          },
          {
            "type": "command",
            "command": "python3 ~/.claude/hooks/push-guard/hook.py"
          }
        ]
      }
    ]
  }
}

Skills (34)

Subagents (1)

shell-wizardWrite clean, safe, readable shell scripts following best practices. Use proactively whenever tasks involve creating or modifying shell scripts, bash scripts, or installation scripts.

Hooks (10)

eventmatcherruns
PreToolUseEdit|Write|MultiEdit|Read|Bash.claude/hooks/encourage-source-dir.sh
Stop*.claude/hooks/stop-lint-and-test.sh
PostToolUseEdit|Write~/.claude/hooks/post-edit-lint/hook.sh "$TOOL_INPUT_FILE_PATH"
PreToolUseBashruby ~/.claude/hooks/approve-safe-commands/hook.rb
PreToolUseBash~/.claude/hooks/enforce-pr-template/hook.sh "$TOOL_INPUT"
PreToolUseBashpython3 ~/.claude/hooks/commit-msg-guard/hook.py
PreToolUseBashpython3 ~/.claude/hooks/push-guard/hook.py
SessionStart*~/.claude/hooks/worktree-setup/setup.sh
SessionStart*~/.claude/hooks/cmux-session-map.py
SessionEnd*~/.claude/hooks/cmux-session-map.py

Permissions

deny (13)
Bash(git clean:*)
Bash(git push --force:*)
Bash(git push -f:*)
Bash(git reset --hard:*)
Bash(rm -fr:*)
Bash(rm -rf:*)
Bash(sudo:*)
Read(./**/.nx/**)
Read(./**/build/**)
Read(./**/dist/**)
Read(./**/node_modules/**)
Read(./dist/**)
Read(./node_modules/**)
ask (3)
Bash(rm *)
Bash(jj git push *)
Bash(git push *)
allow (36)
Bash(bundle *)
Bash(cargo build *)
Bash(cargo check *)
Bash(cargo clippy *)
Bash(cargo fmt *)
Bash(cargo test *)
Bash(claude mcp:*)
Bash(cmux current-workspace*)
Bash(cmux identify*)
Bash(cmux list-pane-surfaces*)
Bash(cmux list-workspaces*)
Bash(cmux ping*)
Bash(cmux read-screen*)
Bash(cmux tree*)
Bash(gh api repos/*/pulls/*/comments --jq *)
Bash(gh issue view *)
Bash(gh pr checks *)
Bash(gh pr diff *)
Bash(gh pr list *)
Bash(gh pr review *)
Bash(gh pr view *)
Bash(gh repo view *)
Bash(jj *)
Bash(mise ls *)
Bash(mise ls-remote *)
Bash(node *)
Bash(npm *)
Bash(npx *)
Bash(nx *)
Bash(ruby -c *)
Bash(tmux *)
Bash(vitest *)
Read(~/.claude/**)
Skill(write-pr-description)
WebFetch(domain:docs.anthropic.com)
WebFetch(domain:github.com)

Similar rigs

copied ✓