PortBay for the way you already work
One page per agent you dispatch and per framework you edit. Each one shows the setup end to end, the commands as you would type them, and the limits before you hit them.
Your agents, and the stacks they build in
One page per agent you dispatch and per framework you edit. The board sits in the middle of both.

Claude Code, Codex, Cursor, Gemini and Copilot are dispatched from the same cards, under the credentials you already hold.
Click an element in the running app and the edit lands in the file that produced it — Blade, ERB, JSX, a Vue single-file component, a Hugo layout.
For your AI agent
Move a card to To Do and PortBay launches the CLI you already have installed, pointed at that card, inside a project that is already running.
Run Claude Code agents from a local task board
Write a card, assign Claude Code, move it to To Do. PortBay launches the CLI you already have installed, points it at the card, and the work happens in a running local project on your Mac.
CodexCodex CLI parallel agents, run from one board
Codex works a prompt and exits, which makes it simple to parallelize and hard to track. PortBay gives every run a card: dispatched headless, worked in a running project, finished with a comment.
CursorRun Cursor agents from a local task board
Move a card to To Do and PortBay opens Cursor on the project folder, with the card as the brief. The work happens on your Mac, in a project that is already running at a real URL.
GeminiGemini CLI, pointed at a card instead of a prompt
Dispatch gemini -p from a card, and wire the board into .gemini/settings.json over MCP.
AiderAider runs from a card, and the card is the message file
The card becomes Aider's message file, and the run happens in a project that is already serving.
OpenCodeOpenCode runs the card, in an app that is already up
opencode run, dispatched from a card into a project that is already serving.
AmpAmp's non-interactive mode, driven by a board
amp -x, one prompt per card, inside a project that is already running.
Qwen CodeQwen Code, dispatched with the same -p as its parent
qwen -p from a card, in a project that is already serving over HTTPS.
Copilot CLICopilot CLI, working a card in a running app
Run copilot -p from a card, inside a project that is already serving over HTTPS.
AntigravityAntigravity opens on the project, with the card on your clipboard
The one roster agent that cannot run headless — PortBay opens the IDE on the folder and hands you the brief.
OllamaHand a card to a model on your own machine
The fully offline lane: a local model works the card through PortBay's own runtime.
For the visual editor
Click an element in your running app, change it, and the edit is spliced into the source file that produced it — your real template, not a CMS field or a JSON config, with no markers left behind. Pro, early access, and off by default; each page states its own setup and its own limits.
Edit Blade templates visually, straight into the .blade.php
Blade elements carry their own source coordinates through a Composer package on Packagist, so edits land in the .blade.php that rendered them.
LivewireLivewire views, edited in the browser — and the honest catch
Writes into your .blade.php files normally, and states the real cost: wire: DOM morphing degrades live selection, so edit and Save rather than live-tweak.
InertiaInertia pages edit like Vite source, because that is what they are
The best-supported Laravel variant: page components are ordinary Vite files, so they get precise and structural editing with nothing installed.
RailsClick a Rails view, change the .html.erb that rendered it
One Gemfile line and a Railtie. Coordinates survive partials, layouts, content_for and collection rendering — 18 of 18 exact on Rails 8.1 and 7.2.
DjangoDjango templates, edited where they render
A pip install plus one INSTALLED_APPS line, and your TEMPLATES setting untouched. 18 of 18 coordinates exact on Django 6.1 and 5.2.
WordPressEdit your WordPress theme's PHP, not a builder's database
Edit your theme's own PHP or block templates rather than a page builder's database rows — with the limits of a no-stamper stack stated up front.
WordPress block themesBlock theme templates are files, and this edits the files
Edits a Full Site Editing theme's own templates/*.html and parts/*.html as source files, and is explicit about the half that lives in the database.
Next.jsClick a Next.js element, change that exact span of .tsx
Register one SWC plugin at version 0.1.1 or newer and your JSX carries source coordinates under Turbopack and webpack alike.
NuxtEdit .vue pages in a running Nuxt app, nothing installed
Nothing to install: nuxt dev takes no config path, so PortBay extends your app with a generated layer that adds the stamping plugin.
RemixOne Remix route holds the markup and the head — edit both
Element edits go into the route module's JSX; title and description go into the same file's meta export. Nothing to install on Vite.
AstroEdit .astro files in the browser, with nothing added to your repo
Nothing to install: PortBay registers stamping under astro.config's vite.plugins from a config generated outside your repo.
SolidStartSolidStart routes, edited in the browser with nothing installed
SolidStart 2 runs vite dev, so PortBay stamps the server it launches. Version 1's vinxi layout still edits, by matching markup.
ViteA visual editor for Vite with nothing to install
The zero-install lane: PortBay instruments the Vite dev server it launches, leaving your package.json and lockfile byte-identical.
ReactClick a React element, change that exact span of .tsx
Host elements in your .jsx and .tsx carry file, line and column, added to the dev server rather than to your repo. Honest about the component-usage tier.
VueEdit the template block of a .vue file from the browser
PortBay stamps the template block of every .vue file — script and style are never scanned — so edits land in the SFC you wrote.
SvelteSvelteKit routes, edited in the +page.svelte that rendered them
Edits resolve to the +page.svelte that rendered them, and page settings to that route's own svelte:head rather than the site-wide app shell.
QwikQwik City routes, edited down to the line of .tsx
Qwik's scaffold already ships the Vite seam, so there is nothing to install — with the one JSX tier that carries no coordinate named up front.
AngularAngular templates, edited by markup match — and what it refuses
Edits resolve into your component templates by matching markup. Honest about Angular's bindings: [class] and [ngClass] cannot be targeted.
HugoA visual editor for Hugo layouts, not just front matter
Edits the layout templates, not just the front matter — with Hugo's Go-template interpolation refused rather than guessed at.
JekyllEdit Jekyll's Liquid layouts, not just the posts
Edits the Liquid layouts rather than only the posts, and writes page titles to that page's own front matter instead of the shared layout.
EleventyEleventy layouts, edited whatever the template language
Nunjucks, Liquid, Markdown or HTML — the editor matches your markup rather than parsing a template grammar, so a mixed-language site behaves the same throughout.
Static HTMLEdit a plain HTML site in the browser, with no build step
No framework, no build step, nothing to install: the served document is the source file, so edits go straight into your .html.
Visual editorA visual editor for your codebase, not a copy of it
Click an element on your running site in your own browser and edit its text, classes and styles straight into the source file, across 21 stacks.
Your entire stack, connected on first run
Open a folder and PortBay names the framework, picks the runtime, serves it over trusted HTTPS on a .test domain, and attaches the databases and mail capture it needs. No Dockerfile, no vhost, no certificate to install.
18 of the 80 stacks PortBay already knows how to start.
Looking for a capability rather than a stack? Start at Features. Weighing a switch? Compare PortBay with your current tool. Everything past what a page covers lives in the docs.

Give your projects and your agents a real local home.
Download for macOSFree & open source · macOS 11+ on Apple Silicon · Pro from $10/mo