# The Ablo command line

@abloatai/cli is the official Ablo command line. Scaffold a project, connect your Postgres, push a schema, mint branch credentials, and tail the log, from a terminal or from an agent running without a TTY.

One command sets up a project. Every command runs unattended, so an agent can drive the same setup a person would.

```bash
npx ablo init --yes
```

Published on npm as [@abloatai/cli](https://www.npmjs.com/package/@abloatai/cli), installing the `ablo` binary. The source is public and Apache-2.0 at [github.com/Abloatai/ablo](https://github.com/Abloatai/ablo). Every command is documented in the [quickstart](https://docs.abloatai.com/quickstart).

## What it does

npx ablo init --yes scaffolds a schema file, the client that reads it, and the browser wiring if the project is a Next.js app. It writes real files into your repository rather than printing a snippet to copy, so the next thing you do is edit working code.

### Connecting a database

ablo connect walks a Postgres through what logical replication needs, and ablo connect apply does the whole setup from one administrative connection and leaves your application holding nothing but an API key. Your rows never move: Ablo reads the replication stream your database already produces, and writes land back through a role you scope.

### Schema, branches, and credentials

ablo push sends a schema to the branch the current credential targets, and refuses a destructive change unless you say so. A production push demands the destination typed by name, and with no terminal attached it refuses outright rather than deploying unattended. ablo dev creates an isolated branch for the Git ref you are on, mints a temporary key scoped to it, writes that key into a gitignored file, pushes once, and exits.

### Built for unattended use

Every prompt has a flag. Every long-running command has a form that exits. ablo status --json reports readiness as a list of blockers, each carrying the problem and the one fix, which is what a deployment gate should be reading instead of parsing human output. Nothing in the command line prints a secret, so an agent can run it without a key ending up in a transcript.

---

Canonical URL: https://www.abloatai.com/product/cli

Also machine-readable on this domain: /llms.txt, /llms-full.txt, /openapi.json, /sitemap.xml, /robots.txt
