AI-powered code review for Github PRs.
Features
-
π§© Split large PRs into AIβgenerated subβPRs
- Automatically split with AIβno manual stacking required
- CLI can be used in place of
git push; control the number of subβPRs and give guidance for how to split - Justβinβtime split/merge when you want to adjust items lower in the stack
-
π§ Unified, IDEβlike review UI
- All context (discussion, diffs, file tree) consolidated into one view
- Asking the AI pulls up all relevant code sections sideβbyβside for context while you read
- Press and highlight comments/code to include them in the chat context, just like Cursor
-
π¬ Cursorβlike AI review partner
- Ask questions freely (voice mode supported); use it like a live review with a colleague
- Autoβdrafts review comments based on your discussion
- Oneβclick suggestion bubbles for common prompts (e.g., counterβarguments, potential concerns, explanations)
-
β Additional capabilities
-
π€ AIβpowered PR analysis and summaries
-
π Smart diff analysis of changes
-
π― Code location detection to surface relevant sections
-
π PR analytics for insights into changes
-
π± Responsive design for desktop and mobile
-
π Simple to get started
-
Dashboard shows all PRs youβre involved in
-
Paste any public GitHub PR URL to try it out
-
Or use the CLI to create a draft PR with split subβPRs and open it in LightLayer
-
Prerequisites
- Docker and Docker Compose
- GitHub account and GitHub App setup
- Anthropic API key for Claude AI
- PostgreSQL database (included in Docker setup)
- SuperTokens for authentication and user management
Quick Start
See our Getting Started Guide for detailed instructions.
CLI
The LightLayer CLI helps you create draft PRs and generate AI-powered sub-PRs from your current Git branch.
Build locally (from this repo)
cd cli npm install npm run build npm link # registers the `lightlayer` command locally
Usage
- Initialize for a repository (must be run inside a Git repo):
This prompts for backend/frontend hosts and takes you to http://localhost:3000/verify to copy your token. Paste the token back into the CLI when prompted. Auth is stored per-repo at ~/.lightlayer/config.json.
- Create or find a draft PR, then generate sub PRs:
- Control the number of sub PRs and how they should be split:
lightlayer split -n 3 -m "Group by feature modules" -b mainFlags:
-n, --num <count>: target number of sub PRs-m, --message <guidance>: guidance to influence how the split is performed-b, --base <branch>: base branch for the draft PR (default: repo default branch)-t, --title <title>: optional PR title override--body <body>: optional PR body override
Other commands:
lightlayer logoutβ clears auth for the current repo only
Notes:
- Commands must be run in a Git repository.
- If the current branch isnβt on
origin, the CLI will push it before creating a PR. - After
split, the CLI prints a link likehttp://localhost:3000/pr/<owner>/<repo>/<pr_number>to view in LightLayer.
Architecture
βββββββββββββββ ββββββββββββββββ βββββββββββββββββ
β GitHub β β Anthropic β β Deepgram β
β API β β API β β API β
ββββββββ²βββββββ ββββββββ²βββββββββ βββββββββ²βββββββββ
β β β
β β β
βββββββββ΄ββββββββββββββββββββ΄βββββββββββββββββββββββββ΄ββββββββ
β Backend (FastAPI) β
βββββ²ββββββββββββββββ²ββββββββββββββββ²ββββββββββββββββ²ββββββββ
β β β β
ββββββββ΄βββββββ βββββββ΄ββββββ βββββββ΄ββββββ ββββββ΄ββββββββ
β CLI β β Frontend β β Redis β β PostgreSQL β
β (Node CLI) β β (React) β β (Cache) β β (Database) β
βββββββββββββββ βββββββββββββ βββββββββββββ βββββββ²ββββββββ
β² β² β
β β β
β β βββββββββ΄ββββββββ
β ββββββββΊβ SuperTokens β
β β (Auth) β
βββββββββββββββββββββββββββββββββββββββββ--ββ
Notes:
- SuperTokens stores auth data in PostgreSQL and is also used for auth/session management.
- The only external requests made are to GitHub API, Anthropic API, and Deepgram API
Service Dependencies
- PostgreSQL starts first (database)
- Redis starts in parallel (caching)
- SuperTokens waits for PostgreSQL to be healthy
- Backend waits for PostgreSQL, Redis, and SuperTokens to be healthy
- Frontend waits for Backend to be healthy
Incomplete Features
- Approving sub-PRs
- Splitting & merging sub-PRs separately
- Adding reviewers and assignees to the PR
- Viewing checks and CI/CD
- Attaching images and media to comments
If you would benefit from any of these features, feel free to open an issue and/or contribute
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Acknowledgments
- Anthropic for Claude AI capabilities
- SuperTokens for authentication infrastructure
- GitHub for API and integration support
- Open Source Community for various libraries and tools