A VS Code extension for deploying, monitoring, and managing machine learning workloads — without leaving your editor.
Features
- Deploy to Docker, Fly.io, Railway, AWS (ECS/Lambda/EKS), and Kubernetes with pre-deploy validation, migration runner, deploy diff, and auto-rollback on health failure
- 10 cloud providers — AWS, GCP, Azure, DigitalOcean, Hetzner, Linode, Vultr, Fly.io, OCI, Cloudflare — with start/stop/scale/deploy/rollback from the tree view
- ML training — push code to GPU servers, launch jobs, tail logs, watchdog alerts (OOM, diverging loss, VRAM trajectory), OOM auto-retry with halved batch size, job queue, ETA status bar, auto-download checkpoints
- Experiment comparison — side-by-side loss curves, metrics tables, and hyperparameter diffs across training runs
- Security — env audit, vulnerability scanning (npm/pip/cargo/bundle), secret redaction in output, secret scanning on git stage, policy checks
- Dashboard — live container stats, health status, GPU stats, training metrics, deployment history
- Team sync — shared deployment history and credential distribution via a self-hosted backend

Prerequisites
Install the CLIs for the platforms you intend to use:
| Platform | CLI | Install |
|---|---|---|
| Docker | docker |
docs.docker.com |
| Fly.io | flyctl |
curl -L https://fly.io/install.sh | sh |
| Railway | railway |
npm i -g @railway/cli |
| AWS | aws |
aws.amazon.com/cli |
| Kubernetes | kubectl |
kubernetes.io |
| GCP | gcloud |
cloud.google.com/sdk |
| Azure | az |
learn.microsoft.com |
| DigitalOcean | doctl |
github.com/digitalocean/doctl |
Run Green: Check Dependencies (Cmd/Ctrl+Shift+P) to see which tools are installed and get install links for any that are missing.
Installation
Install from the VS Code marketplace (search Green) or install the .vsix directly:
code --install-extension green-0.1.0.vsix
Quick Start
Deploy
- Open a project folder in VS Code.
- Connect a cloud provider: Green: Connect Cloud Provider and enter your credentials.
- Run Green: Deploy — Green validates your project, shows a diff, runs migrations, deploys, and starts health monitoring.
Machine Learning
- Green ML: Add GPU Server — enter SSH host, user, key path, remote project path, and results path.
- Green ML: Push to GPU Server — rsyncs your project to the server.
- Green ML: Launch Training Job — enter the training command; a watchdog starts automatically.
- View live progress in the ETA status bar; get VS Code notifications on OOM, loss divergence, or stagnation.
- Green ML: Compare Experiments — select runs in the left panel to compare loss curves, metrics, and hyperparameters side by side.
Configuration (.green.json)
Place a .green.json in your project root. schemaVersion must be 1.
{
"schemaVersion": 1,
"defaultTarget": "fly",
"defaultRegion": "us-east-1",
"deploymentName": "my-app",
"namespace": "production",
"autoRollback": {
"enabled": true,
"windowSecs": 300
},
"environments": {
"staging": {
"target": "railway",
"region": "us-west-2"
},
"prod": {
"target": "aws",
"region": "eu-west-1",
"service": "my-ecs-service",
"cluster": "my-cluster"
}
}
}
| Key | Type | Description |
|---|---|---|
schemaVersion |
1 |
Required. Must be 1. |
defaultTarget |
string | Default deploy target (docker, fly, railway, aws). |
defaultRegion |
string | Default cloud region. |
deploymentName |
string | Default Kubernetes deployment name. |
namespace |
string | Default Kubernetes namespace. |
autoRollback.enabled |
boolean | Auto-rollback if health check fails post-deploy. Default true. |
autoRollback.windowSecs |
number | Health monitoring window after deploy. Default 300. |
environments.* |
object | Per-environment overrides. Keys: target, region, service, cluster, namespace, deploymentName. |
Team Sync
Green can share deployment history and credentials across your team via a self-hosted backend.
Deploy the server
cd server/
cp .env.example .env # fill in POSTGRES_URL and ENCRYPTION_KEY (64-char hex)
npm ci && npm run db:migrate
npm start
The server exposes:
POST /teams— create a team, returns{ teamId, token, syncUrl }GET/POST /teams/:id/deployments— shared deployment historyGET/PUT /teams/:id/credentials— encrypted shared credentials
Connect team members
Each developer runs Green: Connect Team Sync and pastes the syncUrl and token. The token is stored in VS Code SecretStorage and never written to disk.
Add to .green.json:
{
"schemaVersion": 1,
"remote": {
"syncUrl": "https://your-server.example.com/teams/YOUR_TEAM_ID",
"credentialsSource": "https://your-server.example.com/teams/YOUR_TEAM_ID/credentials"
}
}
Contributing
git clone <repo>
cd green
npm ci
npm run check-types # type check
npm run lint # eslint
npm run test:unit # unit tests (95 tests, no VS Code required)
npm run compile # build extension
Press F5 in VS Code to launch the Extension Development Host.
Security
- All secrets entered through provider dialogs are stored in VS Code
SecretStorage(OS keychain), never in plaintext files. - Output panels redact stored secret values automatically.
- Pre-deploy validation runs security scans, env audits, and vulnerability scanning before every deploy.
- Shell commands are always quoted with
q()to prevent injection.