Webpresso CLI

The webpresso command-line interface is the supported customer command surface for turning an idea into a Webpresso workspace you can launch, operate, and improve. Use it to create the starter, validate the checked-in contract, run local development, deploy the supported starter, and operate the schema/database workflow.

CLI Usage

The CLI owns the supported customer flow. This page stays on the launch path first, then drills into the commands that make that path real:

Terminal
webpresso --help

Getting Started

The supported happy path is intentionally narrow: one starter, one workspace shape, and one launch story you can take from idea to first live version without detouring through platform-internals.

webpresso workspace new my-app

Scaffold the supported starter.

wp blueprint new "Launch customer portal" --complexity M

Create the canonical draft blueprint scaffold before refining and executing it via the agent-kit lifecycle (`wp blueprint`).

webpresso workspace validate

Validate the supported workspace lanes under apps/, packages/, and webpresso/.

webpresso workspace dev

Run the supported local development workflow for the current workspace.

webpresso workspace deploy

Publish the workspace through the supported Webpresso deployment flow.

webpresso schema check

Run the schema validation suite; add --runtime to validate against a live ephemeral GraphQL runtime and schema snapshot.

webpresso db migrate

Apply database changes through the supported Webpresso database workflow.

webpresso config codegen

Generate TypeScript config artifacts from checked-in YAML sources.

Schema Scaffolds

Add new checked-in intent files without dropping into older generator plumbing.

webpresso workspace add entity customer_orders

Create a starter entity definition in webpresso/entities.

webpresso workspace add workflow onboarding_flow

Create a starter workflow definition in webpresso/workflows.

webpresso workspace add page customer_portal

Create a starter custom page definition in webpresso/ui/pages.

webpresso workspace add endpoint customer_webhook

Create a starter endpoint definition in webpresso/endpoints.

webpresso workspace add job nightly_rollup

Create a starter job definition in webpresso/jobs.

Schema and Database Operations

The grouped operational surface now lives under webpresso schema, webpresso db, and webpresso config. The short wp alias is interchangeable, so wp schema check, wp db push, and wp config codegen behave identically to their webpresso ... counterparts.

webpresso schema compile

Compile checked-in YAML metadata into generated runtime, frontend, and type artifacts.

webpresso schema codegen

Run the schema codegen pipeline after compile/apply steps.

webpresso schema apply

Apply metadata, validation, and codegen to the GraphQL runtime.

webpresso schema check --runtime

Export a live ephemeral schema snapshot, validate operations against it, then run runtime metadata validation against an ephemeral GraphQL runtime and database branch.

webpresso db migrate

Run database migrations against the active environment.

webpresso db seed

Seed development or E2E data using the supported profiles.

webpresso db seed

Prepare an E2E database branch with migrations and seed data.

Export & Portability

Every Webpresso project is standard code you own. Use webpresso workspace export to produce a self-contained project bundle that can be opened in any editor and run with standard tooling — no Webpresso CLI required. The exported bundle includes your customer-owned contract roots (apps/, packages/, webpresso/), all generated artifacts, and an ownership manifest describing exactly what Webpresso managed. Use webpresso workspace eject for the same output with a stronger declaration of intent to operate fully independently.

webpresso workspace export --out ./my-app-exported

Export the workspace to a self-contained bundle you can run without the Webpresso CLI.

webpresso workspace eject --out ./my-app-standalone

Eject the workspace with explicit intent to operate fully independently of Webpresso.

Project Contract

Checked-in customer intent lives in webpresso/. Runnable apps live in apps/. Shared implementation packages live in packages/. Local machine state and generated artifacts live in .webpresso/.

Generated CRUD is a partial supported path: define entity UI in webpresso/entities/, let Webpresso generate the default list/detail/form surfaces, and switch to manual ownership or custom pages when you need bespoke behavior.

Project Layout
your-project/
├── apps/                          # Dev/deploy lane
│   ├── api/                       # API worker app
│   └── web/                       # Web app
├── packages/                      # Shared implementation lane
│   └── ui/                        # Starter shared UI package
├── webpresso/                     # Checked-in customer-owned project contract
│   ├── config.yaml                # Supported project config
│   ├── entities/                  # Data model definitions
│   ├── workflows/                 # Workflow definitions
│   ├── blueprints/                          # Planning and implementation blueprints
│   ├── tech-debt/                           # Tracked follow-up work and debt notes
│   ├── ui/pages/                  # Custom non-CRUD pages
│   ├── actions/                   # Optional supported action metadata
│   ├── events/                    # Optional supported event definitions
│   ├── permissions/               # Optional supported authorization policy
│   ├── seeds/                     # Optional supported seed configuration
│   ├── types/                     # Optional supported source type definitions
│   ├── ui/navigation/             # Optional supported customer navigation
│   ├── endpoints/                 # HTTP handlers
│   └── jobs/                      # Background jobs
└── .webpresso/
    └── generated/
        ├── runtime/               # Generated runtime artifacts
        ├── types/                 # Generated types
        ├── frontend/              # Generated frontend artifacts
        └── .webpresso/generated/.manifest.json         # Tool-owned generated-artifacts manifest

Local State Rules

  • Commit webpresso/config.yaml
  • Keep deployable apps under apps/ and shared implementation packages under packages/
  • Create planning blueprints with wp blueprint new "<goal>" --complexity <size> and keep the generated files in webpresso/blueprints/; track follow-up debt in webpresso/tech-debt/
  • Optional supported roots like webpresso/actions/, webpresso/events/, webpresso/permissions/, webpresso/seeds/, webpresso/types/, and webpresso/ui/navigation/ are valid customer inputs when your project needs them
  • Keep .webpresso/generated/ out of git
  • Treat generated CRUD as a default path, then use generated/manual ownership in entity YAML or custom pages for exceptions

webpresso/config.yaml

Keep project identity and runtime choices in the checked-in config:

webpresso/config.yaml
project:
  name: my-app
  slug: my-app
  version: 1.0.0

functions:
  runtime: nodejs20
  timeout: 30