Typebase.
CLI

Reference

All available Typebase CLI commands.

Last updated on

The Typebase CLI is the main tool for managing your project. It handles code generation, deployment, database management, and more.

Usage

npx typebase-io-cli <command> [options]

If you installed the CLI globally, you can also run:

typebase-io-cli <command> [options]

Commands

CommandDescription
initScaffold a new Typebase project structure
codegenRegenerate type definitions
startRun your server on your own machine, rebuilt on every change
deployBuild and deploy your server to the cloud
generate-serverGenerate server files locally without deploying
dbManage your database (push, pull, or migrations)
authManage authentication (generate auth tables)
storageCreate the storage buckets your project declares
envManage environment variables on your deployment provider
logsStream runtime logs from your deployed server
configPrint the config schema annotated with the current values

Versions

npx typebase-io-cli --version prints the version of the CLI you are running.

The CLI and typebase-io are released together and share a version number. Before running a command that needs the package, the CLI compares its own version against the installed typebase-io and warns when they differ:

Warning: this CLI is 0.1.15, but the installed `typebase-io` is 0.1.14. They are released together, so generated code and
deploys can break while they differ. Install `typebase-io@0.1.15`, or run the CLI as `npx typebase-io-cli@0.1.14`.

It's a warning, not an error, so the command still runs. env, logs and config don't need typebase-io at all and skip the check.

Telemetry

The CLI collects anonymous usage data so we can see which commands and options people use, and focus work where it matters. The first command you run in a project prints a notice about it to stderr, then records in typebase.json that it was shown, so you only see it once per project.

Each command you run sends one event with:

FieldExample
Commandenv prod add
Targetdev or prod, for commands that take one
Options{ "provider": "vercel", "logs": true }
CLI version0.1.23
Node versionv24.1.0
OS and CPUdarwin, arm64
CIWhether the CI environment variable is set

Options are recorded only when you pass them. Flags that are on or off, and options that take one of a fixed list of values such as --provider, are sent as you typed them. Every other option, a URL, a path, a command or a name, is sent as true, so we learn it was used but never its value. Arguments other than the dev or prod target, such as the key and value given to env add, are never sent, and neither are your code, your .env files or anything read from them.

IP addresses are discarded when events arrive, so no IP address and no location derived from one is stored.

Events from the same project on the same machine share an id, a SHA-256 hash of the machine name and the project directory, so repeated runs can be counted together without the hash revealing either.

Opting out

Set telemetry.enabled to false in typebase.json:

typebase.json
{
  "telemetry": {
    "enabled": false
  }
}

Because typebase.json is committed, this opts out everyone working on the project. To opt out on your own machine, or in CI, set either environment variable instead:

export TYPEBASE_TELEMETRY_DISABLED=1
# or the cross-tool convention
export DO_NOT_TRACK=1

With telemetry disabled, the CLI sends nothing and shows no notice.

On this page