Skip to content

Powered by Python, GPT, and LangChain, it delves into GitHub profiles 🧐, rates repos using diverse metrics πŸ“Š, and unveils code intricacies. Perfect for developers, recruiters, and managers to explore the nuances of their codebase! πŸ’»πŸŒŸ

License

KartikeyMish/RepoSavant

Repository files navigation

RepoSavant πŸ•΅οΈβ€β™‚οΈπŸ”πŸ’»

version License GitHub Issues website

RepoSavant is an innovative Python-based utility designed to elevate your GitHub experience. By simply inputting a GitHub user's URL, RepoSavant excels at pinpointing the epitome of technical complexity within their repository portfolio. πŸ•΅οΈβ€β™‚οΈ Harnessing the power of cutting-edge technologies, including GPT and LangChain, the tool conducts a meticulous assessment of each repository, culminating in the identification of the most technically challenging gem. πŸ’Ž

Demo πŸ§‘πŸ»β€πŸ’»

demo.mp4

🌟 Why Use RepoSavant?

  • πŸ€“ For Developers: Quickly identify the most complex repository in your GitHub profile and focus on improving your skills and projects.
  • πŸ•΅οΈβ€β™€οΈ For Recruiters: Access candidates' most complex projects to gain insights into their technical expertise and best work.
  • πŸ“ˆ For Managers: Evaluate your team's technical prowess by analyzing their GitHub repositories.

🧐 How It Works

Backend Process

  1. Data Extraction: RepoSavant uses the GitHub API to fetch JSON data of users' repositories.
  2. Data Processing: Important features such as description, contributors, size, language, topics, stars, forks, labels, and issues are extracted to determine repository complexity. Unstarred forks are excluded.
  3. Data Analysis: The data is then sent to GPT-3.5 Turbo LLM via LangChain with a subtle and accurate prompt to extract the most complex repository based on all the features. It also provides an analysis of why the selected repository is the most complex.

Frontend

  • Flask is used for the frontend, maintaining a GitHub theme to provide a seamless user experience.

πŸ› οΈ Configuration

To use RepoSavant effectively, you need to configure your OpenAI API key and GitHub token. Here's how:

  1. OpenAI API Key:

    • Go to the OpenAI website and sign in or create an account if you don't have one.
    • Navigate to the API section to obtain your API key. Keep it secure and never share it publicly.
  2. GitHub Token:

    • Go to your GitHub account settings and navigate to "Developer settings" > "Personal access tokens."
    • Generate a new token with the necessary permissions (e.g., repo, user, read:org) for RepoSavant.
    • Ensure you keep this token secure and do not expose it in public repositories.
  3. Create a .env file:

    • In the root directory of your RepoSavant project, create a .env file if it doesn't already exist.
    • Add your OpenAI API key and GitHub token to the .env file as follows:

    OPENAI_API_KEY=your_openai_api_key_here
    GITHUB_TOKEN=your_github_token_here
    
  4. Save and Secure:

  • Save the .env file.
  • Ensure that you keep this file private and do not include it in your version control system (e.g., Git). Add it to your .gitignore if needed.

With these configurations in place, RepoSavant will be able to access the necessary APIs securely for its functionality.

πŸ“¦ Project Dockerization

To run RepoSavant in a Docker container, follow these steps:

  1. Clone this repository.
  2. Build the Docker image:
docker build -t reposavant .
  1. Run the Docker container:
docker run -d -p 5000:5000 reposavant

πŸƒβ€β™‚οΈ Getting Started

  1. Clone this repository.
  2. Install the required dependencies:
pip install -r requirements.txt
  1. Run the Flask app:
python app.py
  1. Open your browser and navigate to http://localhost:5000.

πŸš€ Upcoming Features

We're committed to making RepoSavant even better! Here's a sneak peek at some of the exciting features and improvements we have in the pipeline:

  • Improved User Interface: We're working on a more responsive and user-friendly UI that will enhance the RepoSavant experience for all users. Whether you're accessing it from your desktop or mobile device, you can expect a seamless and intuitive interface.

  • Loading Animation: We understand that waiting for repository analysis results can be a bit nerve-wracking. That's why we'll adding a sleek loading animation to keep you informed and entertained while RepoSavant does its magic behind the scenes.

  • Top 3: Quickly assess your top three most complex repositories instead of just one. Gain a deeper understanding for honing your skills effectively.

  • Plagiarism Checker: Worried about code uniqueness? RepoSavant will be stepping up its game with a plagiarism checker. This feature will help you identify any similarities between your code and other repositories, ensuring the integrity of your work.

  • Batch Processing: We know you're busy, so we'll be introducing the ability to input multiple GitHub URLs for batch processing. Analyze several profiles or repositories in one go, saving you time and effort.

Stay tuned for these updates and more as we continue to evolve RepoSavant to meet your needs! Your feedback and suggestions are always welcome as we work towards a smarter GitHub experience. 🌟

πŸ™Œ Current Contributors

A big thank you to the talented individuals who have contributed to RepoSavant. Your dedication and expertise are invaluable to the project's success.

  • Kartikey Mishra : Architect of RepoSavant's core functionality, handling backend development and laying the foundation for the frontend.
  • Suryansh Singh : A design virtuoso, Suryansh improved RepoSavant through refactoring, responsive design, and CSS enhancements.

If you'd like to join this list and make RepoSavant even better.

Your contributions are highly appreciated! 🌟

❀️ Sponsor Us

RepoSavant relies on OpenAI's powerful API, and credits are limited. By sponsoring this project, you help maintain and improve this tool for the entire GitHub community. Please consider sponsoring us here.

Thank you for your support! πŸ™


Note: This project is not affiliated with GitHub or OpenAI.

About

Powered by Python, GPT, and LangChain, it delves into GitHub profiles 🧐, rates repos using diverse metrics πŸ“Š, and unveils code intricacies. Perfect for developers, recruiters, and managers to explore the nuances of their codebase! πŸ’»πŸŒŸ

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published