CLI tool to ask questions about GitHub or local repos using RAG + LLM
Project description
GitMaster
GitMaster is an AI-powered CLI tool designed to help users interact with GitHub or local repositories. It leverages Retrieval-Augmented Generation (RAG) and Large Language Models (LLMs) to answer questions about codebases, summarize repositories, and more.
Features
- Load and index GitHub or local repositories.
- Ask questions about the last loaded repository.
- Summarize the contents of a repository.
- Manage authentication for GitHub and OpenAI.
- Clear temporary data and vector stores.
Installation from PyPI
To install GitMaster from PyPI, follow these steps:
-
Install GitMaster using pip:
pip install gitmaster
-
Set up your OpenAI API key:
gitmaster change-key
Commands
Below is a list of all available commands in GitMaster:
gitmaster load
Load a GitHub or local repository into the vector database.
Options:
path_or_url: Path to a local repository or URL of a GitHub repository.--type: Specifyrepofor GitHub repositories orlocalfor local repositories (default:repo).--clear-index/-c: Clear existing vector index before indexing.
Example:
gitmaster load https://github.com/yourusername/yourrepo --type repo
gitmaster ask
Ask a question about the last loaded repository.
Example:
gitmaster ask "What does the main function do?"
gitmaster login
Log in to GitHub for private repository access.
Example:
gitmaster login
gitmaster logout
Log out of GitHub and clear stored credentials.
Example:
gitmaster logout
gitmaster change-key
Set or update your OpenAI API key.
Example:
gitmaster change-key
gitmaster summarize
Summarize the contents of the last loaded repository.
Example:
gitmaster summarize
gitmaster clear
Delete all temporary repository clones and clear vector stores.
Example:
gitmaster clear
Usage
To see the help menu for GitMaster, run:
gitmaster --help
Requirements
- Python 3.8 or higher
- OpenAI API key (for LLM-based features, optional)
- Git installed on your system
License
This project is licensed under the MIT License.
Author
Sayak Raha
Email: sayakraha12@gmail.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitmaster-0.1.1.tar.gz.
File metadata
- Download URL: gitmaster-0.1.1.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3aac58957a4e51855b2099688f89ef70561d0d22dd82defd9b7bd74796e374e
|
|
| MD5 |
c93e04bb0054734160e2559d67957af5
|
|
| BLAKE2b-256 |
1db932b08c53fc0baf8698c439d71688ec06cd72bc616e1c4b59ee8ba3bb7dc3
|
File details
Details for the file gitmaster-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gitmaster-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cc23701093d95b79e09d6aebf6bffaaeeb4d270fe1062d3b20bc84d8db3bdfe
|
|
| MD5 |
cc87c5c20eb824a63bef126f8f102594
|
|
| BLAKE2b-256 |
571822b234073169f7fc7ed91226cf1c042a647aeff9e11113e19f4f483b98d2
|