Skip to main content

Generate LLM context files from Git repositories

Project description

Fluxative

A tool to convert Git repositories into standardized context files for LLM consumption. Consists of three main components:

  • converter.py: Converts GitIngest output to llms.txt and llms-full.txt formats
  • expander.py: Expands llms.txt files with actual file content from GitIngest
  • llmgentool.py: Integrates both modules for an end-to-end solution

Features

  • Generate LLM-friendly context files from Git repositories or GitHub URLs
  • Creates five output files:
    • repo-raw.txt: Complete original GitIngest output with Summary, Tree, and File Contents
    • repo-llms.txt: Basic repository summary with original structure preserved
    • repo-llms-full.txt: Comprehensive repository summary with original structure preserved
    • repo-llms-ctx.txt: Basic summary with file contents
    • repo-llms-full-ctx.txt: Comprehensive summary with file contents
  • Preserves the full structure (Summary, Tree, and Content) from GitIngest
  • Automatically organizes output files in a directory named after the repository

Installation

Using uv

uv install git+https://github.com/JakePIXL/Fluxative.git

From source

git clone https://github.com/JakePIXL/Fluxative.git
cd Fluxative
pip install -e .

For development

git clone https://github.com/JakePIXL/Fluxative.git
cd Fluxative
pip install -e ".[dev]"

Usage

As a command-line tool

# Process a local repository
fluxative /path/to/repo

# Process a GitHub URL
fluxative https://github.com/username/repo

# Specify an output directory
fluxative /path/to/repo --output-dir /custom/output/path

With uvx

If you have uv installed:

# Process a repository
uvx fluxative /path/to/repo

# With output directory
uvx fluxative /path/to/repo -o /custom/output/path

Output

The tool creates a directory named <repo-name>-docs containing:

  • <repo-name>-raw.txt: Complete original GitIngest output with Summary, Tree structure, and File Contents
  • <repo-name>-llms.txt: Basic overview of the repository including original structure
  • <repo-name>-llms-full.txt: Comprehensive overview with all files including original structure
  • <repo-name>-llms-ctx.txt: Basic overview with embedded file contents
  • <repo-name>-llms-full-ctx.txt: Comprehensive overview with all embedded file contents

Each file preserves the original structure from GitIngest, ensuring you have access to:

  • Repository summary (name, URL, branch, commit)
  • Complete directory tree structure
  • File contents organized by category

Requirements

  • Python 3.10+
  • GitIngest 0.1.4 or higher

License

MIT License. See LICENSE for more information.

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

fluxative-0.1.2.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fluxative-0.1.2-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file fluxative-0.1.2.tar.gz.

File metadata

  • Download URL: fluxative-0.1.2.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fluxative-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a375e33999bc19d72bbb50999269a439482f8247c8cb3618ac24a63c9c855d0f
MD5 8dee4b122696ffa3e971c247c70c3f1a
BLAKE2b-256 c7b396839ddc603e7bba76b19ed459b9971d85ae56b9d1646b43f8397d04a49c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxative-0.1.2.tar.gz:

Publisher: python-publish.yml on JakePIXL/Fluxative

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fluxative-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fluxative-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fluxative-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2645983b0c599f433a7a612664171db39b3981efcabe9bd061e222585c02f975
MD5 03944fe5adee0c0f351c67f77e0b5a42
BLAKE2b-256 838bf32e5f9f03dbd240dd931b7ef1bf4ee1b9557ea13c5a2e03a81b6e17cc82

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxative-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on JakePIXL/Fluxative

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page