TL;DR β€” Every Claude Code session starts with amnesia. Foreman keeps your plan in your repo, committed like code. Ask "what's next?" and you get the recommended task, the reason it's first, and a ready-to-run prompt β€” one whose paths and claims were checked against your code.


What is this?

Close the laptop, and every plan that only lived in your head closes with it. Open Claude Code tomorrow and it starts from zero. No memory of what you were building, what you ruled out, or that the file it's about to edit got renamed yesterday.

Foreman keeps the plan where the code lives: a plain-language roadmap, committed like any other file. Ask "what's next?" and it hands back the recommended task, the reason it's first, and a ready-to-run prompt that checks its own claims against your code.

Why you'd want it

  • Your plan survives you forgetting it. The next session picks up exactly where you left off, not from a shrug.
  • The handoff writes itself. Every task goes out on the same template, guardrails built in, paths checked first.
  • It keeps up with your commits. A task that looks finished is surfaced for you to confirm, then checked off.
  • Nothing moves without you. No task gets added, changed, or checked off behind your back.

How it works

Moment What happens
You ask "what's next?" Foreman orders the roadmap β€” dependencies, collisions, what's done β€” and recommends the top one, with a ready-to-run prompt. The pick is yours
You describe new work It becomes a roadmap entry, once you approve it
You commit A task that looks finished is surfaced for you to confirm; opt in and new work the commit uncovered gets flagged too
You suspect the plan has drifted The top tasks get double-checked against the actual code, and the roadmap corrected

Hand a task off as tracked work, and every finished piece lands as its own commit on a foreman/<slug> branch. At the end, you pick what happens to it: squash, merge, PR, or keep.

Install

Inside Claude Code, run:

/plugin marketplace add V-Songbird/foundry
/plugin install foreman@foundry

Then run /foreman:init once in each project you want a roadmap for. It asks a few questions and builds the roadmap. That's the whole setup.

Running razor and hush too? Good instinct β€” razor keeps the code lean, hush keeps it quiet, Foreman keeps the plan.

What you can do

Talk to Foreman. That's the whole interface β€” one entrance, plain language, no command names to memorize:

You say… You get
"add this to the roadmap" new work tracked, once you approve it
"where are we" where every task stands, and what's waiting on you
"that entry's description is stale" the entry corrected
"what's next" the recommended task, why it's first, and a ready-to-run prompt
"is the plan still right? then give me something" the top tasks checked against your code, then the pick

Two ways to get a task, and the cheap one is the default:

  • Fast pick β€” Foreman orders the roadmap it already has and recommends one. It reads no code.
  • Reconcile and pick β€” the near-term tasks get checked against your actual code first, repair by repair. Foreman never starts this on its own, because it costs real tokens.

Editing the roadmap file by hand defeats the point, so don't.

Advanced

The specialized commands are still there when you'd rather go straight in:

You want to… Command
Set up a roadmap for a project (one-time) /foreman:init
See the recommended next task, add one, correct one, or check status /foreman:roadmap
Double-check the top tasks against your actual code /foreman:survey
Build a standalone prompt for something that isn't a roadmap entry /foreman:craft-prompt

Why-notes that find you later

Git remembers every diff. Nobody remembers why. Turn this on, and any task that makes a real call writes a short note β€” the choice, the options that lost, what it commits you to β€” tagged into the code it governs. Open that code six months later and the note finds you. It's off until you ask for it, because it writes files into your repo. The whole feature fits on one page: decision-log.md.

Seeing Foreman: 019 at the bottom of your commits? That's always on. The commit names the task, so a finished task closes in the same commit as its code and nothing dangles.

Under the hood

The roadmap is a plain file in your repo (field-by-field details in roadmap-schema.md), and every prompt Foreman assembles is structurally validated before it ships. Pairs naturally with razor and hush β€” they're built to stay out of each other's way.

Scope

Foreman is a solo-developer project companion. It keeps the roadmap and hands off the next task from it. That is the whole job.

[!NOTE] What Foreman will never grow into. No teams, assignments, estimates, priorities, or dashboards. No wiki or knowledge base. No pull-request review or reviewer personas. No workflow definitions or agent-role pipelines. No scheduler and no unattended runs. No server, account, or hosted state. Nothing on that list ships before a major version, and only then with the reason written down next to it.

Settings

/foreman:init leaves every setting at its default, so most people never touch configuration. To tune the optional behavior, see settings.md.

Requirements

Node.js and git, both of which Claude Code already needs. Built and tested against Claude Code 2.1.x β€” /foreman:roadmap will tell you if a hook event it leans on stops arriving.

License

MIT β€” see LICENSE.