Home Optibot CLI
πŸ‘¨β€πŸ’»

Optibot CLI

Expand Optibot's capabilities with the Optibot CLI. Review both local and remote changes directly from your terminal or CI/CD pipeline.
By Optimal Engineering
β€’ 2 articles

Optibot CLI - Getting started and installation

The Optibot CLI expands Optibot’s capabilities by letting Optibot be used by both humans and agents through a terminal or virtual environment of choice. The CLI is available directly through npm js as a published package and is regularly updated and maintained by the Optimal AI Engineering Team. Requirements for Installation - Node 20.0.0 or above - Git - Windows/Mac/Linux - A paid or trial subscription to Optibot (existing or new Optibot users with paid subscriptions can simply sign up and they'll be automatically enrolled into their existing organization). You can login here or sign up here for an account. Install npm install -g @optimalai/optibot Authentication In order to make use of Optibot's CLI we support two authentication methods: 1. Browser-Based OAuth (Recommended for Interactive Use) Best for local development and interactive CLI usage: optibot login This will: - Open your browser for login - Automatically save your credentials - Token expires after 90 days Use this when: - Setting up CLI on your local machine - You have browser access - Interactive development workflow How to Use the CLI # Review local uncommitted changes optibot review # Review against the auto-detected base branch (origin/main, origin/master, or origin/develop) optibot review -b # Review changes against a specific branch optibot review --branch origin/main # Review an arbitrary diff file optibot review --diff changes.patch Branch Review When using -b / --branch, the CLI will: 1. Auto-detect the base branch if no branch name is provided. It checks for origin/main, origin/master, and origin/develop in that order. 2. Check for merge conflicts before submitting the review. If conflicts are detected with the target branch, a warning is displayed. The review still proceeds, but results may not reflect the final merged state. 3. Generate a diff and collect file contents for the review. Review Output After each review, the CLI displays: - Review Summary β€” general comments about the changes - File Comments β€” per-file feedback with line numbers - Rate limit info β€” reviews used, remaining quota, and time until reset. The display is color-coded: - Dim when usage is normal - Yellow when less than 10% of reviews remain - Red when the quota is exhausted Commands Command | Description optibot login | Authenticate via browser (OAuth) optibot logout | Log out and remove saved credentials optibot review | Review local uncommitted changes optibot review -b | Review against auto-detected base branch optibot review -b <branch> | Review against a specific target branch optibot review -d <file> | Review a diff file optibot apikey create <name> | Create a new API key optibot apikey list | List all API keys optibot apikey delete <id> | Delete an API key

Last updated on Mar 17, 2026

CLI for Agents and CI/CD Pipelines

Using Optibot cli with CI/CD pipelines Optibot CLI was created for both use in typical development environments for engineers but also for use within CI/CD pipelines and fully autonomous agent environments like claude code, codex, open code, etc. Install npm install -g @optimalai/optibot Getting API Keys (For Agents & CI/CD) Best for non-interactive/virtual environments such as agentic coders and CI/CD pipelines: 1. First, authenticate via the CLI: optibot login 2. Create an API key: optibot apikey create ci-github-actions The output includes the key (starts with optk_). Copy it immediately β€” it is only shown once. 3. Set the key as an environment variable: export OPTIBOT_API_KEY=optk_your_key_here You can also list and delete your keys directly from the cli: # List all API keys optibot apikey list # Delete a key by ID optibot apikey delete KEY_ID Use this when: - Running in CI/CD pipelines (GitHub Actions, GitLab CI, etc.) - Automated scripts or cron jobs - Docker containers or headless environments Environment Variables - OPTIBOT_API_KEY β€” Your API token (for automation/CI/CD) - OPTIBOT_API_URL β€” Backend URL (defaults to https://agents.getoptimal.ai) Usage # Review local uncommitted changes optibot review # Review against the auto-detected base branch (origin/main, origin/master, or origin/develop) optibot review -b # Review changes against a specific branch optibot review --branch origin/main # Review an arbitrary diff file optibot review --diff changes.patch Branch Review When using -b / --branch, the CLI will: 1. Auto-detect the base branch if no branch name is provided. It checks for origin/main, origin/master, and origin/develop in that order. 2. Check for merge conflicts before submitting the review. If conflicts are detected with the target branch, a warning is displayed. The review still proceeds, but results may not reflect the final merged state. 3. Generate a diff and collect file contents for the review. Review Output After each review, the CLI displays: - Review Summary β€” general comments about the changes - File Comments β€” per-file feedback with line numbers - Rate limit info β€” reviews used, remaining quota, and time until reset. The display is color-coded: - Dim when usage is normal - Yellow when less than 10% of reviews remain - Red when the quota is exhausted CI/CD Integration Setup 1. Generate an API key (see API Keys above) 2. Add it as a repository secret (e.g., OPTIBOT_API_KEY in GitHub β†’ Settings β†’ Secrets) GitHub Actions name: Code Review on: [pull_request] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Optibot CLI run: npm install -g @optimalai/optibot - name: Run code review env: OPTIBOT_API_KEY: ${{ secrets.OPTIBOT_API_KEY }} run: optibot review --branch origin/${{ github.base_ref }} GitLab CI code-review: image: node:18 script: - npm install -g @optimalai/optibot - optibot review --branch origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME variables: OPTIBOT_API_KEY: $OPTIBOT_API_KEY only: - merge_requests

Last updated on Mar 17, 2026