RepoGPT is an evolving web application crafted to empower users with a swift and comprehensive understanding of a GitHub repository. By harnessing the power of OpenAI and Pinecone, it delves deep into the code, crafts embeddings, and offers invaluable insights into the repository's architecture and functionality. Users are endowed with a downloadable ZIP file of the scrutinized repository, enriched with a companion guide that elucidates the project's essence and proffers enhancement suggestions.
π Snapshot of the Repository: Your provided repository is a Python-centric project, augmented with HTML and CSS files. It exudes the vibes of a web application, intricately woven with code processing, embedding generation, git operations, and Pinecone interactions.
src
β
βββ code_processing.py - Functions for OpenAI code processing
βββ embedding_generation.py - Embedding generation functions
βββ git_operations.py - Repository cloning functions
βββ gunicorn.conf.py - Gunicorn configuration
βββ main.py - Central Flask application
βββ pinecone_operations.py - Pinecone interaction functions
βββ user_interface.py - User input & validation functions
β
βββ templates - HTML templates for UI
βββ static - Static assets (CSS, images, etc.)
- code_processing.py
process_chunk_with_openai
- Processes code chunks via OpenAIprocess_file_with_openai
- Processes entire files with OpenAIsplit_code_into_chunks
- Divides code into digestible chunks
- embedding_generation.py
generate_embeddings
- Crafts embeddings for code or characters
- git_operations.py
clone_repo
- Clones a repository using a provided link
- main.py
- Central Flask application with routes for analysis, file downloads, and the homepage
- pinecone_operations.py
retrieve_from_pinecone
&upload_to_pinecone
- Pinecone data operations
- user_interface.py
- Functions for user input acquisition, long-operation handling, and validation
The requirements.txt
file is your key to unlocking the project's dependencies.
- π¦ Clone the repository
- π§ Install dependencies via
requirements.txt
- π Set up environment variables as guided by
.envEXAMPLE
- π Launch the Flask app using Gunicorn or another WSGI server
- π Navigate to the web interface using your browser
The project is in its development phase, with a keen emphasis on crafting README files and embedding comments. Presently, the only operational mode is README generation.
- User-Friendly Interface: A sleek web interface for seamless navigation.
- Enhanced Analysis: Amplified code analysis with improvement suggestions.
- Service Integration: Potential amalgamation with diverse platforms for enriched functionality.
RepoGPT is an emblem of open-source. Your contributions can shape its future. Fork, modify, and submit a pull request!
RepoGPT aspires to redefine the interaction between developers and GitHub repositories. By offering profound analysis, insights, and downloadable content, it promises a fresh perspective into the coding realm. Stay tuned for exhilarating updates and features!