ReviewBot is an intelligent code review assistant designed to help developers maintain high code quality, identify potential issues, and streamline the review process. Leveraging advanced analysis capabilities, ReviewBot provides actionable feedback directly within your development workflow.
- Repository Indexing: Indexes entire repositories by splitting files into chunks and generating embeddings for semantic search.
- Incremental Indexing: Efficiently updates the index by only processing new or changed files, saving time and resources.
- RAG-based Code Understanding: Uses retrieval-augmented generation (RAG) to answer questions about large codebases by retrieving relevant code chunks before generating responses.
- Security Auditing: Analyzes code for security vulnerabilities, bugs, and inefficient implementations with a priority on safety.
- Concurrent Processing: Implements a concurrent indexing pipeline to process files in parallel, significantly improving repository indexing speed.
- Session-Based Chat: Supports persistent, session-based conversations with memory, allowing users to maintain context across multiple queries.
- PDF Report Generation: Generate structured PDF reports summarizing code reviews, security issues, and suggested improvements.
- FastAPI Backend: Powered by a FastAPI server for robust session management and asynchronous processing.
ReviewBot is used via its command-line interface. For chat functionality, the backend server must be running.
Before using the chat or session features, start the FastAPI server:
uvicorn server.api:app --reloadUse the index command to prepare your codebase for review.
# Index specific files or directories
reviewbot index <path/to/code> --name <session-name>
# Incremental indexing (skips unchanged files)
reviewbot index <path/to/code> --name <session-name> --incrementalView and manage your review sessions:
# List all sessions
reviewbot sessions --list
# Delete a session
reviewbot sessions --delete <session-name>
# Resume a session
reviewbot sessions --resume <session-name>Start an interactive terminal chat once the repository is indexed and the server is running.
# Start chat for a session
reviewbot chat --name <session-name># Continue previous chat session
reviewbot chat-
Clone the repository:
git clone https://github.com/ammargit93/ReviewBot.git cd ReviewBot -
Install dependencies: ReviewBot uses
uvfor dependency management. Install dependencies and create a virtual environment:uv sync
-
Run ReviewBot: You can run the CLI directly using
uv run:uv run -m reviewbot --help




