Misc
This page is for people who are curious about Gabe's broader full-stack vibe coding setup. agentctl is one small piece of it: the local session control layer that helps Codex and Claude Code stay oriented while moving through real projects.
Gabe's agent instructions
Gabe keeps persistent agent instructions in CLAUDE.md and AGENTS.md. The files describe local habits, preferred commands, project layout, and safety rules.
The core idea is simple: make the agent's operating environment explicit. If an agent should rename a thread, speak completion updates, find a project, or move into the right directory, those behaviors belong in instructions instead of being re-explained every session.
A compact version looks like this:
## Local agent workflow
- Start work with `agentctl summary set "short task name"`.
- Finish work with `agentctl tts speak "Yo, I just finished the requested work."`.
- If work belongs in another project, find it with `agentctl recent-projects <name>`.
- Move there with `agentctl reroot /absolute/project/path "full user instructions"`.
After agentctl setup, the shorter forms setsummary, tts, and reroot can be used in interactive shell instructions.
Multi workspaces
Gabe often works in multi-repo products: an API repo, a web repo, a skills repo, deployment tooling, and a workspace repo that ties them together. multi is the local CLI for that pattern.
multi keeps independent Git repos inside one workspace directory without using submodules. It can clone and sync repos from multi.json, keep repos on the same branch, run Git commands across repos, and merge VS Code configuration into the workspace root.
One important detail: in Multi workspaces, CLAUDE.md and AGENTS.md are generated from .cursor/rules/*.mdc. That means project rules should be edited in .cursor/rules, then regenerated with:
multi sync rules
For full workspace sync:
multi sync
That gives agents project-specific context without manually maintaining several instruction files.
BoilerSync templates
boilersync is Gabe's project template system. It scaffolds new projects from templates, then keeps the child project and template connected over time. The docs live at boilersync.gabemontague.com.
The workflow is:
boilersync init org/repo#template-name
boilersync pull
boilersync push
boilersync init creates a project from a template. boilersync pull applies later template upgrades to the project. boilersync push promotes useful project changes back into the template source.
Templates can use .starter files for one-time generated files that become project-owned, and .boilersync file names when template syntax needs protection from formatters. Project roots store .boilersync metadata so future pulls and pushes know where the project came from.
How the pieces fit
agentctl is the live session tool. It starts wrapped Codex or Claude Code sessions, updates summaries, speaks short status messages, finds recent projects, and reroots work into the right directory.
multi is the workspace tool. It keeps related repos working together as one product surface while preserving independent Git histories.
boilersync is the template tool. It makes new projects and repeated architecture patterns cheap without freezing those templates in time.
Together, they make the local setup feel less like a pile of one-off scripts and more like a small operating system for agent-assisted full-stack development.