RepoGPT is an open-source, AI-powered assistant that revolutionizes how developers interact with their GitHub repositories. By leveraging natural language processing, it simplifies codebase exploration and management, providing intelligent insights to make development more efficient and intuitive.
- AI-Driven Repo Interaction β Chat with your repositories using natural language to get insights, generate documentation, or receive code suggestions.
- Streamlined Repo Management β Import, list, and delete repositories effortlessly within the application.
- PostgreSQL + pgvector Integration β Built for efficient AI-powered data processing and storage.
- Simple Setup β Get up and running in minutes with minimal configuration.
Here's a look at RepoGPT in action:
Follow these instructions to get a copy of RepoGPT up and running on your local machine for development and testing purposes.
Before starting, ensure you have the following installed:
- Node.js (v18 or higher)
- pnpm (preferred package manager)
- Docker (for database setup)
- PostgreSQL with the pgvector extension
- OpenAI API Key (for AI functionalities)
git clone https://github.com/mbarinov/repogpt.git
cd repogpt
pnpm install
To leverage AI capabilities, RepoGPT uses PostgreSQL with the pgvector extension. Use Docker to set up the database:
docker run -d \
--name pgvector \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=yourpassword \
-e POSTGRES_DB=repogpt \
-p 5432:5432 \
ankane/pgvector
Create a .env
file in the project root directory and set the following variables:
DATABASE_URL=postgresql://postgres:yourpassword@localhost:5432/repogpt
Use Prisma to push the necessary database schema:
npx prisma migrate dev
To build and start the app, run:
pnpm build
pnpm start
Once running, the app will be available at http://localhost:3000. You can now start managing and interacting with your repositories via RepoGPT.
Use the following command to import a repository:
- Set the OpenAI API key and Github Access Token. http://localhost:3000/settings
- Navigate to the Repositories section. http://localhost:3000/repositories
- Fill in the repository URL, repository branch name and click on the Import button.
- The repository will be imported and available for interaction in a few minutes.
- Navigate to the Chat section to start a conversation with your codebase.
- Ask questions like "How is the authentication implemented?" or "List all the endpoints in the API."
- LangChain AI ReAct Agent Integration β Incorporate LangChain's ReAct Agent for deeper analysis.
- Enhanced GitHub Integration β Improve interaction with GitHub APIs for more seamless operations.
- Support Ollama local models β Enable integration with Ollama's local models for AI capabilities.
- Support for Other VCS β Integrate with other version control systems like GitLab and Bitbucket.
We love contributions! Please check out our Contributing Guide to get started.
- Issues β Feel free to open an issue if you encounter any problems.
- Discussions β Join our GitHub Discussions for questions and community support.
- Email β For any other inquiries, contact us at [[email protected]].
This project is licensed under the MIT License.
Made with β€οΈ by Max Barinov
AI-powered GitHub assistant, natural language repo management, open-source, developer tools, machine learning, codebase exploration, pgvector, PostgreSQL, OpenAI.