CLI for Deploying Cloud AI-Agent Workspaces
Overview
The official command-line interface for Chucky, an open-source platform for deploying Claude-powered AI agent workspaces to the cloud. Published to npm as @chucky.cloud/cli, it gives developers a git-style workflow for shipping, running, and managing agent workspaces.
Why It Exists
Running an autonomous coding agent in the cloud means packaging a workspace, authenticating, uploading artifacts, and managing remote sessions and jobs. The CLI collapses that into a few familiar commands so developers can init, deploy, and prompt an agent the same way they would push code.
What We Built
A TypeScript CLI built on Commander with an Inquirer-driven interactive UX (ora spinners, chalk output). Commands cover the full lifecycle: login (browser-based device flow or ak_live_... API key), init, deploy, apply/diff/discard/pull/fetch (a git-like sync model for the remote workspace), prompt, sessions, jobs, wait, log, keys, list, config, and delete. The lib layer handles workspace archiving (archiver + glob), direct uploads to Cloudflare R2, JWT/HMAC token minting, git integration, and host-tool plumbing. A bundled GitHub Actions template wires the same flow into CI for automated deploys.
Technologies & Approach
TypeScript on Node 18+, distributed as a global npm binary, consuming the project’s own @chucky.cloud/sdk. The deploy model intentionally mirrors git (diff/apply/discard/pull) so the remote agent workspace feels like a tracked working tree, and R2-direct upload keeps large workspace bundles off the API path.
Outcome / Impact
Provides the primary developer entry point to the platform, one install, browser login, and deploy to put a Claude agent in the cloud, with a ready-made GitHub Action for hands-off CI deployment.
Capabilities Demonstrated
- Ergonomic developer CLI design (Commander + Inquirer)
- Git-style sync model for remote agent workspaces
- Browser device-flow and API-key authentication
- Direct-to-object-storage (R2) artifact packaging
- CI/CD integration via generated GitHub Actions