Skip to Content
DocsCLI Reference

CLI Reference

The GoGreen Flags CLI provides command-line access to all platform features. Manage flags, segments, environments, and more without leaving your terminal.

Installation

# From source go install github.com/MarkDurbin104/GoGreen/tools/cli@latest # Or build from the repository cd tools/cli && go build -o gogreen .

Authentication

# Login with your API credentials gogreen auth login # Or set credentials via environment variables export GOGREEN_API_URL=https://api.gogreenflags.com export GOGREEN_API_TOKEN=your-service-token

Commands

Organizations

gogreen org list # List organizations gogreen org get <org-id> # Get organization details gogreen org create --name "Acme" # Create organization gogreen org update <org-id> --name "Acme Corp"

Projects

gogreen project list # List projects in current org gogreen project get <project-id> # Get project details gogreen project create --name "Web App" gogreen project update <project-id> --name "Mobile App" gogreen project delete <project-id>

Environments

gogreen env list --project <id> # List environments gogreen env get <env-id> # Get environment details gogreen env create --project <id> --name "staging" gogreen env update <env-id> --name "pre-prod" gogreen env delete <env-id> gogreen env rotate-keys <env-id> # Rotate SDK keys

Flags

gogreen flag list --project <id> # List flags gogreen flag get <flag-key> # Get flag details gogreen flag create --project <id> --key "new-feature" --type boolean gogreen flag update <flag-key> --description "Updated desc" gogreen flag toggle <flag-key> --env <env-id> # Toggle on/off gogreen flag archive <flag-key> # Soft-delete

Targeting Rules

gogreen rule list --flag <key> --env <env-id> gogreen rule create --flag <key> --env <env-id> --attribute "plan" --operator "equals" --value "enterprise" --variation 1 gogreen rule update <rule-id> --variation 0 gogreen rule delete <rule-id>

Segments

gogreen segment list --project <id> gogreen segment get <segment-id> gogreen segment create --project <id> --name "Beta Users" --key "beta-users" gogreen segment update <segment-id> --name "VIP Users" gogreen segment delete <segment-id>

Service Tokens

gogreen token list # List service tokens gogreen token create --name "CI/CD" --role editor --expires 90d gogreen token revoke <token-id>

Output Formats

All commands support two output formats:

# Table format (default, human-readable) gogreen flag list --output table # JSON format (machine-readable, for scripting) gogreen flag list --output json

Shell Completion

Generate shell completion scripts:

# Bash gogreen completion bash > /etc/bash_completion.d/gogreen # Zsh gogreen completion zsh > ~/.zfunc/_gogreen # Fish gogreen completion fish > ~/.config/fish/completions/gogreen.fish

Configuration File

The CLI reads configuration from ~/.gogreen/config.yaml:

api_url: https://api.gogreenflags.com default_org: org-123 default_project: proj-456 output: table

Examples

Quick flag toggle for incident response

# Kill switch: disable a feature immediately gogreen flag toggle problematic-feature --env prod --off # Verify it's disabled gogreen flag get problematic-feature --output json | jq '.environments.prod.enabled'

Scripted flag creation in CI/CD

# Create a flag for a new feature branch BRANCH=$(git branch --show-current) gogreen flag create \ --project web-app \ --key "feature-${BRANCH}" \ --type boolean \ --description "Feature flag for branch ${BRANCH}" \ --output json

Export all flags as JSON

gogreen flag list --project web-app --output json > flags-backup.json