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 --helpFor Production (when published)
npm install -g teenode-cliCommand 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:
| Flag | Description | Example |
|---|---|---|
--json | Output results in JSON format for automation | teenode project list --json |
--yes, -y | Skip confirmation prompts | teenode project delete proj_123 --yes |
--team TEAM_ID | Override current team context | teenode 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 --helpConfiguration
The CLI automatically stores your configuration in ~/.teenode/config.json. Your API key and team preferences are kept secure and persistent.
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 accountteenode auth status- Check authentication statusteenode auth whoami- Display current user informationteenode auth logout- Logout from your account
See Authentication for detailed documentation.
Teams (team)
teenode team list- List all your teamsteenode team use TEAM_ID- Switch to a different teamteenode team current- Show currently selected team
See Teams for detailed documentation.
Projects (project)
teenode project list- List all projectsteenode project create- Create a new projectteenode project info ID- Get project detailsteenode project update ID- Update project settingsteenode project delete ID- Delete a project
See Projects for detailed documentation.
Deployments (deployment)
teenode deployment list PROJECT_ID- List deploymentsteenode deployment create PROJECT_ID- Create deploymentteenode deployment info ID- Get deployment detailsteenode deployment logs ID- View deployment logs
See Deployments for detailed documentation.
Virtual Machines (vm)
teenode vm create PROJECT_ID- Create a VMteenode vm info PROJECT_ID- Get VM statusteenode vm start PROJECT_ID- Start VMteenode vm stop PROJECT_ID- Stop VMteenode vm restart PROJECT_ID- Restart VMteenode vm delete PROJECT_ID- Delete VMteenode vm console PROJECT_ID- Get connection infoteenode vm attest PROJECT_ID- Get attestation report
See Virtual Machines for detailed documentation.
SSH Keys (ssh-key)
teenode ssh-key list- List SSH keysteenode ssh-key add- Add SSH keyteenode ssh-key delete KEY_ID- Delete SSH key
See SSH Keys for detailed documentation.
What’s Next?
- Authentication - Learn how to login and authenticate
- Projects - Create and manage projects
- Create Your First Project - Step-by-step guide