~ / rigs / craveytrain / dotfiles

craveytrain/dotfiles

My very own dotfiles

↗ GitHub ★ 7 no license updated 3d ago personal setup Claude CodeCodex
share on X
ARCHETYPE
Minimalist
Lean instructions, few tools, tiny context tax. Lets the model think.
CONTEXT TAX · EVERY TURN
~435 tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
1/5
No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit craveytrain/dotfiles/modules/claude/files/.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.

This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(**/.env)",
      "Read(~/.ssh/**)",
      "Bash(rm -rf *)",
      "Read(**/*.pem)",
      "Bash(rm -rf /)",
      "Bash(git push --force:*)",
      "Bash(sudo *)",
      "Read(.env)",
      "Bash(rm -rf /*)",
      "Read(./.env.*)",
      "Read(~/.aws/**)",
      "Bash(git push --force*)",
      "Bash(rm -rf:*)",
      "Read(**/*.key)",
      "Read(**/.env.*)",
      "Bash(sudo:*)",
      "Bash(git reset --hard*)",
      "Bash(git reset --hard:*)",
      "Read(.env.*)"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(git push *)",
      "Bash(git commit:*)",
      "Bash(rm *)",
      "Bash(rm:*)",
      "Bash(git rebase *)",
      "Bash(wget *)",
      "Bash(npm publish:*)",
      "Bash(git commit *)",
      "Bash(gh pr merge *)"
    ]
  }
}

Hooks (3)

eventmatcherruns
Notification*node ~/.claude/hooks/attention-notify.js
Stop*test -f ~/.claude/hooks/ai-usage-nudge.mjs && node ~/.claude/hooks/ai-usage-nudge.mjs; true
SessionEnd*test -f ~/.claude/hooks/scrub-volatile-settings.mjs && node ~/.claude/hooks/scrub-volatile-settings.mjs; true

Permissions

deny (0)
—
ask (0)
—
allow (52)
Read(~/dotfiles/**)
Read(~/.claude/**)
Read(~/.config/fish/**)
Read(//tmp/**)
Read(//private/tmp/**)
WebSearch
WebFetch(domain:code.claude.com)
WebFetch(domain:claude.ai)
WebFetch(domain:developer.mozilla.org)
WebFetch(domain:caniuse.com)
WebFetch(domain:www.w3.org)
WebFetch(domain:developers.google.com)
WebFetch(domain:figma.com)
WebFetch(domain:*.figma.com)
WebFetch(domain:zeroheight.com)
WebFetch(domain:*.zeroheight.com)
Bash(git status*)
Bash(git diff*)
Bash(git log*)
Bash(git show*)
Bash(git branch*)
Bash(git -C * status*)
Bash(git -C * diff*)
Bash(git -C * log*)
Bash(git -C * show*)
Bash(git -C * branch*)
Bash(gh pr view*)
Bash(gh pr list*)
Bash(gh pr diff*)
Bash(gh run list*)
Bash(gh run view*)
Bash(rg *)
Bash(grep *)
Bash(find *)
Bash(ls *)
Bash(wc *)
Bash(stat *)
Bash(command -v *)
Bash(cmux --help)
Bash(cmux workspace-group *)
WebFetch(domain:cmux.com)
Skill(claude-api)
mcp__claude_ai_Figma__get_design_context
mcp__claude_ai_Figma__get_metadata
mcp__claude_ai_Figma__get_screenshot
mcp__claude_ai_Asana__get_me
mcp__claude_ai_Asana__get_task
mcp__claude_ai_Asana__get_attachments
mcp__claude_ai_Asana__search_tasks
mcp__claude_ai_Slack__slack_read_channel
mcp__claude_ai_Slack__slack_read_thread
mcp__claude_ai_Slack__slack_search_channels

Similar rigs

copied ✓