Forculus docs
Forculus runs the apps you and your AI agent build. Each app gets its own address, and only the people you share it with can open it.

How it works
Section titled “How it works”- You deploy a directory with
forculus deploy. The CLI works out what it is, builds it and puts it live. - The app is private. You share it with the people who should use it.
- Everyone who opens it signs in first, with a code sent to their email, a passkey, Google or Microsoft, or through your company’s own single sign-on.
- Your app gets a signed token with each request that says who is calling.
The one exception is a public path you open for webhooks.
A Worker has no route of its own on the internet, and a container has no public address. Our sign-in is the only way in. How access works follows one request from the browser to your app.
What you can deploy
Section titled “What you can deploy”- Static sites, and the output of site builders like Vite, Astro or Docusaurus.
- JavaScript and TypeScript on Workers, including frameworks with a Cloudflare adapter: Hono, Next.js, Astro, SvelteKit, React Router and Nuxt.
- Servers in a container: anything with a Dockerfile, or a Node, Python, Go or Rust project without one. Container apps need a paid plan.
How deploy decides what to build has the rules.
The commands, once you’re set up
Section titled “The commands, once you’re set up”After you install the CLI and sign in, four commands take you from nothing to a shared app:
forculus workspace create acmeforculus deploy acme/hello ./my-app --createforculus share acme/hello someone@example.comforculus access acme/helloDeploy your first app runs each one and shows what it prints. You can also deploy from the dashboard, with no CLI at all.
No code yet? Start from a template with forculus init, which writes a small app that already checks who is calling.
Words these docs use
Section titled “Words these docs use”| Term | What it means |
|---|---|
| Workspace | Holds your apps, the people who use them, the plan and the audit log. See Workspaces and roles. |
| App | Named <workspace>/<app> in every command, like acme/hello. Its address is https://<app>--<workspace>.forculuslabs-apps.tech. |
| Version | Each deploy makes a new version and puts it live. See Versions and rollback. |
| Identity token | A signed token, valid for 60 seconds, that says who is calling. Your app checks it with an SDK. |
| Bypass token | A credential for a script or service that can’t sign in with a browser. See Tokens for scripts and machines. |
| Public path | A path anyone can reach without signing in, for webhooks. See Webhooks and public paths. |
| Audit log | A record of every request let in or turned away, and every change. See Audit log. |
Stuck? Troubleshooting lists the common errors and what to do about each.