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:
-
First, authenticate via the CLI:
optibot login -
Create an API key:
optibot apikey create ci-github-actionsThe output includes the key (starts with
optk_). Copy it immediately — it is only shown once. -
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 tohttps://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:
-
Auto-detect the base branch if no branch name is provided. It checks for
origin/main,origin/master, andorigin/developin that order. -
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.
-
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
-
Generate an API key (see API Keys above)
-
Add it as a repository secret (e.g.,
OPTIBOT_API_KEYin 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