Skip to main content

No project description provided

Project description

📦 ai-pack

Python Version License PyPI version PRs Welcome GitHub Stars

Pack your entire codebase into a single formatted Markdown prompt for LLMs, optimized for minimum tokens.

ai-pack is a lightweight, high-performance CLI tool designed to help developers package their codebase, specific files, or uncommitted changes into a clean Markdown payload. Easily copy it to the clipboard or save it to a file to feed directly into ChatGPT, Claude, Gemini, or any other LLM.


🔥 Key Features

  • ⚡ Native CLI Command: Accessible globally as ai-pack, aipack, or aip.
  • 💀 Code Skeleton Extraction (--skeleton): Drastically save tokens by stripping method and function bodies, keeping only class structures, imports, signatures, and docstrings.
  • 🎯 Interactive Selection (-i): Interactively choose which files to pack using Arrow keys and Spacebar before generating the payload.
  • 🌿 Git-Aware (--changed): Automatically detect and pack only modified, staged, or untracked files.
  • 🛡️ Gitignore Respecting: Native Git integration using git ls-files to automatically ignore build artifacts, node modules, and everything in .gitignore (with a clean manual fallback for non-git folders).
  • 💬 Predefined LLM Prompts (-p): Instantly prepend pre-configured prompts for code review, bug hunting, or architecture explanations.
  • 📊 Token Estimation: Heuristic token counting warns you if your payload exceeds your limit (--max-tokens).

🚀 Quick Start

Installation

Choose one of the following methods to get started quickly:

Option 1: Install from PyPI (Recommended)

Install the official release from PyPI:

pip3 install ai-pack-cli --user

Or via pipx to run in an isolated environment:

pipx install ai-pack-cli

Option 2: Install directly from GitHub

Install the latest cutting-edge development version directly:

pip3 install git+https://github.com/iamraydoan/ai-pack.git --user

Option 3: Manual Clone (Editable mode)

If you want to modify the source code:

git clone https://github.com/iamraydoan/ai-pack.git
cd ai-pack
pip3 install -e . --user

Option 4: Run as a Standalone Script (One-Liner)

Since ai-pack is a self-contained single script, you can download it directly:

curl -o ~/.local/bin/aip https://raw.githubusercontent.com/iamraydoan/ai-pack/main/ai_pack.py && chmod +x ~/.local/bin/aip

(Note: If you run it standalone, you will need to manually run pip3 install pyperclip questionary to enable all optional interactive and clipboard features).

Usage Examples

1. Pack the entire repository (copied to clipboard)

aip

2. Pack specific files and save to a file

aip -f src/main.py tests/ -o output.md

3. Pack only uncommitted git changes with a code review prompt

aip --changed -p review

4. Extract code skeleton only (drastically saves context window tokens)

aip --skeleton -p explain

5. Interactively choose files to include

aip -i

💀 Skeleton Mode Demo

Original Code (math.py):

def fibonacci(n):
    if n <= 0:
        return []
    elif n == 1:
        return [0]
    sequence = [0, 1]
    while len(sequence) < n:
        sequence.append(sequence[-1] + sequence[-2])
    return sequence

Skeleton Output:

def fibonacci(n):
    ...

Supports Python and all brace-delimited languages (JS, TS, Go, Rust, C++, Java, Swift, etc.)


🎨 Interactive CLI Checklist

Running aip -i triggers a beautiful checkbox prompt:

? Select files to pack (Space to toggle, Enter to confirm):
 ❯ [x] src/main.py
   [x] src/utils.py
   [ ] tests/test_main.py

🤝 Contributing

Contributions are welcome! If you have ideas for new features, bug fixes, or enhancements:

  1. Fork the repo.
  2. Create your feature branch (git checkout -b feat/amazing-feature).
  3. Commit your changes (git commit -m 'feat: add amazing feature').
  4. Push to the branch (git push origin feat/amazing-feature).
  5. Open a Pull Request.

Don't forget to give the project a ⭐ if you found it useful!

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

ai_pack_cli-0.1.2.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

ai_pack_cli-0.1.2-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file ai_pack_cli-0.1.2.tar.gz.

File metadata

  • Download URL: ai_pack_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ai_pack_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 51e3c40ec4d99bfa4ca269c37b10557d866127ad0e0d39cc5513369bc9150521
MD5 72deb13f3f52732b14f56e4b00fbfd7c
BLAKE2b-256 e548f2b8416e062cf0e9236474e6afab42b0926a343b603826140417d64ab39c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_pack_cli-0.1.2.tar.gz:

Publisher: publish.yml on iamraydoan/ai-pack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_pack_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ai_pack_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ai_pack_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aed077f9b5810f5eb7b079bc31f2e6a34266b94fa998a71586be13ed569e9e9b
MD5 8ada62793073b8290077d72866b41e7a
BLAKE2b-256 553b530fd2a160b213a5d510934a7fe8ba74eeadaab6178918fbb77327c6ce66

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_pack_cli-0.1.2-py3-none-any.whl:

Publisher: publish.yml on iamraydoan/ai-pack

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