# CLI Commands

> Complete reference of all Tarout CLI commands

# CLI Commands

## Authentication

Manage authentication.

```bash
tarout login               # Login to Tarout
tarout register            # Create a free account
tarout logout              # Logout
tarout whoami              # Show current auth status
```

## `tarout apps`

Manage applications.

```bash
tarout apps list           # List all applications
tarout apps create [name]  # Create a new application
tarout apps delete <app>   # Delete an application
tarout apps info <app>     # Show application details
```

## `tarout deploy`

Deploy your application.

```bash
tarout deploy                        # Inspect, link/create, connect the GitHub repo or upload this folder, and deploy
tarout deploy --wait                 # Deploy and follow logs
tarout deploy <app> --wait           # Deploy a specific application
```

The deploy command inspects the project before asking resource questions. If it detects a database, storage usage, or Git metadata, it prompts with defaults that match the code. A folder with a github.com remote deploys from that repo, so every push redeploys; the CLI binds it when your organization's GitHub connection can read the repo, and otherwise uploads the folder and tells you how to connect it. `tarout providers github connect --wait --app <app>` opens the same GitHub setup page as the platform UI, waits for it, and puts the app on push-to-deploy. Use `--source upload` only when you want to deploy the current folder instead of the repo; use `--source configured` only for an existing app that already has a configured Git provider source.

## `tarout env`

Manage environment variables.

```bash
tarout env <app> list                  # List all variables
tarout env <app> set KEY=value         # Set a variable
tarout env <app> unset KEY             # Delete a variable
tarout env <app> push --input .env     # Import from .env file
tarout env <app> pull --output .env    # Export to .env file
```

## `tarout db`

Manage databases.

```bash
tarout db list             # List all databases
tarout db create [name]    # Create a new database
tarout db delete <db>      # Delete a database
tarout db info <db>        # Show database details
```

## `tarout domains`

Manage custom domains.

```bash
tarout domains list                    # List all domains
tarout domains add example.com         # Add a domain
tarout domains delete example.com      # Remove a domain
```

## `tarout link`

Link the current directory to a Tarout application.

```bash
tarout link                # Interactive linking
tarout link <app>          # Link to a specific app
```

## `tarout orgs`

Manage organizations.

```bash
tarout orgs list           # List your organizations
tarout orgs switch         # Switch active organization
```

## `tarout dev`

Local development helpers.

```bash
tarout dev                 # Start local development with Tarout integration
```

## Global Options

| Flag | Description |
|------|-------------|
| `--help` | Show help for any command |
| `--version` | Show CLI version |
| `--json` | Output as JSON |

---

## Every Tarout agent guide

- [Start Here (Agents)](https://tarout.sa/docs/for-ai/start.md)
- [Overview](https://tarout.sa/docs/for-ai.md)
- [Deploying an app](https://tarout.sa/docs/for-ai/deploy.md)
- [Databases](https://tarout.sa/docs/for-ai/database.md)
- [Object storage](https://tarout.sa/docs/for-ai/storage.md)
- [Custom domains](https://tarout.sa/docs/for-ai/domains.md)
- [Plans and upgrades](https://tarout.sa/docs/for-ai/billing.md)
- [Troubleshooting](https://tarout.sa/docs/for-ai/troubleshoot.md)
- [Agent Onboarding](https://tarout.sa/docs/for-ai/onboarding.md)
- [CLI Reference](https://tarout.sa/docs/for-ai/cli-reference.md)
- [CLI JSON Schema](https://tarout.sa/docs/for-ai/cli-json-schema.md)

Whole corpus in one file: https://tarout.sa/llms-full.txt · index: https://tarout.sa/llms.txt
Any docs page is raw markdown at the same URL + `.md`. Short link to the entry point: https://tarout.sa/deploy.md
