Skip to main content

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.

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.

Project Templates

Quick-start with PyTorch, TensorFlow, or scikit-learn templates

Automated Testing

Built-in test suite for ML environments, data pipelines, and model inference

Container Management

Simplified Docker builds and deployments with smart project detection

Environment Validation

Checks for Python, CUDA, and dependency compatibility

Installation

Install the Cirron CLI globally using npm (requires Node.js 20.19 or newer):
npm install -g @cirron/cli
Verify the installation:
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. 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

my-pytorch-model/
├── cirron.yaml CLI finds this
├── train.py
├── serve.py
└── requirements.txt
When you run:
cd my-pytorch-model
cirron build              # Works

No Project Found

# If you're in the wrong directory:
cd ~
cirron build              # Fails: no cirron.yaml

Commands Overview

Global Commands

These commands work from anywhere:
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

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)

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

The CLI provides several project templates to get you started quickly:

PyTorch

cirron init my-model --template pytorch
Includes PyTorch, torchvision, and common ML dependencies

TensorFlow

cirron init my-model --template tensorflow
Includes TensorFlow, Keras, and GPU support

scikit-learn

cirron init my-model --template sklearn
Includes scikit-learn, pandas, and numpy

Build System

The CLI provides intelligent container building with smart project detection:

Basic Build

cirron build                           # Build: localhost:5000/user/project:latest
cirron build --env staging             # Build: localhost:5000/user/project:staging-1.0.0  
cirron build --tag v1.2.3             # Build: localhost:5000/user/project:v1.2.3
cirron build --push                   # Build + push to registry
cirron build --clean                  # No-cache build

Registry Configuration

Configure your registry using environment variables:
export CIRRON_REGISTRY=localhost:5000        # Default local registry
export CIRRON_ORG=mycompany                  # Your organization
# Image becomes: localhost:5000/mycompany/project:tag

Image Naming Convention

Format: registry/organization/project:tag Examples:
  • localhost:5000/john/my-pytorch-model:latest
  • harbor.company.com/ml-team/sentiment-model:v1.0.0

Multi-Project Workflow

The CLI is designed for working with multiple projects:
# Work on multiple projects
cd ~/ml-projects/model-a
cirron build --tag v1.0.0

cd ~/ml-projects/model-b  
cirron test --model

cd ~/ml-projects/model-c
cirron deploy --env staging

Typical Project Structure

~/ml-projects/
├── sentiment-model/
   ├── cirron.yaml
   └── train.py
├── image-classifier/
   ├── cirron.yaml
   └── train.py
└── recommendation-engine/
    ├── cirron.yaml
    └── train.py
If you keep several models in one repository, add a root cirron.yaml with a workspace: key instead. See Monorepo support.

Authentication

Authentication is optional and only needed for connecting to the Cirron platform. You can use all CLI features locally without authentication:
# 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

Template System

The init command supports multiple ML framework templates:
  • PyTorch: pytorch (inference) and pytorch-train (training pipeline)
  • TensorFlow: tensorflow (inference) and tensorflow-train (training pipeline)
  • Scikit-learn: sklearn (basic model) and sklearn-pipeline (full pipeline)
  • Custom: custom (blank Python project template)
Each template generates the entry points, requirements.txt, and a cirron.yaml for that framework, plus framework-specific data and model utilities. Training templates add a full training pipeline.

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