Skip to content

JakePIXL/Fluxative

Repository files navigation

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.

About

CLI tool to generate LLM context files from Git repositories.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages