Skip to main content

Terminal tool to prep codebases for LLMs

Project description

gitex logo

CI codecov

🛠️ Terminal tool to prep your codebase (whole or partial) for LLMs, clean, compress, and convert it into prompt-ready text! 🚀📦

gitex animated demo

📥 Installation

Install the package via pip:

pip install gitex

🐳 Docker install (no Python/pip)

If you only have Docker and want gitex as a normal command:

git clone https://github.com/zozaai/gitex
cd gitex
./scripts/install-gitex-docker.sh

📋 Clipboard support (Linux)

Ubuntu/Debian

# Wayland (recommended):
sudo apt install -y wl-clipboard

# X11 alternatives:
sudo apt install -y xclip
# or
sudo apt install -y xsel

▶️ Usage

gitex helps you bundle your codebase into a single, LLM-friendly text format. It respects your .gitignore by default and provides several ways to filter content.

Basic Examples

gitex .                                 # Process current directory and copy to clipboard
gitex -i                                # Launch the interactive TUI to pick specific files/folders
gitex /path/to/repo --force             # Force process a directory even if it's not a Git repo
gitex . --no-files                      # Render the directory tree ONLY (omit file contents)

Advanced Filtering & Combinations

gitex . -a                              # Include hidden files (those starting with .)
gitex . -g                              # Ignore .gitignore rules (process everything)
gitex . -ag                             # Combine: Show hidden files AND ignore .gitignore
gitex . -iv                             # Interactive selection with verbose output to terminal
gitex . -v                              # Verbose: Print to terminal AND copy to clipboard
gitex . > codebase.txt                  # Redirect output to a text file

Intelligence Features

gitex . -ds                             # Extract only Python docstrings and signatures
gitex . --map-dependencies              # Analyze code relationships (imports, inheritance, calls)

🙏 Acknowledgments

This project draws inspiration from repo2txt by @abinthomasonline.
Big thanks for laying the groundwork for converting repositories into prompt-ready text!


📚 Click to expand: Docstring Extraction Details

Python Docstring Extraction

Extract and format docstrings and function/class signatures from Python files, inspired by Sphinx. Perfect for providing high-level context to LLMs without implementation noise.

  • Extract from all Python files:
    gitex . --extract-docstrings
  • Extract from a specific class or function:
    gitex . --extract-docstrings gitex.renderer.Renderer
  • Include classes/functions even if they have no docstrings:
    gitex . --extract-docstrings --include-empty-classes
🔗 Click to expand: Dependency & Relationship Mapping Details

Architecture Analysis

Analyze and visualize code architecture, dependencies, and relationships in your codebase. Essential for understanding how components interact before diving into implementation details.

  • Full analysis: gitex . --map-dependencies
  • Focus on imports: gitex . --map-dependencies imports
  • Focus on inheritance: gitex . --map-dependencies inheritance
  • Focus on function calls: gitex . --map-dependencies calls

What it maps:

  • 📦 Import dependencies - Which files depend on which other files.
  • 🏗️ Class inheritance hierarchies - Parent-child relationships between classes.
  • 🔄 Function call relationships - Which functions call which other functions.
  • 📊 Summary statistics - Overview of codebase complexity and external dependencies.

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

gitex-0.4.0.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitex-0.4.0-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file gitex-0.4.0.tar.gz.

File metadata

  • Download URL: gitex-0.4.0.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitex-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7fb26085ff68c1d1e15cf6c3aaec03f94a2195fb46b615c130ae749d0ca8cb22
MD5 0f4dcd9898d26e3d96d128ce390cc75f
BLAKE2b-256 e66135981c5324a810797879444013daca6703d791e8d6441dee39fa413cf71c

See more details on using hashes here.

File details

Details for the file gitex-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: gitex-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitex-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0db18bb44ed40f1bfdc5b237608cbc6b3d84ec3ec921ee2e5b72a03e6ce985a9
MD5 423e01ad2ef662e105fa5aed89fcf932
BLAKE2b-256 0cbbcfa64edf7039fb29df35f5b9899239d959b721f64b39bbca1b1629455bd8

See more details on using hashes here.

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