Skip to main content
The chucky deploy command uploads your workspace to Chucky Cloud, making it available for AI agent execution.

Prerequisites

Before deploying:
  1. Logged in: Run chucky login first
  2. Project initialized: Run chucky init in your project directory
  3. Git repository: Your project must be a git repository
  4. Clean working tree: Commit or stash changes (or use --force)

Basic Deployment

This will:
  1. Create a tar.gz archive of your workspace (including .git)
  2. Upload to Chucky’s R2 storage
  3. Sync any cron jobs defined in .chucky.json
  4. Output example code for generating tokens

Command Options

Examples


Configuration Files

.chucky.json (Committed)

Project configuration that’s part of your codebase:

Configuration Options

Cron Job Options

.chucky (Git-ignored)

Local binding that links your directory to a Chucky project:
This file is automatically created by chucky init and should be added to .gitignore. It allows different team members to bind to different projects (e.g., dev vs production).

Environment Variables

Override CLI configuration with environment variables:

Using in CI/CD


Deployment Workflow

What Gets Uploaded

The deployment archive includes:
  • All files in the workspace folder
  • The .git directory (for history and branching)
  • Excluding: .DS_Store, Thumbs.db, *.tgz

What Happens After Upload

  1. Archive stored: Uploaded to R2 with presigned URL
  2. Project updated: Portal notified of new workspace version
  3. Crons synced: Jobs created/updated/deleted to match .chucky.json
  4. Ready for use: Sessions and jobs use the new workspace

Git Requirements

Your workspace must be:
  • A git repository (has .git directory)
  • The root of its own repository (not nested in another repo)
  • Have a clean working tree (or use --force)

CI/CD Integration

GitHub Actions

When you run chucky init, the CLI offers to create a GitHub Actions workflow:

GitLab CI

Manual Deployment

For manual deployments, ensure you’re logged in:

Output

Interactive Output

JSON Output


Troubleshooting

”Not a git repository”

Your project folder must be a git repository:

“Uncommitted changes”

Either commit your changes or use --force:

“Nested repository”

The deploy folder must be the root of its own git repository, not a subdirectory of another repo.

”Not logged in”

Run chucky login first:

“Project not initialized”

Run chucky init in your project directory:

Next Steps

Cron Jobs

Schedule recurring AI tasks

Jobs

Run background jobs

Prompt Command

Send prompts to your project

Git Bundles

Sync changes back to local