Anvil Cloud / Overview

Anvil Cloud

Anvil Cloud is the product in anvil-cloud: a local-first TypeScript platform for small app units called Anvil Cells.

A Cell declares app behavior, data shape, and required capabilities. Anvil runs it locally through the same request boundary used by deployment adapters, then emits manifests, generated client metadata, and deploy artifacts that can be inspected before anything reaches a provider.

The goal is not to make AWS easier to spray around. The goal is to give developers and coding agents a smaller app contract that is easier to understand, test, review, and deploy through controlled adapters.

Current package layout

Package Role
@anvil-cloud/runtime Cell DSL, RuntimeRequest, RuntimeResponse, RuntimeHost, RuntimeContext, and handleRuntimeRequest.
@anvil-cloud/builder Config loading, import policy, typecheck, server/client bundle, manifest extraction, build metadata, and generated client files.
@anvil-cloud/local Local runtime server, JSON database adapter, local files, auth, logs, events, jobs, and inspection state.
@anvil-cloud/client Browser client and framework hook helpers for generated query and mutation metadata.
@anvil-cloud/cli anvil new, dev, check, build, inspect, logs, db, and deploy --preview.
@anvil-cloud/aws AWS preview adapter, CloudFormation synthesis, Lambda runtime bridge, AWS-backed host adapters, artifact packaging, provisioning, remote inspect, and remote logs.

Core terms

  • Anvil Cloud: the toolchain and docs for building Anvil Cells.
  • Anvil Cell: a deployable app unit with server functions, client UI, schema, endpoints, jobs, files, auth assumptions, environment needs, and declared capabilities.
  • Anvil Runtime: shared execution layer for local, test, and adapter-backed execution.
  • Anvil Builder: compiler and bundler that emits server bundle, client bundle, manifest, generated client output, and build metadata.
  • Anvil Local: local runtime server and state adapters.
  • Anvil Guard: import policy, capability checks, and safety validation.
  • Anvil Lens: inspection surface for manifest, runtime status, local auth, logs, database state, and diagnostics.

What works now

The v0 implementation includes:

  • object-based Cell DSL for app, query, mutation, endpoint, job, table, and field builders
  • shared runtime request handling for query, mutation, endpoint, and job triggers
  • in-memory and local runtime host adapters
  • local HTTP runtime routes for queries, mutations, endpoints, health, manifest, and inspection
  • local JSON database, files, auth, events, jobs, and NDJSON logs
  • builder checks for config, forbidden imports, direct process.env, undeclared fetch, scheduled jobs, and capability use
  • typecheck, bundle, manifest extraction, generated client output, and build metadata
  • CLI commands with JSON output for automation
  • AWS preview plan and CloudFormation synthesis
  • AWS-backed runtime host adapters for DynamoDB, S3, SQS, EventBridge scheduled jobs, Lambda env, auth passthrough, and structured logs
  • optional AWS provisioning when required environment variables are configured
  • remote inspect and logs through deployment metadata and CloudWatch Logs

What is still v0

Do not read this as a production platform promise. Current limits include:

  • AWS is the first adapter, not the application contract.
  • Event publishing in the AWS preview adapter is still unsupported.
  • Live AWS execution needs real account verification before production use.
  • Auth provider integrations are still early.
  • No hosted control plane, marketplace, multi-region deployment, Kubernetes, ECS, or arbitrary provider-resource authoring.
  • Safety comes from capability scoping, import restrictions, runtime adapters, generated provider policy, and deployment isolation, not a perfect JavaScript sandbox.

Read next