Commands

Every command accepts --help for inline documentation.

Command summary

CommandDescription
clawnify init [dir]Scaffold a new project (asks: app or website)
clawnify init --type websiteScaffold a minimal Astro website (skips the prompt)
clawnify loginAuthenticate via OAuth 2.1 PKCE flow
clawnify deploy [dir]Deploy to production (app or website, auto-detected from clawnify.json)
clawnify deploy --from owner/repoDeploy from a GitHub repo that contains a clawnify.json (apps only)
clawnify lsList deployed apps in the active org
clawnify open <slug>Open an app in the browser, with an auth token attached
clawnify logs <app-id>Tail build logs
clawnify rm <app-id>Delete an app
clawnify whoamiShow the current user and active org
clawnify execute [file]Run TypeScript on your agent’s runtime via the gateway
clawnify docs [<slug>]Fetch the skill-convention README for an app (or the org index)
clawnify mcpStdio MCP bridge — pipe any MCP client through to mcp.clawnify.com
clawnify sdk inspect <slug>Show an app’s typed-procedure README, developer view
clawnify sdk loginAuthenticate / rotate the OAuth grant (alias of clawnify login)
clawnify --mcpStart a local MCP server exposing CLI deploy tools

clawnify init [dir]

Scaffolds a new Clawnify project in dir (or the current directory if omitted). Asks whether you’re building an app (React + Hono + D1) or a website (Astro, public, one per org). Skip the prompt with --type app or --type website.

The app scaffold is an opinionated TypeScript project — typed backend, lightweight frontend, SQLite database — already wired for Clawnify’s build pipeline.

What ends up in the directory:

my-app/
  clawnify.json           # App manifest — name, framework, database
  package.json            # Dependencies + dev scripts
  tsconfig.json
  index.html              # Frontend entry
  src/
    server/
      index.ts            # API entry point
      routes.ts           # Procedures
      db.ts               # Database adapter
      schema.sql          # Applied on first deploy
    client/
      main.tsx
      app.tsx             # Root component

Plus a couple of local-only config files (Vite + dev server) that the CLI manages — you don’t need to edit them.

The website scaffold is a minimal Astro project (Tailwind v4, a BaseLayout, and a single index.astro). Its clawnify.json carries { "website": { "framework": "astro" } } instead of an app block — that’s the cue for clawnify deploy to publish it as a website.

clawnify deploy [dir]

Deploys dir (or the current directory) to production. The CLI reads clawnify.json and dispatches based on whether it declares an app or a website:

clawnify deploy                    # deploy current directory (app or website)
clawnify deploy ./my-app           # deploy a specific directory
clawnify deploy --from owner/repo  # deploy from a GitHub repository (apps only)

App projects ship to https://{slug}.apps.clawnify.com. Pending schema migrations are applied automatically as part of the build.

Website projects ship to https://{slug}.myclawnify.com. Each org has one website; the first deploy provisions it, every subsequent deploy overwrites the source.

The CLI streams build progress and prints the live URL when the build finishes.

clawnify ls

Lists every app in your active organization.

clawnify ls

clawnify open <slug>

Opens the deployed app in your browser with an authentication token attached to the URL so protected routes work immediately.

clawnify open my-app

clawnify logs <app-id>

Fetches the build status and log output for a given app.

clawnify logs <app-id>

clawnify rm <app-id>

Deletes an app and all of its resources (the deployed worker, its database, and source files).

clawnify rm <app-id>

clawnify whoami

Prints the currently logged-in user’s email and the active organization.

clawnify whoami

clawnify execute [file]

Run TypeScript on your agent’s runtime via mcp.clawnify.com. Streams stdout / stderr through; exits with the runtime’s exit code.

clawnify execute path/to/script.ts
clawnify execute -c "console.log(1 + 1)"
clawnify execute -c "..." --timeout 60
FlagDescription
-c, --code <inline>Inline code instead of a file path
--timeout <seconds>Wall-clock timeout. Default 30, max 300.

clawnify docs [<slug>]

Fetch a skill-convention README. With a slug, returns the per-app README. Without one, the org index.

clawnify docs                   # org-level: list available apps
clawnify docs my-app            # per-app README
FlagDescription
--caller <hint>Density hint: internal / dashboard / external (default external)

clawnify mcp

Stdio MCP bridge to mcp.clawnify.com. Reads JSON-RPC frames from stdin, forwards each via HTTPS using your stored credentials, writes the response to stdout. Works with any MCP client that spawns subprocesses.

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | clawnify mcp

Common wiring — drop into Claude Desktop / Cursor / Continue / Cline / opencode / OpenClaw config:

{
  "mcpServers": {
    "clawnify": { "command": "clawnify", "args": ["mcp"] }
  }
}

Full recipes in MCP gateway → CLI bridge.

clawnify sdk inspect <slug>

Developer-shaped alias for clawnify docs <slug> — same output, external density.

clawnify sdk inspect my-app

clawnify sdk login

Alias of clawnify login — re-authenticate or rotate the stored OAuth grant.

clawnify sdk login

clawnify --mcp

Starts the CLI as an MCP server exposing local deploy tools to AI coding agents. Different from clawnify mcp (the stdio bridge) — --mcp exposes deploy / list_apps / etc. locally; mcp proxies to the gateway. See the MCP page for wiring instructions.