Generate LLM context files from Git repositories
Project description
Fluxative
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 formatsexpander.py: Enhances llms.txt files by embedding actual file content from GitIngestfluxative.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 Contentsrepo-llms.txt: Basic repository summary with original structure preservedrepo-llms-full.txt: Comprehensive repository summary with original structure preservedrepo-llms-ctx.txt: Basic summary with embedded file contentsrepo-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6acde7dc417edcdf6875fa781cf211ad826c5f897bc64daafce4b97213c6b592
|
|
| MD5 |
556a71c7fe1e9ce6cf6b0951861a149e
|
|
| BLAKE2b-256 |
5788576881cd48871b7fb9b399b57ccf5a1c29a24b50c28f09f547ab62f7bfaf
|
Provenance
The following attestation bundles were made for fluxative-0.1.4.tar.gz:
Publisher:
python-publish.yml on JakePIXL/Fluxative
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fluxative-0.1.4.tar.gz -
Subject digest:
6acde7dc417edcdf6875fa781cf211ad826c5f897bc64daafce4b97213c6b592 - Sigstore transparency entry: 181706698
- Sigstore integration time:
-
Permalink:
JakePIXL/Fluxative@c1431f2d473bf32f5279ef6e8acbf073fd23dd6b -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/JakePIXL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c1431f2d473bf32f5279ef6e8acbf073fd23dd6b -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec8add0a4c476e9ec9d9a1156cfc1453c1ec219b0b27ee185a428798c59fb147
|
|
| MD5 |
de572c19f3865c75257356f3cec6f109
|
|
| BLAKE2b-256 |
4a3a65bd1f93712b9b933b15b70e2b4a9689fc1c314ffb547a5ce47ec262b7f8
|
Provenance
The following attestation bundles were made for fluxative-0.1.4-py3-none-any.whl:
Publisher:
python-publish.yml on JakePIXL/Fluxative
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fluxative-0.1.4-py3-none-any.whl -
Subject digest:
ec8add0a4c476e9ec9d9a1156cfc1453c1ec219b0b27ee185a428798c59fb147 - Sigstore transparency entry: 181706700
- Sigstore integration time:
-
Permalink:
JakePIXL/Fluxative@c1431f2d473bf32f5279ef6e8acbf073fd23dd6b -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/JakePIXL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c1431f2d473bf32f5279ef6e8acbf073fd23dd6b -
Trigger Event:
release
-
Statement type: