For AI agents: the complete documentation index is available at /examples/custom/llms.txt, the full documentation bundle is available at /examples/custom/llms-full.txt, and this page is available as Markdown at /examples/custom/index.md.

The operating layer for ambitious internet companies.

Ship faster. Integrate deeper. Stay accountable.

Acme Corp control plane

Ready to ship?

Install the CLI and have a service deployed in under fifteen minutes.


Apps & Packages

Everything in the monorepo.

Browse the dashboard app, the edge runtime, and the official SDK.

Apps

Standalone applications and runnable services — APIs, workers, web apps, and anything that deploys independently.

Packages

Reusable modules shared across the codebase — libraries, utilities, configs, SDKs, and internal tooling.

Type-safe by default

One config. Validated at boot.

Acme services are described by acme.config.ts. The SDK validates against your live database schema on deploy — drift never ships.

  • Typed handlers, typed events, typed database
  • Schema drift caught at typecheck time
  • Feature flags + audit retention next to code
  • Per-environment overrides without forking
Read configuration
import { defineConfig } from '@acme/sdk'

export default defineConfig({
  name: 'billing',
  regions: ['us-east', 'eu-west'],
  database: { pool: { min: 2, max: 16 } },
  flags: {
    invoice_v2: { default: false, owner: 'platform@acme.co' },
  },
})
One command

Deploy from anywhere.

The CLI ships your handlers to every region in a single pass, with health gates between waves.

  • Regional canaries by default
  • Instant rollback to any prior build
~/acme/billing — acme deploy
$ acme deploy --env production

 building 3 handlers
 us-east  healthy (12 isolates)
 eu-west  healthy (8 isolates)
 rollback available: acme rollback billing@41
Workflows

Four surfaces, one platform.

Write a handler, ship a route

Every exported handler becomes an edge route with a typed client method.

  • Typed request + response
  • Zero routing config
export const charge = handler({
  input: z.object({ amount: z.number() }),
  async run({ input, ctx }) {
    return ctx.billing.charge(input.amount)
  },
})