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.5.tar.gz (39.2 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.5-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluxative-0.1.5.tar.gz
  • Upload date:
  • Size: 39.2 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.5.tar.gz
Algorithm Hash digest
SHA256 9b3ca8ce31480537f09d1f8143384ac0d788e1ccd9136d006b7757b86faa32c8
MD5 51260ff464173dc361f1f6f2bc6dd5f2
BLAKE2b-256 ab5947ae09e0f4dcf2f6fa5bfd7f9ea9e102e4997d465725f8b80275641cfba2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fluxative-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.6 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b9dc8e34b7a715e2f61437d5cbafb7055be54c4c1eabc9c6c67cf49bb048c398
MD5 35aad43618d93a2f05789d22c5871253
BLAKE2b-256 6ce15491ade263116cbb45c467a1cd2893dcab5928811f92af0a7744926f4c24

See more details on using hashes here.

Provenance

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