How to Set Up a Development Environment for OpenCodeReview: Complete Guide
The recommended way to set up a development environment for open-code-review requires installing Go ≥1.25 and Node ≥18, cloning the repository, running make build for the Go backend, and npm install followed by npm run dev in the pages/ directory for the React UI.
OpenCodeReview is a mixed-language project maintained by Alibaba that combines a Go-based core review engine with a TypeScript/React web interface. Setting up a complete development environment involves configuring both toolchains to compile the CLI, run the test suite, and iterate on the frontend components. This guide walks through the exact steps documented in CONTRIBUTING.md and the project's Makefile.
Prerequisites
Before cloning the repository, ensure your system meets these requirements:
- Go ≥1.25 – Required to compile the CLI, agents, diff parsing, and session handling components located in
cmd/opencodereview/andinternal/. - Git – Essential for diff generation and repository operations.
- Make – Orchestrates build, test, and clean steps via the root
Makefile. - Node ≥18 (LTS) – Powers the
pages/UI built with React, Webpack, and Tailwind CSS. - npm or pnpm – Manages frontend dependencies.
Fork and Clone the Repository
Start by creating your own fork and setting up the local workspace:
# Fork the repo via GitHub UI first, then:
git clone https://github.com/<your-username>/open-code-review.git
cd open-code-review
# Add upstream remote to stay synchronized
git remote add upstream https://github.com/alibaba/open-code-review.git
This workflow follows the official setup instructions in CONTRIBUTING.md.
Build the Go Backend
The core review engine resides in internal/ with its entry point at cmd/opencodereview/main.go. Compile and validate it using the provided Make targets:
# Compile the CLI binary with version info
make build
# Run the full Go test suite with race detection
make test
The Makefile defines these targets centrally, ensuring CI and local developers use identical build flags. The binary produces ./dist/opencodereview (aliased as ocr when installed globally).
Set Up the React Frontend
For full-stack development, initialize the UI located in the pages/ directory:
cd pages
npm install # or pnpm install
npm run dev # starts dev server on http://localhost:3030
To create a production build of the landing page, run npm run build. These steps mirror the instructions in pages/README.md and configure the Webpack dev server with hot reloading.
Configure the LLM Provider
Before running your first review, initialize the AI backend interactively:
ocr config provider # Select from built-in providers (OpenAI, etc.)
ocr config model # Choose the model for the active provider
The CLI prompts for API keys and tests connectivity automatically. This configuration is required for the ocr review and ocr scan commands to function.
Verify Your Setup
Validate the complete toolchain by running a sample review:
# Review current git changes (workspace mode)
ocr review
# Or scan specific paths without git diff
ocr scan --path internal/agent
To test the built-in web viewer located in internal/viewer/, use:
ocr session list # Display saved sessions
ocr session comments <session-id> # Launch browser UI
Summary
- Install dual toolchains: Go ≥1.25 for the backend and Node ≥18 for the React UI in
pages/. - Use Make for Go: Run
make buildandmake testfrom the root to compilecmd/opencodereview/and run race-detection tests. - Use npm for UI: Execute
npm installandnpm run devinsidepages/for frontend development. - Configure before running: Execute
ocr config providerto set up LLM credentials before testingocr review. - No external binaries needed: The setup is self-contained within the repository structure defined in
CONTRIBUTING.md.
Frequently Asked Questions
What Go version is required for open-code-review development?
OpenCodeReview requires Go 1.25 or higher according to CONTRIBUTING.md. This version is necessary to compile the CLI entry point in cmd/opencodereview/ and the internal packages handling diff parsing and session management.
Is the frontend setup mandatory for contributing?
No, the React frontend in pages/ is optional unless you are modifying the landing page or web viewer. You can develop and test the core Go review engine using only make build and make test without installing Node.js.
How do I switch between different LLM providers during development?
Run ocr config provider to switch providers interactively, then ocr config model to select a specific model. The CLI stores these settings locally and validates API connectivity immediately, allowing you to test different backends without rebuilding the binary.
Can I run the test suite without building the binary first?
Yes, executing make test directly runs the Go test suite with race detection enabled. This target is independent of make build, so you can verify code changes without waiting for the full compilation of the opencodereview binary in ./dist/.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →