This project provides an AI-powered assistant to help developers with code changes, issue fixing, and custom modifications in Github Repositories. It utilizes generative AI to analyze code, understand user requests, and suggest potential solutions.
- Fix Issues: Identify and address issues within a provided codebase.
- Make Code Changes: Incorporate user-specified modifications to existing code.
- Generative AI Assistance: Leverage Google's Generative AI to understand code context and propose solutions.
- GitHub Integration: Seamlessly work with code hosted on GitHub repositories.
- Markdown & PDF Generation: Generate well-formatted reports of the codebase, issues, and suggested solutions.
- Raise issue if you think there should be.
- Provide Code: Specify a GitHub repository URL or upload your code locally. (Local functionality not currently implemented)
- Describe Issue/Changes: Detail the issue you want to fix or the modifications you desire.
- AI Analysis & Response: The AI assistant analyzes the code and user input, then suggests potential solutions.
- Prerequisites: Node.js and npm (or yarn) are required.
- Clone Repository:
git clone https://github.com/Conqxeror/contri-io.git
- Install Dependencies:
cd contri-io
npm install
- Create a
.env
File: Create a.env
file in the project root directory and add the following lines, replacing the placeholders with your actual values:
YOUR_API_KEY=YOUR_GOOGLE_AI_API_KEY
GITHUB_TOKEN=YOUR_GITHUB_ACCESS_TOKEN
- Start the Server:
npm start
-
API Endpoints: The project provides two main functionalities through API endpoints:
/fix-issue
: This endpoint allows you to specify a GitHub repository URL, custom changes (optional), and an issue number (optional). It then utilizes the AI model to analyze the code and suggest solutions based on the provided information.
-
Client-Side Example: The
ChatScreen
component included in theclient-side
folder demonstrates a basic example of interacting with the/fix-issue
endpoint. You can integrate this component or develop your own front-end application to interact with the API.
We welcome contributions to this project! Hard work matters to us, so we are ready to review PRs even if you try to do. So don't hesitate to raise a PR or an issue.
This project is licensed under the MIT License. See the LICENSE file for details.