Local CLI-first AI code review for TypeScript and JavaScript projects.
Project description
Apex Ray
Local CLI-first AI code review for TypeScript and JavaScript projects.
Full documentation: dobrotacreator.github.io/apex-ray
Apex Ray reads a git diff, builds compact context packs around changed code, runs optional LLM review through a local CLI provider, verifies findings, and writes Markdown, JSON, and HTML reports. It is designed for teams that want review intelligence locally, without depending on a hosted PR-review product.
Apex Ray is pre-1.0. Report schemas and configuration can change while the project is prepared for production use.
Install
One-off run without a persistent install:
uvx apex-ray --help
uvx apex-ray doctor
User-level CLI install:
uv tool install apex-ray
apex-ray --version
apex-ray doctor
pipx install apex-ray is also supported if you use pipx for isolated Python CLI tools.
Quick Start
In a project you want to review:
apex-ray init
apex-ray doctor
git status --short
Inspect and commit the setup files before using the first worktree review for application changes.
Run a deterministic no-LLM review:
apex-ray review --worktree --no-llm --output .apex-ray/reports/review.md --json .apex-ray/reports/review.json
Run the configured LLM review:
apex-ray review --worktree --llm --output .apex-ray/reports/review.md --json .apex-ray/reports/review.json --html .apex-ray/reports/review.html
Review a branch against the configured base:
apex-ray review --base main --llm
Continue only unreviewed packs from a partial report:
apex-ray review --continue-from .apex-ray/reports/review.json --residual-priority p0 --llm
apex-ray review --continue-from .apex-ray/reports/review.json --only-pack 'apps/api/src/payments.ts#capture:1' --llm
Run the same gate that apex-ray init wires into pre-push:
apex-ray gate pre-push
The gate reviews review.base...HEAD, writes .apex-ray/reports/pre-push.md and .apex-ray/reports/pre-push.json, prints an agent-friendly blocking summary, and exits non-zero when the configured policy fails.
See the full Quick Start and Review Workflow docs for installation requirements, provider setup, report interpretation, continuation commands, cache behavior, and troubleshooting.
What It Does
- Builds TS/JS context packs from changed files, symbols, callers, callees, contracts, metadata, and related tests.
- Supports project-specific rules and repo-committed review memory.
- Runs without LLM calls, or with Codex CLI / Claude Code CLI when configured.
- Routes cheap and strong models through profiles.
- Tracks LLM coverage, skipped packs, partial severity, provider failures, cache usage, and continuation commands.
- Replays historical GitHub PR review comments for local evals.
- Writes local telemetry so teams can tune cost, latency, and coverage over time.
What It Does Not Do
Apex Ray does not replace CI, tests, linters, typecheck, dependency scanners, SAST, or human review. It focuses on diff-aware behavioral review and makes partial coverage explicit.
Documentation
- Quick Start
- Review Workflow
- Configuration
- LLM Providers
- Rules And Memory
- Telemetry
- Historical PR Replay Evals
- Architecture
- Development
Development
For local development from source:
git clone git@github.com:dobrotacreator/apex-ray.git
cd apex-ray
uv sync --all-groups
npm --prefix analyzers/typescript ci
npm --prefix analyzers/typescript run build
Useful checks:
uv run coverage run -m pytest -q
uv run coverage report -m
npm --prefix analyzers/typescript run typecheck
npm --prefix analyzers/typescript test
npm --prefix analyzers/typescript run coverage
git diff --check
See docs/development.md and CONTRIBUTING.md.
Maintainers: release automation is documented in docs/development.md.
License
Apache-2.0. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apex_ray-0.1.5.tar.gz.
File metadata
- Download URL: apex_ray-0.1.5.tar.gz
- Upload date:
- Size: 4.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1155a43123dd1174cfef0c3110047f0ff6fb6bfa9c4fdd1fb868e2745d538bb
|
|
| MD5 |
a84f2008c796937ffc4fe1ad229aeead
|
|
| BLAKE2b-256 |
2f4935691a70f2fb185f73b2320cb53b00c3dcbbcd1f55f10387a99e04692a11
|
Provenance
The following attestation bundles were made for apex_ray-0.1.5.tar.gz:
Publisher:
publish-pypi.yml on dobrotacreator/apex-ray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apex_ray-0.1.5.tar.gz -
Subject digest:
a1155a43123dd1174cfef0c3110047f0ff6fb6bfa9c4fdd1fb868e2745d538bb - Sigstore transparency entry: 1705132802
- Sigstore integration time:
-
Permalink:
dobrotacreator/apex-ray@eb9802b8546a4c769f55e1155b6098c0bbabaa0c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dobrotacreator
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@eb9802b8546a4c769f55e1155b6098c0bbabaa0c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file apex_ray-0.1.5-py3-none-any.whl.
File metadata
- Download URL: apex_ray-0.1.5-py3-none-any.whl
- Upload date:
- Size: 4.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6d12d3c13938baf225b8eb8213077d9e45086e3ef57e85582119f5a475afda7
|
|
| MD5 |
e64f22228ae4d6afb878e91df3a96c04
|
|
| BLAKE2b-256 |
bb8d6eae76113a1db8cbac123e090403f57e63312cbf40aa3b2c71236200f2f8
|
Provenance
The following attestation bundles were made for apex_ray-0.1.5-py3-none-any.whl:
Publisher:
publish-pypi.yml on dobrotacreator/apex-ray
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apex_ray-0.1.5-py3-none-any.whl -
Subject digest:
d6d12d3c13938baf225b8eb8213077d9e45086e3ef57e85582119f5a475afda7 - Sigstore transparency entry: 1705132851
- Sigstore integration time:
-
Permalink:
dobrotacreator/apex-ray@eb9802b8546a4c769f55e1155b6098c0bbabaa0c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dobrotacreator
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@eb9802b8546a4c769f55e1155b6098c0bbabaa0c -
Trigger Event:
workflow_dispatch
-
Statement type: