JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 54
  • Score
    100M100P100Q88284F
  • License SEE LICENSE IN LICENSE

AI code review CLI powered by Optibot

Package Exports

  • optibot
  • optibot/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (optibot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@optibot/cli

CLI tool for running AI code reviews powered by Optibot.

Install

npm install -g optibot

Authentication

Optibot CLI supports two authentication methods:

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

2. API Keys (For Automation & CI/CD)

Best for non-interactive environments:

  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:

# 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 @optibot/cli
      - 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 @optibot/cli
    - optibot review --branch origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
  variables:
    OPTIBOT_API_KEY: $OPTIBOT_API_KEY
  only:
    - merge_requests

Note: 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