Teenode CLI Overview

The Teenode CLI is a powerful command-line interface for managing your Teenode infrastructure. With 49 commands organized into 8 command groups, you can manage projects, deployments, virtual machines, and more from your terminal.

Features

  • Team-scoped resource management with multi-tenant support
  • Deploy Docker applications directly from Git repositories
  • Launch and manage AMD SEV-SNP secured virtual machines
  • SSH key management for team authentication
  • Beautiful colored output with tables, spinners, and formatting
  • JSON output mode for CI/CD pipelines and automation
  • Mock mode for testing without API calls
  • Persistent configuration with automatic credential storage

Installation

For Development

cd /Users/jt/code/teenode.com/cli

# Install dependencies
npm install

# Build the CLI
npm run build

# Link for local testing
npm link

# Now you can use the CLI
teenode --help

For Production (when published)

npm install -g teenode-cli

Command Groups

The CLI is organized into the following command groups:

  • auth - User authentication and account management
  • team - Team management and switching
  • project - Project creation and management
  • deployment - Git Deploy deployments
  • vm - Virtual machine management
  • ssh-key - SSH key management
  • config - Configuration management (coming soon)
  • monitoring - Resource monitoring (coming soon)

Global Flags

These flags work with any command:

FlagDescriptionExample
--jsonOutput results in JSON format for automationteenode project list --json
--yes, -ySkip confirmation promptsteenode project delete proj_123 --yes
--team TEAM_IDOverride current team contextteenode project list --team team_abc123

Getting Help

# General help
teenode --help

# Help for specific command
teenode auth --help
teenode project --help

# Help for subcommand
teenode project create --help

Configuration

The CLI automatically stores your configuration in ~/.teenode/config.json. Your API key and team preferences are kept secure and persistent.

Environment Variables
You can override configuration with environment variables:
TEENODE_API_URL - API base URL (default: https://api.teenode.com)
TEENODE_MOCK - Enable mock mode for testing (default: false)

JSON Output Mode

The --json flag is perfect for automation, CI/CD pipelines, and scripting. All output will be valid JSON:

# Get projects as JSON
teenode project list --json | jq '.projects[] | select(.status == "ACTIVE")'

# Extract project ID
PROJ_ID=$(teenode project create \
  --name my-app \
  --type GIT_DEPLOY \
  --region us-east \
  --json | jq -r '.project.id')

echo "Created project: $PROJ_ID"

Command Groups Reference

Authentication (auth)

  • teenode auth login - Login to your account
  • teenode auth status - Check authentication status
  • teenode auth whoami - Display current user information
  • teenode auth logout - Logout from your account

See Authentication for detailed documentation.

Teams (team)

  • teenode team list - List all your teams
  • teenode team use TEAM_ID - Switch to a different team
  • teenode team current - Show currently selected team

See Teams for detailed documentation.

Projects (project)

  • teenode project list - List all projects
  • teenode project create - Create a new project
  • teenode project info ID - Get project details
  • teenode project update ID - Update project settings
  • teenode project delete ID - Delete a project

See Projects for detailed documentation.

Deployments (deployment)

  • teenode deployment list PROJECT_ID - List deployments
  • teenode deployment create PROJECT_ID - Create deployment
  • teenode deployment info ID - Get deployment details
  • teenode deployment logs ID - View deployment logs

See Deployments for detailed documentation.

Virtual Machines (vm)

  • teenode vm create PROJECT_ID - Create a VM
  • teenode vm info PROJECT_ID - Get VM status
  • teenode vm start PROJECT_ID - Start VM
  • teenode vm stop PROJECT_ID - Stop VM
  • teenode vm restart PROJECT_ID - Restart VM
  • teenode vm delete PROJECT_ID - Delete VM
  • teenode vm console PROJECT_ID - Get connection info
  • teenode vm attest PROJECT_ID - Get attestation report

See Virtual Machines for detailed documentation.

SSH Keys (ssh-key)

  • teenode ssh-key list - List SSH keys
  • teenode ssh-key add - Add SSH key
  • teenode ssh-key delete KEY_ID - Delete SSH key

See SSH Keys for detailed documentation.

What’s Next?

    CLI Overview - Teenode Documentation