hironow@mac ~/dotfiles ❯ cat README

~/dotfiles

A reproducible developer environment built on Zsh, mise, just, and uv that also runs a solo operator's agent fleet: one hub-and-spoke instruction set for five agent CLIs, 141 declared skills, and a complete local-dev stack with datastore and SaaS emulators, OpenTelemetry, and stable https://*.localhost routing. Agents build, gates verify, a human approves.

# runs on macOS, Linux, WSL, and native Windows. MIT. revised 2026-09-07 by hironow

hironow@mac ~/dotfiles ❯ bash -c "$(curl -fsSL https://raw.githubusercontent.com/hironow/dotfiles/main/install.sh)"

# macOS, Linux, WSL: Homebrew or apt, then mise pins every tool. Already cloned? just install, or just deploy to relink this host.

PS C:\> irm https://raw.githubusercontent.com/hironow/dotfiles/main/bootstrap.ps1 | iex

# native Windows: scoop, git, just, mise, then the same deploy. Idempotent; safe to run again.

hironow@mac ~/dotfiles ❯ mise ls

toolkindnotes
zshshellSheldon plugins, Starship prompt
miseruntimeone config.toml pins the same versions on every machine
justrunnerthe only entrypoint: 141 recipes in 20 groups
uvpythonpackages and venvs, resolved through a malware-scanning mirror
bunnodethe only Node package manager; npm, yarn, and pnpm are blocked by a hook
prekgit hookformat, lint, and semgrep gates before every commit
ruff, semgreplintguardrail rules with co-located fixtures, self-tested in CI
agent CLIsagentsclaude, codex, gemini (antigravity), copilot, pi, pinned like any other tool
fzf, ghosttyterminalfuzzy everything, GPU-accelerated terminal

hironow@mac ~/dotfiles ❯ just emu-start && just tel-up && portless proxy start

stackserviceswhat comes up
emulator4the GCP core by default: Firebase, Spanner with pgAdapter, Postgres
emu-up-full13plus Bigtable, Neo4j, Qdrant, Elasticsearch, MLflow, and the A2A and MCP inspectors
telemetry5otel-collector into Tempo, Loki, Prometheus, and Grafana
emulate9GitHub, Google, Slack, Apple, Microsoft, Stripe, Clerk, Okta, Resend on :4100 to :4108
portless20every HTTP UI at https://<name>.localhost behind a trusted local CA

# everything is vendored and version-pinned; the dev container and CI run the same stack

hironow@mac ~/dotfiles ❯ just sync-agents all && just skills-place

instructionsone base, one Claude overlay, 14 on-demand spokes, 4 hooks, distributed to 7 agent homes
skills141 declared in one lock file; 44 self-authored in hironow/skills, each with its provenance and upstream credit; homes link into one store
pluginsautodesign, autoresearch, autoreview, grilling
doctrineTDD (red, green, refactor), Tidy First, Conventional Commits, semgrep guardrails, 43 ADRs
gatesClaude Code hooks, prek, and CI hold the rules whatever an agent decides

hironow@mac ~/dotfiles ❯ grep GRIT ROOT_AGENTS.md

GGutshit the scariest unknown first; say plainly what is unknown
RResiliencea failure means change the hypothesis and retry, never hand back half
IInitiativetake the obvious next step unprompted; confirm the irreversible
TTenacitydefine done concretely and grind to it, proven

hironow@mac ~/dotfiles ❯ just --list

installbootstrap the full environment on a fresh machine
deploysymlink dotfiles onto this host (idempotent)
doctorcheck the machine: PATH shadows, missing tools, rogue installs
sync-agentsdistribute instructions, hooks, and settings to the agent homes
restore-skills-lockinstall every declared skill into the store, then link the homes
cithe fast gate: format, lint, semgrep self-tests, unit tests, IaC (no docker)
testthe dev container sandbox suite (tracked files only, nothing mounted)
emu-start, tel-upbring the local stacks up; emu-stop, tel-down take them down. Register the portless aliases from docs/portless-urls.md before opening their URLs

hironow@mac ~/dotfiles ❯ just ci && just test

✅ ci (fast gate) passed

✅ 141 passed in the dev container sandbox

hironow@mac ~/dotfiles ❯

Open source under the MIT license, by hironow. github.com/hironow/dotfiles