> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cirron.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Command-line interface for ML model development and deployment.

# Cirron CLI

Cirron's integrated CLI tool for machine learning engineers, data scientists, and anyone with an interest in ML development. The Cirron CLI streamlines the development, testing, and deployment of ML models with powerful features.

<CardGroup cols={2}>
  <Card title="Project Templates" icon="rocket" href="/cli/commands/init">
    Quick-start with PyTorch, TensorFlow, or scikit-learn templates
  </Card>

  <Card title="Automated Testing" icon="test-tube" href="/cli/commands/test">
    Built-in test suite for ML environments, data pipelines, and model inference
  </Card>

  <Card title="Container Management" icon="docker" href="/cli/commands/build">
    Simplified Docker builds and deployments with smart project detection
  </Card>

  <Card title="Environment Validation" icon="check-circle" href="/cli/commands/doctor">
    Checks for Python, CUDA, and dependency compatibility
  </Card>
</CardGroup>

## Installation

Install the Cirron CLI globally using npm (requires Node.js 20.19 or newer):

```bash theme={null}
npm install -g @cirron/cli
```

Verify the installation:

```bash theme={null}
cirron --version
```

A `curl` one-line installer and a Homebrew formula are coming. For now, npm is the supported distribution channel.

## Quick Start

Get up and running in minutes with our [Quickstart Guide](/cli/quickstart). The guide walks you through:

* Installing the CLI
* Creating your first project
* Testing and building
* Deploying to Cirron platform

## Project Detection

The CLI automatically detects Cirron projects by looking for `cirron.yaml` in the current working directory (`cirron.yml` and `cirron.json` are also accepted):

### Project Found

```bash theme={null}
my-pytorch-model/
├── cirron.yaml          ← CLI finds this
├── train.py
├── serve.py
└── requirements.txt
```

When you run:

```bash theme={null}
cd my-pytorch-model
cirron build              # Works
```

### No Project Found

```bash theme={null}
# If you're in the wrong directory:
cd ~
cirron build              # Fails: no cirron.yaml
```

## Commands Overview

### Global Commands

These commands work from anywhere:

```bash theme={null}
cirron --version          # Show CLI version
cirron --help             # Show help
cirron auth login         # Authenticate with Cirron
cirron config --list      # Show configuration
```

### Project Commands

These commands operate on a project, identified by a `cirron.yaml` in the current directory:

#### Offline Commands

```bash theme={null}
cirron init               # Initialize a new project 
cirron validate           # Validate the project/model config 
cirron compile            # Compile the model locally
cirron build              # Build a container image
cirron test               # Run project tests
cirron plan               # Generate execution plans
cirron lint               # Project health checks
cirron doctor             # Diagnose the local environment
cirron traces             # Inspect local traces and snapshots
cirron spool              # Inspect and flush the local spool
cirron info               # Model info and diagnostics
```

#### Online Commands (require authentication and connection to Cirron platform)

```bash theme={null}
cirron register           # Register an existing project with Cirron
cirron deploy             # Deploy the project
cirron run                # Training runs and jobs
cirron push               # Push artifacts to the registry
cirron pull               # Pull artifacts from the registry
cirron sync               # Bidirectional sync
cirron status             # Show project status
cirron logs               # View deployment logs
```

## Project Templates

See [`cirron init`](/cli/commands/init) and [Templates](/cli/templates/template-generation) for available templates and how to scaffold a project.

## Build System

See [`cirron build`](/cli/commands/build) for container build options, registry configuration, and image naming.

## Authentication

Authentication is optional and only needed for connecting to the Cirron platform. You can use all CLI features locally without authentication:

```bash theme={null}
# Optional: Connect to Cirron platform
cirron auth login

# Work locally without authentication
cirron init my-project
cirron test
cirron build
```

## Environment Validation

The CLI automatically validates your environment:

* Python version compatibility
* CUDA availability for GPU projects
* Required dependencies
* Docker availability for container builds

## Configuration

* **Project Config**: Projects use `cirron.yaml` for configuration (`cirron.yml` and `cirron.json` also accepted)
* **Global Config**: User settings in `~/.cirron/config.json`, managed with `cirron config`
* **Environments**: development / staging / production configurations
* **Resolution order**: global config → project config → command line flags

## Next Steps

* [Quickstart Guide](/cli/quickstart) - Get up and running quickly
* [Commands Reference](/cli/commands) - Explore all available commands
* [API Reference](/api-reference) - Explore the Cirron API
