Quick Start
Get a project running on a custom .test domain in under a minute. The same flow works for any framework Corral supports — Cloudflare Workers, Next.js, Vite, Astro, SvelteKit, Remix, Nuxt, Gatsby, Angular, and any project with a dev script.
Prerequisites
- Corral installed with the privileged helper set up (see Installation)
- A JavaScript or TypeScript project with a
devscript inpackage.json(or a Cloudflare project withwrangler.toml/wrangler.json)
Step 1: Register Your Project
CLI:
corral project add ./my-app
macOS App: Click the Add Project (+) button in the toolbar, or drag your project folder onto the main window.
Corral detects the framework, parses any framework-specific config (wrangler.toml, package.json, etc.), assigns a stable port, and gives the project a .test subdomain.
Step 2: Start Everything
corral up
This starts the infrastructure (DNS + reverse proxy) and any projects flagged for auto-start.
To start a specific project:
corral start my-app
Corral allocates a port, launches the right dev command for your framework, waits for it to be ready, and registers the route with the proxy.
Step 3: Open Your Project
Visit your project in the browser:
https://my-app.test
Corral routes the .test domain through DNS to the reverse proxy, which forwards the request to your running dev server — with a valid HTTPS certificate.
You can also access it directly at the assigned port:
http://localhost:8787
Step 4: View Logs
Stream logs from all running projects:
corral logs --follow
Or just one project:
corral logs my-app --follow
Step 5: Stop When You’re Done
corral down
This stops all running projects and shuts down the infrastructure.
Working with Multiple Projects
Corral really shines when you have several projects:
# Scan a directory to find all projects
corral project scan ~/code
# Start everything
corral up
# Each project gets its own subdomain:
# api.test
# auth-service.test
# frontend.test
Next Steps
- Projects — learn about project settings and environment selection
- Domain Routing — customize your TLD and understand how routing works
- Node.js Management — pin Node.js versions per project
- Data Inspection — browse your D1, KV, and R2 data