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.1.tar.gz (10.3 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.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluxative-0.1.1.tar.gz
  • Upload date:
  • Size: 10.3 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.1.tar.gz
Algorithm Hash digest
SHA256 fe3cc87afd7d5126c7e3953461cb718a39f586faeeb303abb4c46b1b9692980a
MD5 6cb5631b256bde2650ce3307da6d4fbb
BLAKE2b-256 345c0e1d939e2192cadb3a2e7f7b701e147fc9c597ff59615703ec9488ca20fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxative-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: fluxative-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 974e60aed669d2e5b818d112f9fa8fee6803b6c34fed3f9fff196a8874aa0133
MD5 c1ab1cfe0df0445f46e25130f78a68bc
BLAKE2b-256 48fe7237864db586af818df8fffd30570fcdb588ed22ef68caeff94e760a956d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxative-0.1.1-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