Portable machine setup, synced via git from ~/.claude. Covers Claude Code plus VSCodium, glissa, git, Windows Terminal, and npm global tools.
The interesting homegrown pieces:
compiled-commit/: a deterministic commit workflow compiled from a prompt into a Python runner with typed outcomes, plus its own eval bench (bench/) with recorded fixtures, an LLM judge, and scored results comparing the compiled runner against historical prompt-driven commitshooks/: file-format guard and AGENTS.md sync hookshud/: custom status lineskills/code-review,skills/release: multi-lane review workflow and an evidence-gated release runner with a deterministic profile lintersetup/: one-command idempotent machine bootstrap (see below)
Vendored third-party skills are listed in NOTICE.md.
CLAUDE.md: global instructions (routing, delegation, style rules)settings.json: model, permissions, hooks, enabled pluginsskills/: homegrown skills (code-review, release) plus vendored ones (impeccable, ai-slop-cleaner, posthog-querying, posthog-error-triage; see NOTICE.md); release ships a deterministic profile linter + template, and each project repo keeps its release knowledge in a tracked.claude/release-profile.ymlagents/: custom subagents (code-reviewer, security-reviewer, structure-reviewer)commands/: custom slash commands (commit, seo-audit)hooks/: file-format guard hook (validate-file)setup/: everything beyond Claude Codevscodium/: settings, keybindings, mcp.json, extensions.txtglissa/: glissa dashboard configgit/: .gitconfigterminal/: Windows Terminal settingsnpm-globals.txt: global npm tools (glissa, postiz, codex, grok, biome, typescript, ...);@openai/codex(Codex CLI) and@xai-official/grok(Grok Build CLI) are the external advisors CLAUDE.md routing dispatches directlynpm-globals-remove.txt: retired global npm tools; apply uninstalls any of these still present so machines converge (currently oh-my-claude-sisyphus and the community grok CLI)repos.txt: project repos referenced by glissa sessions (milepost, glissa, keeplings, card-harbor); apply clones missing ones into~/Projects, fast-forwards existing ones, then installs each repo's node deps (npm/pnpm/yarn by lockfile) and heals a missing electron binaryfonts/: CommitMono (referenced by VSCodium settings)collect.ps1/apply.ps1: sync scripts (see below)
Everything else in ~/.claude (credentials, history, sessions, caches, plugins) is ignored. Plugins reinstall automatically on first launch from enabledPlugins and extraKnownMarketplaces in settings.json.
Paste into PowerShell (only prereq is winget, which ships with Windows 11). A browser window opens once for GitHub sign-in the first time git needs push access:
winget install -e --id Git.Git --accept-source-agreements --accept-package-agreements; $env:Path=[Environment]::GetEnvironmentVariable('Path','Machine')+';'+[Environment]::GetEnvironmentVariable('Path','User')+';'+$env:Path; $d="$env:USERPROFILE\.claude"; New-Item -ItemType Directory -Force $d | Out-Null; git -C $d init -b master; git -C $d config remote.origin.url https://github.com/johncwaters/claude-setup.git; git -C $d config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'; git -C $d fetch origin; git -C $d checkout -f -B master origin/master; powershell -ExecutionPolicy Bypass -File "$d\setup\install.ps1"That bootstraps git, clones this repo into ~/.claude, and runs setup/install.ps1, which pulls latest and hands off to setup/apply.ps1: config copies, then installs anything missing (git, gh, node, Claude Code, VSCodium, CommitMono fonts, project repos from repos.txt, npm globals, VSCodium extensions). Extensions sync exactly to extensions.txt; project repos clone into ~/Projects, fast-forward on reruns, and get their node deps installed. Everything is idempotent; rerun any time.
powershell -File $env:USERPROFILE\.claude\setup\install.ps1Pulls latest and applies. -SkipInstalls copies config only.
Nothing secret syncs through this repo, so log in fresh:
-
claude(first launch prompts for Anthropic login) -
gh auth login(GitHub CLI; git pushes ride on this via https) -
codex login(Codex CLI; ChatGPT sign-in, needed for Codex routing) -
grok login(Grok Build CLI; grok.com sign-in, or setXAI_API_KEY, needed for Grok research routing) -
claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user(PostHog MCP; OAuth browser login on first use) - VSCodium: re-auth MCP servers (PostHog) on first use
- Anything project-specific (.env files) stays per-repo, not here
powershell -File ~\.claude\setup\collect.ps1 grabs live VSCodium/glissa/git/terminal config into the repo, then add/commit/push from ~/.claude. Claude Code files (CLAUDE.md, skills, etc.) live in the repo directly; no collect step needed for them.