Personal configuration for Claude Code: agent guidelines, slash commands, subagents, language-specific skills, plugins, a Zig statusline, and a settings baseline. Designed to be usable as a standalone repo or as a submodule of a larger dotfiles tree.
Clone the repo anywhere, then run the installer to symlink runtime assets into ~/.claude/:
git clone https://github.com/alleneubank/claude-code.git ~/code/claude-code
cd ~/code/claude-code
./install.sh # apply symlinks
./install.sh --check # report drift without changing anythingThe installer is idempotent. It links:
CLAUDE.md→~/.claude/CLAUDE.md(agent guidelines)commands/→~/.claude/commands/(slash commands)agents/→~/.claude/agents/(subagents).claude/skills/→~/.claude/skills/(best-practices skills)codex.json→~/.claude/codex.json(Codex CLI config for thecodex-reviewerplugin)
Settings, statusline binary, and plugins are opt-in — see the sections below.
claude-code/
├── CLAUDE.md # Agent guidelines (linked into ~/.claude/CLAUDE.md)
├── codex.json # Codex CLI defaults (linked into ~/.claude/codex.json)
├── install.sh # Idempotent symlink installer
├── commands/ # Slash commands
├── agents/ # Subagents
├── .claude/skills/ # Best-practices skills (auto-load by file context)
├── .claude-plugin/ # Marketplace manifest for the bundled plugins
├── plugins/ # Source for plugins published via marketplace.json
│ ├── codex-reviewer/ # Codex CLI review gate
│ └── ralph-reviewed/ # Iterative loop with Codex review
├── codex-overrides/skills/ # Codex-only skill overrides applied during sync
├── settings/settings.json # Settings baseline (copy or merge into ~/.claude/settings.json)
├── statusline/ # Zig statusline (build separately, see below)
├── hooks/direnv-bash-env # BASH_ENV shim that loads direnv on subshell cd
├── scripts/ # Usage tracking, codex sync, plugin version checks
└── analytics/ # Submodule: claude-code-analytics (transcript analyzer)
Invoked with /<name> in Claude Code. Sources live in commands/.
| Command | Description |
|---|---|
/commit |
Stage, draft, and create a conventional git commit from the current diff |
/fix-issue <id> |
Find and fix an issue end-to-end with tests and a PR description |
/greenline |
Tilt bootstrap then iterative e2e baseline improvement with categorized fixes |
/handoff |
Generate a self-contained handoff prompt for another agent (writes to ~/.handoffs/) |
/rewrite-history |
Rewrite the current branch with a clean narrative commit history |
/specout |
Interview-driven workflow to fill gaps in a SPEC.md |
/triage |
Interactive Linear issue triage with codebase verification |
Custom subagents in agents/. Claude Code delegates automatically when their description matches the task.
| Agent | Purpose |
|---|---|
code-reviewer |
Reviews changes for quality, security, and project conventions |
debugger |
Investigates failures through root cause analysis |
refactorer |
Restructures code with clean breaks and complete migrations |
test-writer |
Writes tests that verify correctness without gaming assertions |
Best-practices skills in .claude/skills/ are auto-loaded when the file context matches their triggers. The full set:
| Skill | Use when |
|---|---|
atlas-best-practices |
Editing atlas.hcl, schema HCL/SQL, or planning Atlas migrations |
axe-ios-simulator |
Driving the iOS Simulator via AXe (screenshots, accessibility, automation) |
canton-network-repos |
Working with Canton Network participants, Daml, or Splice |
e2e |
Running, debugging, or fixing e2e tests |
electrobun-best-practices |
Building Electrobun desktop apps |
git-best-practices |
Commits, branches, PRs, rewriting history |
git-rebase-sync |
Rebasing a feature branch onto its base |
git-worktree-tidy |
Pruning stale local branches and worktrees |
go-best-practices |
Reading or writing .go files |
improve |
Surfacing concrete improvements after a task |
nix-best-practices |
Editing flakes, overlays, shell.nix, flake.nix |
op-cli |
Reading secrets from 1Password via op |
orbstack-best-practices |
OrbStack Linux VMs and Docker on macOS |
playwright-best-practices |
Writing or modifying Playwright tests |
python-best-practices |
Reading or writing Python files |
react-best-practices |
Reading or writing React components |
spec-best-practices |
Creating, reviewing, or updating SPEC.md |
tamagui-best-practices |
Working in Tamagui projects |
testing-best-practices |
Designing tests and planning test strategy |
tilt |
Reading Tilt status, logs, working with Tiltfiles |
tiltup |
Bootstrapping Tilt to a healthy state |
typescript-best-practices |
Reading or writing TypeScript / JavaScript files |
web-fetch |
Fetching web content as clean markdown |
zig-best-practices |
Reading or writing Zig files |
zmx |
Managing long-lived dev processes via zmx |
This repo also doubles as a Claude Code plugin marketplace via .claude-plugin/marketplace.json. Two plugins ship from it:
| Plugin | Description |
|---|---|
ralph-reviewed |
Iterative Ralph loop with a Codex CLI review gate at completion |
codex-reviewer |
Standalone Codex-powered code review gate |
# Inside Claude Code:
/plugin marketplace add alleneubank/claude-code
/plugin install ralph-reviewed@0xbigboss-plugins
/plugin install codex-reviewer@0xbigboss-pluginsOr install from a local checkout:
/plugin marketplace add ~/code/claude-codeBoth plugins read ~/.claude/codex.json for sandbox/approval/timeout settings — install.sh puts a default copy there. See plugins/ralph-reviewed/README.md for the full schema.
settings/settings.json is an opinionated baseline you can adopt as-is or use as a reference:
permissions.allowpre-approves common read-only and safe-write Bash patterns (git, npm/bun/yarn, zig, go, tilt, kubectl, docker, gh) plus a few skills.extraKnownMarketplacesdeclares plugin marketplaces;enabledPluginscontrols which are turned on.statusLine.commandinvokes the Zig statusline binary (see below).env.BASH_ENVpoints athooks/direnv-bash-envso subshells reload direnv oncd.
This file ships with author-specific marketplace pointers (e.g. private Send/Canton repos) and a hard-coded BASH_ENV path. If you adopt it, edit those fields to match your machine. The simplest path is to copy it once and treat ~/.claude/settings.json as yours:
cp settings/settings.json ~/.claude/settings.jsonThe author personally generates ~/.claude/settings.json via a private merge helper in the surrounding dotfiles tree (baseline + ~/.claude/settings.local.json overrides). That helper is not required to use this repo — direct copy works fine.
A small Zig statusline lives in statusline/. It reads JSON on stdin and prints one formatted status line.
cd statusline
zig build -Doptimize=ReleaseFast
# binary lands at statusline/zig-out/bin/statuslinePoint Claude Code at it by setting statusLine.command in ~/.claude/settings.json (the baseline already does this). Minimum Zig: 0.15.1. See statusline/CLAUDE.md and statusline/SPEC.md for build, runtime contract, and design notes.
scripts/ contains optional utilities:
| Script | Purpose |
|---|---|
setup-usage-tracking.py |
Writes hook overrides into ~/.claude/settings.local.json to log every session/tool/command |
usage-tracker.py |
The hook handler that records events to SQLite + JSONL |
analyze-usage.py |
Summaries, time-windowed reports, exports |
usage-dashboard.py |
Live terminal dashboard over the SQLite store |
sync-codex.sh |
Mirrors commands/ + .claude/skills/ into ~/.codex/ (prompts + skills), applying codex-overrides/ on top |
check-plugin-versions.sh |
Pre-commit guardrail: plugin source changes must bump plugin.json and marketplace.json versions in lockstep |
install-symlinks.sh |
Older partial symlinker (kept for compatibility; install.sh is the canonical entrypoint) |
See scripts/README.md for the usage-tracking specifics.
If you also use the Codex CLI and want the same skills/commands available there:
scripts/sync-codex.sh --check # report drift (exit 0 clean, 2 drift, 1 error)
scripts/sync-codex.sh # applyCodex skill resolution order during sync:
- User skills from
.claude/skills/ - Plugin skills (with selective drops per
scripts/sync-codex.skill-policy.tsv) - Codex-only overrides from
codex-overrides/skills/(win on name collision)
analytics/ is a submodule that analyzes Claude Code transcripts (skill usage, token consumption, tool patterns).
git submodule update --init analytics
cd analytics && uv sync
uv run cc-analytics skills- Shared agent guidelines live in
CLAUDE.mdat the repo root. The installer links this into~/.claude/CLAUDE.md. - Personal local notes belong in
~/.claude/CLAUDE.local.md(or this repo'sCLAUDE.local.md, which is gitignored). Do not move local-only content into the trackedCLAUDE.md— it is meant to be shareable.
The author keeps this repo as a submodule of a private dotfiles tree. When present, that tree's codex/codex.json is preferred by install.sh over the in-repo sample, and a private claude-bootstrap / claude-settings-merge pair manages additional symlinks and the settings merge. Neither is required to use this repo standalone — everything in this README assumes no parent tree.
Allen Eubank (@alleneubank)
Licensed under the Apache License, Version 2.0. See LICENSE.