Skip to main content

Generate LLM context files from Git repositories

Reason this release was yanked:

Broken pyproject.toml

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.3.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.3-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluxative-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 6d1d021e3c10983230b82d9962680666b13194c579b63d5a36c8545145eabdb3
MD5 d63b8cb60096b83345e9a94369eac7a5
BLAKE2b-256 4b3976e24ee885d77cfdaf86b20fa2dbfcc3cbc274a00b3ef375f0a0e5649989

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fluxative-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a3209a67c7f8567de0ebe7b6f90786105f8761a7689e3b7780427cf39c66dcea
MD5 08d8194cea9e052e61649fe414672ad5
BLAKE2b-256 c97ca4d0ed50373791d97eb4505dae038b184d9c261a7610341740a87637c855

See more details on using hashes here.

Provenance

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