Skip to content

RepoGPT πŸš€ is your go-to tool for analyzing GitHub repositories. Leveraging OpenAI and Pinecone, it provides quick insights into code structure, offers valuable feedback, and even delivers a downloadable ZIP file with enhancement suggestions. Explore, understand, and improve your code with RepoGPT!

Notifications You must be signed in to change notification settings

nschlaepfer/RepoGPTweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RepoGPT πŸš€

Screenshot 2023-08-11 at 5 35 46β€―PM

πŸ“Œ Overview

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.

πŸ“‚ Directory Structure

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.)

πŸ“œ Key Files & Functions

  • code_processing.py
    • process_chunk_with_openai - Processes code chunks via OpenAI
    • process_file_with_openai - Processes entire files with OpenAI
    • split_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

πŸ›  Requirements

The requirements.txt file is your key to unlocking the project's dependencies.

πŸš€ How to Run

  1. πŸ“¦ Clone the repository
  2. πŸ”§ Install dependencies via requirements.txt
  3. 🌍 Set up environment variables as guided by .envEXAMPLE
  4. πŸš€ Launch the Flask app using Gunicorn or another WSGI server
  5. 🌐 Navigate to the web interface using your browser

πŸ“ˆ Current Status

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.

🌟 Future Enhancements

  • 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.

🀝 Contributing

RepoGPT is an emblem of open-source. Your contributions can shape its future. Fork, modify, and submit a pull request!

🎯 Conclusion

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!

About

RepoGPT πŸš€ is your go-to tool for analyzing GitHub repositories. Leveraging OpenAI and Pinecone, it provides quick insights into code structure, offers valuable feedback, and even delivers a downloadable ZIP file with enhancement suggestions. Explore, understand, and improve your code with RepoGPT!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published