Commands
Every command accepts --help for inline documentation.
Command summary
| Command | Description |
|---|---|
clawnify init [dir] | Scaffold a new project (asks: app or website) |
clawnify init --type website | Scaffold a minimal Astro website (skips the prompt) |
clawnify login | Authenticate via OAuth 2.1 PKCE flow |
clawnify deploy [dir] | Deploy to production (app or website, auto-detected from clawnify.json) |
clawnify deploy --from owner/repo | Deploy from a GitHub repo that contains a clawnify.json (apps only) |
clawnify ls | List 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 whoami | Show 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 mcp | Stdio 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 login | Authenticate / rotate the OAuth grant (alias of clawnify login) |
clawnify --mcp | Start 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
| Flag | Description |
|---|---|
-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
| Flag | Description |
|---|---|
--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.