Skip to main content

A tool to print git repository files with tree structure

Project description

ctxify 🎉

Turn Your Git Repo into a Clipboard-Ready Context Machine

GitHub release (latest by date) License

ctxify is a sleek CLI tool that grabs all tracked files in your Git repository, builds a neat tree structure, and copies everything—code and all—to your clipboard with a single command. Perfect for sharing project context, debugging, or feeding your code straight into AI assistants. Oh, and it even throws in an approximate token count for good measure! 🚀


Why ctxify?

Ever wanted to:

  • Share your project structure and code in one go?
  • Skip the hassle of manually copying files?
  • Know how many tokens your project weighs in at (for AI fun)?

ctxify does it all. It’s lightweight, fast, and skips the fluff (like lock files or .gitignore). Plus, it’s built with Python 3.13 and Git magic. ✨


Features

  • 📂 Git-Powered Tree View: Prints a gorgeous file tree of tracked files.
  • 📋 Clipboard Ready: Copies the tree and file contents instantly.
  • 🚫 Smart Filtering: Ignores non-code files (e.g., package-lock.json, .txt) by default.
  • 📝 Markdown Support: Optionally include .md files with a simple flag.
  • 📏 Token Count: Estimates tokens (1 token ≈ 4 chars) for the full output.

Installation

Install ctxify from PyPI using your favorite tool:

  • With pipx (recommended for isolated CLI tools):

    pipx install ctxify
    
  • With uv (fast and modern Python tool management):

    uv tool install ctxify
    

Optional (for clipboard support)

On Linux, install xclip for clipboard functionality:

sudo apt install xclip

Usage

Run it from your Git repo’s root:

ctxify

Options

  • --md / -md: Include .md files (like README.md) in the output.
    ctxify --md
    

Example Output

Files Included in Context:
├── .python-version
└── src
    └── ctxify
        ├── __init__.py
        ├── cli.py
        └── main.py

Approximate token count: 512 (based on 1 token ≈ 4 chars)

The clipboard gets the tree plus all file contents—ready to paste anywhere!


Contributing

Love ctxify? Want to make it even better?

  • Fork it.
  • Submit a PR.
  • Open an issue with ideas or bugs.

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

ctxify-0.1.1.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

ctxify-0.1.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file ctxify-0.1.1.tar.gz.

File metadata

  • Download URL: ctxify-0.1.1.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ctxify-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1c89e8d22478d49d973f7eb17e8f67aab51d57ec6da0cfc5e6275934eef490d1
MD5 014f1d685cbd65f1bc1481dfaefa3abc
BLAKE2b-256 96c07d57b6c7f3b9f16b4baa065a220130ed7f259d03fe8b9a5b821084260ab4

See more details on using hashes here.

File details

Details for the file ctxify-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ctxify-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ctxify-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e62071be7b356218d9527b81e8ef16ca367011d54c950e637d6ae44f8f021ea
MD5 1510af1c9e559ac0fb2edfd94b2f3605
BLAKE2b-256 f3d5e9bd893d1d18e2a34230000fd5e71d70e3a31854bacef973a2d74e2f846e

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