Skip to main content

Overview

Foreman is a free, open-source software factory: specialized AI agents classify, plan, implement, and review work pulled from GitHub issues, Linear, CI failures, and more, then push draft PRs for a human to approve. Nothing ships without you — Foreman stops at the draft PR. Foreman is built on Vercel Eve, so it mounts extensions the same way any Eve agent does.

Foreman + Kernel

Mounting Kernel’s Eve extension gives Foreman’s implementation agent a real cloud browser, so it can go beyond reading code to reproduce bugs and verify fixes in flows that only break behind authentication:
  • Sign-in, not just code review — the agent drives an authenticated browser session to reproduce the bug the way a signed-in user would hit it.
  • Per-user identity — each teammate authenticates through their own Vercel Connect consent, so the browser acts as them rather than a shared credential.
  • An approval gate — Foreman parks its first browser action per session for the person driving it, before it acts inside a logged-in session.

Steps

  1. Install the software factory template — deploy vercel-labs/eve-software-factory-template so Foreman is running against your repo.
  2. Add the Kernel extension — run eve add extension/kernel to mount @onkernel/eve-extension.
  3. Add a sign-in approval gate — wire the browser connection through Vercel Connect so it authenticates as you, and require your approval before its first action in a signed-in session, via Eve’s once() approval (eve/tools/approval). That’s what lets the implementation agent reproduce a bug behind auth instead of just reading the code.
Do not mount the Kernel extension under agent/subagents/. Stations run in task mode and cannot park for a consent prompt, an approval card, or a sign-in hand-off.
The copy prompt below drives your coding agent through steps 2 and 3.

Quickstart prompt

Paste this into your coding agent to add the Kernel browser to your Foreman repo. It registers the @onkernel/eve-extension mount, wires it to Vercel Connect instead of an API key, shadows the browser connection with an approval gate, and holds the tool allowlist to the seven tools it ships with.