brainstorm

CLI for automating infrastructure and deployments at Brainstorm.

Install

Download the CLI from the repository’s Releases tab. Pick the latest release and download the asset for your platform:

Put the file in a directory on your PATH (e.g. ~/.local/bin, /usr/local/bin). On Linux and macOS run chmod +x on the downloaded file.

Features

login

$ brainstorm login Click to copy

Authenticate with the Brainstorm server using your GitHub account. Uses GitHub Device Flow: the CLI fetches OAuth config from the server, opens a one-time code in the browser, you authorize the app on GitHub, then the CLI sends your token to the server and stores a session token locally. Required before running plan, helm, or apply. Your GitHub user must be in the server’s authorized list.

init

$ brainstorm init Click to copy

Initialize a new project configuration. Creates a local brainstorm.config.toml with your project name, GitHub repo, namespace, port, Dockerfile path, and options for database, storage, and Redis. Guides you through environment setup (staging/production) and optional shared or dedicated database cluster.

helm

$ brainstorm helm Click to copy

Generate Helm charts and GitHub Actions workflows from your config. Produces the helm/ directory and workflow files for building and pushing Docker images (e.g. to ECR) and deploying via Argo CD. Run after configuring your project with init.

plan

$ brainstorm plan Click to copy

Preview what will be created without applying changes. Connects to the Brainstorm server, validates your config, and shows a dry-run of resources (namespaces, databases, repos, etc.). Use this to verify the plan before running apply.

apply

$ brainstorm apply Click to copy

Apply your project configuration and create infrastructure. Sends your plan to the Brainstorm server to provision resources (e.g. RDS, ECR, GitHub repo setup, Argo CD). Can use cached plan from a previous plan run. Outputs connection details for database and Redis when relevant.