@optimalai/optibot
v0.1.5
Published
AI code review CLI powered by Optibot
Readme
@optibot CLI
CLI tool for running AI code reviews powered by Optibot.
Install
npm install -g @optimalai/optibotAuthentication
Optibot CLI supports two authentication methods:
1. Browser-Based OAuth (Recommended for Interactive Use)
Best for local development and interactive CLI usage:
optibot loginThis 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
2. API Keys (For Automation & CI/CD)
Best for non-interactive environments:
First, authenticate via the CLI:
optibot loginCreate 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:
# List all API keys
optibot apikey list
# Delete a key by ID
optibot apikey delete KEY_IDUse 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.patchBranch 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_requestsNote: CI/CD requires API keys — OAuth login is not available in non-interactive environments.
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 |
Requirements
- Node.js >= 18
- Git
