CLI

Provision projects from your terminal with npx donno init. Same provisioning pipeline as the web wizard, driven by interactive prompts.

Quick start

npx donno init

This runs the full provisioning flow: login, project configuration, account connections, provisioning, and optional local clone.

Commands

donno init

The main command. Walks you through the complete provisioning flow:

  1. Auth check - if not logged in, prompts for email and password.
  2. Project basics - name, description, target audience.
  3. Stack configuration - framework, auth methods, payments, email, analytics.
  4. Pricing model - if payments are enabled, define your plans and prices.
  5. Connect accounts - OAuth providers open your browser. API key providers prompt directly in the terminal.
  6. Review - summary of your selections with a confirmation prompt.
  7. Provision - sends your configuration to the Donno API. Shows a live progress spinner for each provisioning step.
  8. Clone - optionally clones the new GitHub repo to your current directory.

donno login

Authenticate with your Donno account. Prompts for email and password. Supports both sign-in and sign-up (new accounts are created automatically).

Credentials are stored at ~/.donno/credentials.json with file permissions restricted to your user account (mode 0600). Tokens are automatically refreshed when they expire.

donno logout

Clears your stored credentials by deleting ~/.donno/credentials.json.

donno status <project-id>

Check the provisioning status of a project. Shows each provisioning step with its current state (pending, running, completed, or failed) and links to provisioned resources.

The project ID is displayed after provisioning starts. You can also find it in your Donno dashboard.

OAuth connections

GitHub, Supabase, and Stripe require browser-based OAuth. When the CLI needs to connect one of these providers:

  1. It starts a temporary local server on a random port.
  2. It opens your default browser to the Donno OAuth URL.
  3. You authorize Donno in the browser.
  4. The browser redirects back to the local server, completing the connection.
  5. The local server shuts down.

Note: you must be logged into donno.ai in your browser for OAuth connections to work from the CLI. This is because the OAuth initiation route authenticates via your browser session.

For API key providers (Vercel, Resend), the CLI prompts you to paste the key directly in the terminal. No browser interaction is needed.

Environment variables

The CLI reads three optional environment variables for configuration:

VariableDefaultPurpose
DONNO_API_URLhttps://donno.aiBase URL for API calls
DONNO_SUPABASE_URLProduction URLSupabase project URL for auth
DONNO_SUPABASE_ANON_KEYProduction keySupabase anon key for auth

These are mainly useful for local development:

DONNO_API_URL=http://localhost:3000 npx donno init

Credential storage

Authentication tokens are stored at ~/.donno/credentials.json:

{
  "access_token": "eyJhbGciOiJ...",
  "refresh_token": "v1.MR...",
  "email": "you@example.com"
}

The file is created with 0600 permissions (owner read/write only). On Windows, the path falls back to %USERPROFILE%/.donno/. Running donno logout deletes the file. If tokens expire and cannot be refreshed, the file is also deleted automatically.


For the visual interface, see the web wizard docs. To understand what each provider does, see providers.