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-tokenCommands
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 keysFlags
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-deleteTargeting 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 jsonShell 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.fishConfiguration File
The CLI reads configuration from ~/.gogreen/config.yaml:
api_url: https://api.gogreenflags.com
default_org: org-123
default_project: proj-456
output: tableExamples
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 jsonExport all flags as JSON
gogreen flag list --project web-app --output json > flags-backup.json