Built agent home for Agent Norton (@nonreagent) on exe.dev VMs — a curated
subset of nonrational/dotfiles plus
an agent-identity overlay.
allowlist(hand-edited — the selection layer) names which upstream paths the agent gets;build.shreads each path's target + OS condition fromnonrational/dotfiles'smanifest(the placement layer) and materializes it intohome/.build.shclonesnonrational/dotfilesfresh from GitHub, copies that subset into the committedhome/tree, and applies the@nonreagentoverlay (git identity +ghauth, a macOS-freeCLAUDE.md, path-noise silencing, plusoverlay/append/*blocks appended verbatim to same-named vendored files — shell env, tmux). Agent-only skills that don't exist upstream live inoverlay/skills/<name>/and are vendored intohome/.agents/skills/; a name that also exists upstream fails the build, so the overlay copy gets deleted rather than silently shadowing it. It runs anywhere. It also emits this repo's ownmanifest(generated — do not edit; one row perhome/file) and vendorsdeploy.sh, the shared upstream placement engine.install.sh(run on the VM) is a thin pre-flight overdeploy.sh apply, which symlinks every file underhome/into$HOME.~/.claudestays a real directory, so Claude's runtime state never enters the repo, and.config//.codex/are never touched.
./build.sh # clones nonrational/dotfiles + overlay -> home/
./test/run.sh # idempotency, secret hygiene, identity, base preservation
git add home && git commit && git push
By default build.sh builds from the pushed state of nonrational/dotfiles, so
it reflects what's on GitHub — not uncommitted local edits. To build a local
checkout (the mac edit→build loop), point it at one:
DOTFILES=~/.dotfiles ./build.sh # build uncommitted edits
SOURCE_REPO=<url> ./build.sh overrides which repo gets cloned.
git clone https://github.com/nonreagent/dotfiles ~/.dotfiles
cd ~/.dotfiles
./install.sh
gh auth login # as @nonreagent
~/.claude/sync-plugins.sh # install enabled Claude plugins
./deploy.sh audit reports drift (missing links, edited-in-place files) against
the manifest at any time.
Autonomously react to PR reviews on @nonreagent's open PRs. One-time setup on the VM:
~/bin/setup-review-watcher # creates ~/.review-watcher, installs + enables the systemd unit
Observe: journalctl -u review-watcher -f · attach reactions: tmux -S ~/.review-watcher/tmux.sock attach.
Pause: touch ~/.review-watcher/PAUSED or sudo systemctl stop review-watcher.
Design + plan: docs/superpowers/specs/2026-07-08-review-watcher-design.md, docs/superpowers/plans/2026-07-08-review-watcher.md.
- Source edits: push to
nonrational/dotfiles, then./build.shhere picks them up. To preview uncommitted edits,DOTFILES=~/.dotfiles ./build.sh. - VM:
git pull(symlinks make it live immediately). Re-run./install.shwhen files were added, moved, or removed — it links new files viadeploy.sh applyand prunes symlinks left dangling by a move/removal../deploy.sh auditconfirms no drift at any time.