π Powered by Google Cloud credits through the #VertexAISprint program and developed in the RevolutionUC Hackathon! β¨
forky_new.mp4
Forky helps open-source contributors navigate repos, understand code, and improve pull requests with real-time AI magic powered by Gemini 2.0. Ask questions, get instant PR insights, and receive smart suggestionsβall while using RAG, and AI agents to make contributing faster, easier, and way more fun!
π Try it out!
- Python 3.8 or higher
- pip package manager
- Virtual environment (recommended)
- Google Cloud credentials (for Gemini AI features)
-
Clone the repository:
git clone https://github.com/AdonaiVera/forky.git cd forky
-
Set up virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Environment configuration:
- Copy
.env.example
to.env
- Add your Google Cloud credentials and other required environment variables
- Copy
cd src/
python -m uvicorn server.main:app --reload
The application will be available at http://localhost:8000
cd src/
python -m uvicorn server.main:app --host 0.0.0.0 --port 8000
- Code Understanding: AI-powered code explanation and architecture insights
- Dependency Visualization: Interactive visualization of code dependencies
- Repository Structure Analysis: Clear breakdown of codebase organization
- AI-Powered Search: Advanced repository search using Google Search grounding
- Quality Filtering: Ensures repositories are active, maintained, and have sufficient content
- Relevance Ranking: Intelligent ranking based on README analysis and query relevance
- Temperature Control: Adjustable creativity levels for search results (0.2-0.8)
- Top Results: Returns the most relevant repositories with detailed match explanations
- Automated Reviews: AI-driven code review suggestions
- Quality Checks: Automated code quality assessment
- Best Practices: Contextual recommendations for improvements
- Difficulty Scoring: PR classification (Easy/Medium/Hard)
- Natural Language Q&A: Ask questions about any code segment
- Real-time Suggestions: Context-aware coding recommendations
- Multi-language Support: Works across different programming languages
forky/
βββ src/ # Main source code
β βββ server/ # Backend server implementation
β β βββ ai/ # AI/ML models and Gemini integration
β β βββ routers/ # FastAPI route handlers
β β βββ templates/ # Jinja2 HTML templates
β β βββ main.py # Application entry point
β β βββ server_utils.py # Utility functions
β βββ static/ # Static assets
β β βββ css/ # Tailwind CSS styles
β β βββ js/ # Frontend JavaScript
β βββ diagrams/ # Visualization components
β βββ config.py # Configuration settings
βββ docs/ # Documentation
βββ tests/ # Test suite
βββ docker/ # Docker configuration
- FastAPI: High-performance web framework
- Gemini 2.0: Google's advanced AI model
- PyViz: Data visualization library
- gitingest: Git repository analysis tool
- Tailwind CSS: Utility-first CSS framework
- Jinja2: Template engine
- JavaScript: Interactive features
- Docker: Containerization
- uvicorn: ASGI server
- PostHog: Analytics platform
-
Build the image:
docker build -t forky .
-
Run the container:
# Development docker run --env-file .env -d --name forky -p 8080:8080 forky # Production docker run -d --name forky -p 8080:8080 forky
-
GOOGLE_API_KEY
: Your Google Cloud API key -
ALLOWED_HOSTS
: Comma-separated list of allowed hosts# Default: "forky.com,*.forky.com,localhost,127.0.0.1" ALLOWED_HOSTS="example.com,localhost,127.0.0.1"
We welcome contributions! Please see our Contributing Guidelines for details.
This project is licensed under the MIT License - see the LICENSE file for details.
Details about our Code of Conduct can be found in the code of conduct file.
- Google Cloud for providing credits through #VertexAISprint
- RevolutionUC Hackathon for the platform
- All our contributors and supporters