~ / rigs / ecly / dotfiles

ecly/dotfiles

My dotfiles and scripts for macOS+yabai and Arch+i3-gaps

↗ GitHub ★ 47 MIT updated 1mo ago personal setup Claude CodeCodex
share on X
ARCHETYPE
Automator
Hooks on every lifecycle event: format, lint, notify, log.
CONTEXT TAX · EVERY TURN
~5.5k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
2/5
No YOLO mode · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
$ claude mcp add --transport http openaiDeveloperDocs https://developers.openai.com/mcp
$ npx degit ecly/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.

$ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
$ claude mcp add --transport http openaiDeveloperDocs https://developers.openai.com/mcp

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 *)"
    ]
  }
}

MCP servers (2)

serversourceest. tokens
Sentry remote · remote 4.5k
OpenAI Developer Docs · "openaiDeveloperDocs" remote · remote 1.0k

Hooks (12)

eventmatcherruns
SessionStart*~/.claude/hooks/peon-ping/peon.sh
SessionStart*~/.claude/hooks/tmux-busy.sh off
SessionEnd*~/.claude/hooks/tmux-busy.sh off
UserPromptSubmit*~/.claude/hooks/peon-ping/peon.sh
UserPromptSubmit*~/.claude/hooks/tmux-busy.sh on
Stop.*~/.claude/hooks/tmux-bell.sh
Stop.*~/.claude/hooks/tmux-busy.sh off
Stop*~/.claude/hooks/peon-ping/peon.sh
StopFailure*~/.claude/hooks/tmux-busy.sh off
Notification.*~/.claude/hooks/tmux-bell.sh
Notification*~/.claude/hooks/peon-ping/peon.sh
PermissionRequest*~/.claude/hooks/peon-ping/peon.sh

Plugins (2)

context7@claude-plugins-officialcode-simplifier@claude-plugins-official

Permissions

deny (0)
—
ask (0)
—
allow (18)
WebSearch
WebFetch
Bash(trunk fmt:*)
Bash(trunk check:*)
Bash(poetry run ruff:*)
Bash(poetry run mypy:*)
Bash(uv run ruff:*)
Bash(uv run mypy:*)
Bash(make proto-gen:*)
Bash(python -m py_compile:*)
Bash(grep:*)
Bash(rg:*)
Bash(python -m poetry:*)
Bash(git status:*)
Bash(git diff:*)
Bash(git log:*)
Bash(git branch:*)
Bash(git show:*)

Similar rigs

copied ✓