╭─ INTRO ─╮
└────────────╯
One macOS app supervises every dev server, assigns a stable port, gives it a real .test domain with HTTPS your browser trusts, and runs the right Node version. Postgres, Valkey, Mailpit on tap. The CLI and the GUI share one daemon so state never drifts.
Public beta — actively developed.
Two illustrations of Corral. Top: a macOS menu bar popover listing four projects (compliancr and deployoops running on .test domains; slackoff and yeetboard stopped) plus global shortcuts to create new projects or quit. Bottom: a terminal showing "corral ls --running" output mirroring the same project list, marked synced — the menu bar and CLI share one daemon.
Mockup of the Corral macOS app showing a project named compliancr.test in Running state. The sidebar lists six projects, two services, the Node runtime, and Logs/Settings. The main panel shows worker type, compatibility date, dependency status, a tunnel notice, and bindings grouped into Storage (D1, R2, KV), Compute (Durable Object, Workflow), Intelligence (Vectorize), and Async & security (Queue, Secrets, Service).
Animated terminal cycling through five Corral CLI commands: corral up, corral project scan, corral start, corral share, and corral data d1 sessions list — showing the kind of output you'd see at the shell.
─────────────────────────────────────── § 01 THE STATUS QUO ───────────────────────────────────────
Most local JS/TS setups are stitched together from localhost ports, Node managers, proxy configs, and terminal tabs. Corral collapses that pile into one native workflow.
──────────────────────────────────────── § 02 THE DEV LOOP ────────────────────────────────────────
Drag a folder, or `corral project add ./my-app`. Framework auto-detected. Icon and color inferred. Dev command picked from package.json.
Stable port. Stable URL: https://my-app.test. Real HTTPS. dnsmasq + Caddy under the hood, supervised by Corral.
One supervisor per dev server. Crash detection, auto-restart, graceful shutdown. Logs flow into one searchable pipeline.
corral share my-app — public *.trycloudflare.com URL. Free. No account. Auto-stops when the project stops.
───────────────────────────────────────── § 03 FRAMEWORKS ─────────────────────────────────────────
name config signature detected runner default port
───────────────────── ────────────────────────── ───────────────────── ────────────
★ Cloudflare Workers wrangler.toml | .json wrangler dev :8787
Next.js next.config.* + app/ next dev :3000
Nuxt nuxt.config.* nuxt dev :3000
Remix remix.config.* / vite remix vite:dev :3000
Astro astro.config.* astro dev :4321
SvelteKit svelte.config.* vite dev :5173
Gatsby gatsby-config.* gatsby develop :8000
Angular angular.json ng serve :4200
Vite vite.config.* vite :5173
Generic Node package.json scripts.dev npm run dev :—
★ first-class — deepest local environment wrangler.toml | .json wrangler dev next.config.* + app/ next dev nuxt.config.* nuxt dev remix.config.* / vite remix vite:dev astro.config.* astro dev svelte.config.* vite dev gatsby-config.* gatsby develop angular.json ng serve vite.config.* vite package.json scripts.dev npm run dev ★ first-class — deepest local environment
────────────────────────────── § 04 CLOUDFLARE WORKERS, FIRST-CLASS ───────────────────────────────
───────────────────────────────────────── § 05 AI-NATIVE ──────────────────────────────────────────
Corral speaks the Model Context Protocol. Point your AI coding tool at one server and it sees
what you see — registered projects, live .test URLs, service connection strings,
and logs — over a typed protocol it already knows. No copy-pasting state out of the terminal,
and the agent can start, stop, or restart things itself.
$ corral mcp install // configures every detected client — free, built into the CLI ─────────────────────────────────── § 06 LOCAL SERVICES ◆ PRO ───────────────────────────────────
Native binaries supervised by Corral. Each binds to 127.0.0.1 only. Each has its own data
directory. Each ships an env-vars block ready to paste into .env.
────────────────────────────────────────── § 07 PRICING ───────────────────────────────────────────
────────────────────────────────────
────────────────────────────────────
──────────────────────────────────────────── § 08 FAQ ─────────────────────────────────────────────
$ corral faq cloudflare Is Corral only for Cloudflare projects? + No. Corral started with first-class Cloudflare support, and that path is still the deepest — local D1, KV, R2, Durable Objects, Workflows, and Secrets inspection — but it now detects and runs Next.js, Nuxt, Remix, Astro, SvelteKit, Gatsby, Angular, Vite, and plain Node projects too. Cloudflare is the lighthouse, not the limit.
$ corral faq domains Why .test domains instead of localhost ports? + Stable names beat shifting numbers. Once a project is registered it lives at a memorable URL like storefront.test, with HTTPS, even after restarts and reboots. No more "wait, was the API on 3001 or 3002?" — and cookies, OAuth callbacks, and CORS rules all behave like they would in production.
$ corral faq sudo Does it require admin / sudo permissions? + Some setup does. Routing *.test through dnsmasq and binding ports 80/443 for HTTPS need privileged operations on macOS. Corral handles that through a small signed helper the first time you set up routing — you never have to wire it manually or run the app as root.
$ corral faq cli Can I install just the CLI, without the app? + No, and that's deliberate. The privileged helper that makes .test routing and HTTPS work can only be registered by a macOS app bundle (via SMAppService), so a CLI-only install would have no way to set it up. The installer always installs both — the corral CLI ships inside the app and is symlinked onto your PATH. Once setup is done you can live entirely in the terminal; the app doesn't need to stay open.
$ corral faq sync Can I use the app and CLI at the same time? + Yes — that's the point. Both surfaces talk to the same background daemon, so process state, project status, and infrastructure status are always in sync. Start something in the menu bar, inspect it in the main window, tail logs in the terminal — they're all looking at the same source of truth.
$ corral faq nvm Does Corral manage Node.js for me? + Yes. It can install Node versions on demand and pick the right one per project from .node-version, .nvmrc, or an explicit override in project settings. Optional shell shims will resolve the right Node automatically when you cd into a project, so you can replace nvm or fnm if you want.
$ corral faq docker Do I still need Docker for databases and services? + For the services Corral supports — Postgres, MariaDB, Valkey/Redis, Mailpit, MinIO, OpenSearch, Meilisearch, Typesense — no. They run as native, supervised binaries with one-click install. If you depend on a service Corral doesn't cover, keep using Docker for that one; the two coexist fine.
$ corral faq mcp Does Corral work with my AI coding assistant? + Yes. Corral ships an MCP (Model Context Protocol) server built into the CLI, so agents in Claude Code, Cursor, VS Code, Codex, Continue, Zed, or Windsurf can see your projects, dev URLs, service connection strings, and logs — and start, stop, or restart things — over a typed protocol they already speak. Run corral mcp install to wire up every detected client. It's free, on every tier.
$ corral faq pricing How does pricing work? + There's a free tier that covers the whole dev loop — projects, .test domains, HTTPS, Node management, CLI — with no nags or time limits. Pro is $49/year, billed once via Paddle, tied to your user account. Pro adds local services and the Cloudflare data inspectors. No monthly plan, no team seats.
$ corral faq cancel How do I cancel? Can I get a refund? + Cancel anytime through Paddle's customer portal — the link is in your purchase receipt email. Cancelling stops the next renewal; the current term stays active until it ends. For refunds within 14 days of purchase, email [email protected] with your order number — no questions asked.
$ corral faq linux Linux support? + Planned, no date. The core daemon is Rust and already portable; the macOS-specific work is the menu bar, the helper tool, and the AppKit UI. We'll ship Linux when we can do it well, not as a checkbox.
$ corral faq oss Is it open source? + No — Corral is a closed-source commercial product. There's no public repository.
╭───────────────────────────────────╮ │ │ │ stop fighting your dev setup │ │ │ ╰───────────────────────────────────╯