Skip to main content

Generate LLM context files from Git repositories

Project description

Fluxative

PyPI - Version PyPI - License GitHub Issues or Pull Requests GitHub Actions Workflow Status PyPI - Downloads GitHub Repo stars

Fluxative streamlines the conversion of Git repositories into standardized context files optimized for LLM consumption. The project architecture consists of three core components working together:

  • converter.py: Transforms GitIngest output into structured llms.txt and llms-full.txt formats
  • expander.py: Enhances llms.txt files by embedding actual file content from GitIngest
  • fluxative.py: Integrates both modules for a seamless end-to-end solution

Features

  • Generate LLM-friendly context files from Git repositories or GitHub URLs
  • Create a comprehensive set of 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 embedded file contents
    • repo-llms-full-ctx.txt: Comprehensive summary with embedded file contents
  • Preserve the full structure (Summary, Tree, and Content) from GitIngest
  • Automatically organize output files in a structured directory named after the repository

Installation

Using uv (Recommended)

uv install fluxative

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 a custom output directory
fluxative /path/to/repo --output-dir /custom/output/path

With uvx

If you have uv installed, you can run Fluxative directly without installation:

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

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

Output

Fluxative creates a directory named <repo-name>-docs containing different files based on the arguments used:

Default Output (Always Generated)

  • <repo-name>-llms.txt: Basic overview of the repository preserving original structure
  • <repo-name>-llms-ctx.txt: Basic overview with embedded file contents for quick reference

With --full-context Flag

  • <repo-name>-llms-full.txt: Comprehensive overview including all files with original structure
  • <repo-name>-llms-full-ctx.txt: Comprehensive overview with all embedded file contents

With --dump-raw Flag

  • <repo-name>-raw.txt: Complete original GitIngest output with Summary, Tree structure, and File Contents

Each output file maintains the original structure from GitIngest, providing you with:

  • 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
  • Typer 0.15.2 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.4.tar.gz (39.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.4-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluxative-0.1.4.tar.gz
  • Upload date:
  • Size: 39.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.4.tar.gz
Algorithm Hash digest
SHA256 6acde7dc417edcdf6875fa781cf211ad826c5f897bc64daafce4b97213c6b592
MD5 556a71c7fe1e9ce6cf6b0951861a149e
BLAKE2b-256 5788576881cd48871b7fb9b399b57ccf5a1c29a24b50c28f09f547ab62f7bfaf

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fluxative-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.5 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ec8add0a4c476e9ec9d9a1156cfc1453c1ec219b0b27ee185a428798c59fb147
MD5 de572c19f3865c75257356f3cec6f109
BLAKE2b-256 4a3a65bd1f93712b9b933b15b70e2b4a9689fc1c314ffb547a5ce47ec262b7f8

See more details on using hashes here.

Provenance

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