Personal dotfiles, published as reference. The repo root mirrors $HOME for
the deployed dot-entries; dev tooling (tests, CI config) stays at the root
and is not deployed. Tracking is a default-deny allowlist: nothing is
committed unless .gitignore explicitly lists it, so tokens, auth, and
runtime state can't land here by accident.
The interesting parts:
.agents/skills/go/— an implementation-orchestration pipeline: give it an idea, a GitHub issue, or a plan file, and it drives the work end-to-end to a squash-merged PR (plan + issue → isolated worktree → implement → simplify → review → resolve feedback → babysit CI → merge → persist outcome). Each stage delegates to one of the stage skills below; harness specifics (how subagents launch on pi + pi-subagents) are isolated inreferences/harness/pi.md, so supporting another harness is adding one file.- Six stage skills, each standalone-invocable and pipeline-friendly:
plan/(zero-context-executor unit plans, headless-safe),implement/(TDD to a pushed PR withcloses #N),simplify/(three read-only lenses over the branch diff),review/(persona scout panel posting resolvable PR threads, with a vendored thermo-nuclear rubric as the harsh maintainability persona),resolve-review/(central legitimacy gate, fix/reply/resolve viaghGraphQL), andbabysit/(bounded conflicts/comments/CI loop — it never merges). .agents/agents/— canonical pi-subagents agent definitions: an interactive full-capabilityimplementerthat inherits the parent model, an interactivehandsagent for bounded mechanical execution pinned to Luna xhigh, a read-only backgroundscoutpinned to Terra low, a versatile full-capabilityworkerpinned to Kimi K3 high, and an async backgroundresearchspecialist that produces primary-source-cited Markdown artifacts.install.shsymlinks them into~/.pi/agent/agents/;/gonames its pipeline roles without carrying model policy..agents/skills/project-memory/— project-agnostic durable memory backed by an Obsidian vault, with a repo-relativedocs/plans/fallback for active plans anddocs/archive/plans/for terminal outcomes..local/bin/campaign— a serial queue drain: runs the next unit of a hand-maintained campaign queue through/goin a fresh agent pane, one unit at a time, stopping on the first non-shipped outcome.
git clone https://github.com/Vzlentin/dotfiles ~/dotfiles
~/dotfiles/install.shinstall.sh is idempotent: it symlinks ~/.agents to the repo's .agents/
(whole-dir — harnesses that walk ~/.agents/skills pick the skills up in
any repo) and each other payload per-file (~/.local/bin/campaign, plus each
agent definition into ~/.pi/agent/agents/). Anything already in the way is
moved aside to <path>.pre-dotfiles, never deleted.
Untracked (CLI-managed) skills are restorable from the tracked
.agents/.skill-lock.json manifest.
campaign <name> # from inside the work repoA campaign is a state directory in the vault project folder
($OBSIDIAN_VAULT_PATH/Projects/<project>/campaigns/<name>/): a
hand-maintained queue (one unit per line), an optional config
(plan=…, timeout_h=…, agent_cmd=…), and a machine-appended log.jsonl
ledger. plan= is project-relative—normally plans/<file>.md or
archive/plans/<file>.md—and absolute, escaping, or missing paths fail closed.
The loop picks the first queue unit without a shipped ledger entry,
launches /go <unit> via the configured agent command (default pi) in a
fresh agent pane, polls the /go run state until a fresh terminal outcome
appears (or the per-unit timeout expires), appends the ledger, and stops on
anything non-shipped — so a re-run naturally retries the failed unit. Full
behavior and the campaign-dir format are documented in the header of
.local/bin/campaign.
The loop keys on the /go run-state contract (issue and outcome in
<git-common-dir>/go-runs/<slug>.json); see
.agents/skills/go/SKILL.md.
Requires on PATH: git, jq, herdr (agent panes), python3, and the
configured agent command (default pi).
pip install pytest ruff # or: uv sync
pytest
ruff check .
shellcheck .local/bin/campaign install.sh .agents/skills/resolve-review/scripts/*CI runs the pytest suite on Ubuntu and Windows, plus ruff and shellcheck.