ivuorinen/dotfiles
These are my dotfiles. There are many like 'em, but these are mine.
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
Copy this rig
# review before running: this installs third-party code
$ npx degit ivuorinen/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 ivuorinen/dotfiles/.claude/skills/adversarial-reviewer .claude/skills/adversarial-reviewer $ npx degit ivuorinen/dotfiles/.claude/skills/bats-test-scaffold .claude/skills/bats-test-scaffold $ npx degit ivuorinen/dotfiles/.claude/skills/dotbot-validate .claude/skills/dotbot-validate $ npx degit ivuorinen/dotfiles/.claude/skills/fish-validate .claude/skills/fish-validate $ npx degit ivuorinen/dotfiles/.claude/skills/graphify .claude/skills/graphify $ npx degit ivuorinen/dotfiles/.claude/skills/host-override .claude/skills/host-override $ npx degit ivuorinen/dotfiles/.claude/skills/lua-format .claude/skills/lua-format $ npx degit ivuorinen/dotfiles/.claude/skills/new-fish-function .claude/skills/new-fish-function $ npx degit ivuorinen/dotfiles/.claude/skills/new-script .claude/skills/new-script $ npx degit ivuorinen/dotfiles/.claude/skills/shell-validate .claude/skills/shell-validate $ npx degit ivuorinen/dotfiles/.claude/skills/theme-handler-scaffold .claude/skills/theme-handler-scaffold $ npx degit ivuorinen/dotfiles/.claude/skills/yaml-validate .claude/skills/yaml-validate
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/ivuorinen/dotfiles/main/.claude/agents/code-reviewer.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(curl:*)",
"Bash(wget:*)",
"WebFetch"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write|Read|MultiEdit",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-edit-block.sh"
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-rules-lint.sh"
}
]
},
{
"matcher": "Grep|Glob|NotebookEdit",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-edit-block.sh"
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-bash-route.sh"
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-graphify-nudge.sh search"
}
]
},
{
"matcher": "mcp__plugin_context-mode_context-mode__ctx_execute|mcp__plugin_context-mode_context-mode__ctx_execute_file|mcp__plugin_c",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-ctx-write-guard.sh"
}
]
},
{
"matcher": "Read|Glob",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-graphify-nudge.sh read"
}
]
}
]
}
} Skills (12)
adversarial-reviewerbats-test-scaffolddotbot-validatefish-validategraphifyhost-overridelua-formatnew-fish-functionnew-scriptshell-validatetheme-handler-scaffoldyaml-validate
Subagents (1)
| code-reviewer | Reviews shell/fish/lua changes for correctness and style |
Hooks (18)
| event | matcher | runs |
|---|---|---|
| SessionStart | * | "$CLAUDE_PROJECT_DIR"/.claude/hooks/session-start-context.sh |
| UserPromptSubmit | * | "$CLAUDE_PROJECT_DIR"/.claude/hooks/prompt-record.sh |
| PreToolUse | Edit|Write|Read|MultiEdit | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-edit-block.sh |
| PreToolUse | Edit|Write|Read|MultiEdit | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-rules-lint.sh |
| PreToolUse | Grep|Glob|NotebookEdit | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-edit-block.sh |
| PreToolUse | Bash | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-bash-route.sh |
| PreToolUse | mcp__plugin_context-mode_context-mode__ctx_execute|mcp__plugin_context-mode_context-mode__ctx_execute_file|mcp__plugin_c | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-ctx-write-guard.sh |
| PreToolUse | Bash | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-graphify-nudge.sh search |
| PreToolUse | Read|Glob | "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-graphify-nudge.sh read |
| PostToolUse | mcp__plugin_context-mode_context-mode__.* | "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-tool-context-mode-check.sh |
| PostToolUse | Edit|Write | "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-edit-format.sh |
| PostToolUse | Edit|Write | "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-edit-dotbot-validate.sh |
| PostToolUse | Edit|Write | "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-edit-config-warn.sh |
| PostToolUse | Edit|Write | "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-edit-lint.sh |
| PostToolUse | Edit|Write | "$CLAUDE_PROJECT_DIR"/.claude/hooks/async-bats.sh |
| PostToolUseFailure | * | "$CLAUDE_PROJECT_DIR"/.claude/hooks/log-failures.sh |
| Notification | idle_prompt | "$CLAUDE_PROJECT_DIR"/.claude/hooks/notify-idle.sh |
| Stop | * | "$CLAUDE_PROJECT_DIR"/.claude/hooks/stop-lint-gate.sh |
Permissions
deny (3)
Bash(curl:*)
Bash(wget:*)
WebFetch
ask (0)
—
allow (0)
—
Similar rigs
mjacobus/dotfiles
My .dotfiles
Minimalist 142 tok ·
itslab42/agentctl
Define AI coding-agent permissions once, enforce them everywhere. One .ai/ source of truth compiles to native configs for Claude Code, Codex, OpenCode, Cursor & Kiro
Minimalist 1.2k tok ·
Hocsman/Relayer
Run several AI coding agents at once, and answer their prompts from one place.
Minimalist 334 tok ·
kgroyalty/claude-config
Claude Code global config: hooks, settings, commands, skills
Pragmatist 93 tok ·