idp-cli
idp is the InfraDots command-line tool. It runs the same plan and apply workflows and manages the same workspaces, variables, and VCS connections you see in the dashboard — straight from your terminal or CI.
💡 Tip
[!tip]
Want your editor's AI assistant to run these commands for you? See AI in Your IDE. It adds a skill that teaches Claude Code, Cursor, and others to drive idp safely — plan before apply, never print secrets, watch jobs to completion.
Install
Homebrew (macOS / Linux)
brew install infradots/tap/idp
Go
go install github.com/infradots/idp-cli@latest
Release binaries
Download the archive for your platform from the Releases page and place the idp binary on your PATH.
Verify the install:
idp version
Authenticate
idp auth login
This opens your browser, signs you in, and saves an API token to ~/.idp/config.yaml. For a self-hosted or local install, point it at the right hosts:
idp auth login --host http://localhost:8000 --app-url http://localhost:3001
For CI or headless environments, skip the browser and pass a token created in the web app under Settings → Tokens:
idp auth login --host https://api.infradots.com --token "$INFRADOTS_TOKEN" --no-prompt
Confirm it worked:
idp org list
Configuration lives at ~/.idp/config.yaml and supports multiple profiles:
default_profile: prod
profiles:
prod:
host: https://api.infradots.com
web_url: https://app.infradots.com
token: <jwt>
default_org: my-org
💡 Tip
[!tip]
idp resolves credentials from flags first, then INFRADOTS_* environment variables, then the active profile in ~/.idp/config.yaml. Set default_org in your profile so you don't have to pass --org on every command.
Commands
| Group | Subcommands |
|---|---|
idp auth | login · logout · token list|create|revoke |
idp org | list · get <org> |
idp workspace (alias ws) | list · get · create · update · delete |
idp job | list · run · get · approve · cancel · discard · output |
idp variable (alias var) | list · set · delete |
idp vcs | list · create · delete |
idp agent | list · history |
Workspaces
idp workspace list --org my-org
idp workspace create --org my-org --name prod-vpc --vcs <vcs-id> --repo my-org/infra
idp workspace get prod-vpc --org my-org
Jobs (plan / apply)
idp job run --org my-org --workspace prod-vpc --type plan
idp job get <job-id> --org my-org --workspace prod-vpc --watch
idp job output <job-id> --org my-org --workspace prod-vpc --stage plan
idp job approve <job-id> --org my-org
--type accepts plan, apply, or plan_only. idp job get --watch polls until the job reaches a terminal state.
Variables
idp variable list --org my-org --workspace prod-vpc
idp variable set TF_VAR_region us-east-1 --org my-org --workspace prod-vpc
idp variable set TF_VAR_db_password '<secret>' --org my-org --workspace prod-vpc --sensitive
Omit --workspace to manage org-level variables. Use --sensitive for secrets and --hcl for HCL values.
VCS connections
idp vcs list --org my-org
idp vcs create --org my-org --name github-main --type github --token <pat>
Auth & tokens
idp auth token list
idp auth token create --description "ci pipeline"
idp auth token revoke <token-id>
Global flags & output
| Flag | Behavior |
|---|---|
--org, -o | Organization name (or set default_org in your profile) |
--profile | Config profile to use |
--host / --token | Override the API host / token |
--output, -f | Output format: table (default), json, yaml |
--quiet, -q | Print only IDs/names (pipe-friendly) |
Run idp <command> --help for the exact flags on any subcommand.
Drive it from your IDE
To let your editor's AI assistant run these commands on your behalf, add the InfraDots skill — see AI in Your IDE.
Related
- AI in Your IDE — let Claude Code, Cursor, and others drive
idp - Your First Run — plan and apply in the dashboard
- Variables and Secrets — manage Terraform and environment variables
