/gitingest

Replace 'hub' with 'ingest' in any github url to get a prompt-friendly (con)text to paste into any LLM

Primary LanguagePythonMIT LicenseMIT

License

GitIngest 🔍

Image

gitingest.com - Turn any GitHub repository into a prompt-friendly text ingest for LLMs. You can also replace hub with ingest in any github url to access the coresponding digest

🚀 Features

  • One-Click Analysis: Simply paste a GitHub repository URL and get instant pastable context
  • Smart Formatting: Optimized output format for LLM prompts
  • Statistics about: :
    • File and directory structure
    • Size of the extract
    • (soon) Token count
  • Web Interface: Lightweight responsive UI

🛠️ Tech Stack

📦 Running Tests

To run the tests, first install the test dependencies:

pip install -r requirements.txt

Then run the tests with coverage:

cd src
pytest --cov

To generate a coverage HTML report:

pytest --cov --cov-report=html

The report will be available in htmlcov/index.html

📦 Installation

  1. Clone the repository:
git clone https://github.com/cyclotruc/gitingest.git
cd gitingest
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the application:
cd src
uvicorn main:app --reload

The application will be available at http://localhost:8000

Docker

  1. Build the image:
docker build -t gitingest .
  1. Run the container:
docker run -d --name gitingest -p 8000:8000 gitingest

The application will be available at http://localhost:8000

✔️ Contributions are welcome!

Create a pull request or open an Issue about anything you'd like to see in gitingest

🔒 WIP

  • Feedback/suggestions: Please open a github Issue or mail me: romain@coderamp.io
  • Repository cloning is limited to public GitHub repositories only
  • Too big repos will probably timeout (if longer than 20 secondes to clone)