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.1.tar.gz (11.3 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.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ai_pack_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fe00c892e41f4886666823f2f587cef05732076c863e4c80dbdc1bcd6855484b
MD5 7c412b7ff9b2abb6a526733e2da2e99e
BLAKE2b-256 a638e5cfd66e8870133b81598f37e39777d3323d63e1b2f5d92d40dc06b66080

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ai_pack_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8668a2d250bd3a2072feaba1afd584ca6ce0814fe1d6c8505f67767558437abb
MD5 9d0815d751817c724c430ba9098a20a9
BLAKE2b-256 677551f98fc06acbbb7a75dcca252766b423f89eb2fbe826533042b0186806f4

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