Skip to content

lgtmaybe logo — a shrugging face with curly-brace arms

lgtmaybe

lgtmaybe reviews the code a pull request changes. Pick OpenAI, Claude, Bedrock, Vertex, Azure, ollama, or any OpenAI-compatible endpoint, then run it as a GitHub Action or from your terminal. GitHub gets inline comments and one summary; locally, you get the same findings before you push.

It reads the diff and a little surrounding code, but only comments on changed lines. On GitHub it never checks out or runs the pull request. Generated files and binaries are skipped, secrets are redacted, and all PR text is treated as untrusted.

It checks for:

  • Correctness and security — logic errors, missed awaits, injection, auth mistakes, and leaked secrets.
  • Code health — performance problems, needless complexity, deprecations, and risky dependencies.
  • Tests and documentation — missing or weak tests, stale comments, and undocumented APIs.
  • Intent — whether the change does what its title, description, and commits say it does.
  • Ponytail — code you don't need, standard-library opportunities, and simpler ways to get the job done.

Findings are graded from info to critical and land on the exact changed line. A clean change just gets a 👍 LGTM!.

An inline lgtmaybe review comment flagging a [CRITICAL] SQL injection vulnerability, with an explanation and a committable parameterized-query suggestion

Reviews aren't all it does. /review and /improve run the review, /describe writes a structured overview, /diagram draws the change — a flowchart of what it touches, plus a sequence diagram of the flow it alters — and /ask <question> answers in the PR. Run lgtmaybe diagram to draw the same map locally before you push.

flowchart LR
    web["Storefront<br/>React<br/>places orders"]
    api["Order API<br/>Python<br/>creates orders (changed)"]
    db["Order database<br/>PostgreSQL<br/>stores orders"]
    queue["Order events<br/>SQS<br/>buffers events (new)"]
    worker["Notification worker<br/>Python<br/>sends confirmations (new)"]
    email["Email provider<br/>delivers messages"]
    web -->|calls| api
    api -->|stores in| db
    api -->|publishes to| queue
    queue -->|delivers to| worker
    worker -->|sends via| email

Start here

Providers

Provider Auth
openai OPENAI_API_KEY
anthropic ANTHROPIC_API_KEY
openrouter OPENROUTER_API_KEY
zai ZAI_API_KEY — GLM / Zhipu AI; optional --api-base for the China / coding-plan endpoint
bedrock Ambient AWS creds — GitHub OIDC, no static key
vertex Ambient GCP creds — Workload Identity Federation, no key
azure Ambient Azure AD creds — GitHub OIDC, no static key (or AZURE_API_KEY) + endpoint
ollama None — local only, zero cost
openai-compatible --api-base to any OpenAI /v1 endpoint; key optional (placeholder for keyless local servers)

For AI agents

The site root publishes a curated llms.txt index of these docs, plus a whole-corpus llms-full.txt, for LLM crawlers and coding agents.