akadeepesh 0ba6b1f121 feat(cli): wire per-mode output, auto-cleanup, and redaction into the run
- Main run, apply-zip, watch, and config converted from Panel-based
  messaging to ok/warn/err/info.
- Wire write_scan_report()/write_apply_report() into the main
  packaging flow and apply-zip; print a dim 'Full report: ...' line.
- Compute run mode (standard/git-changes/prompt) once and pass it
  through to create_zip() and the report, replacing the old
  git_changes boolean.
- Pass limits.redact_secrets into create_zip() and print a one-line
  redaction summary when anything was caught.
- Auto-run .contextzip/ cleanup after every successful command
  (main run and apply-zip) per the new cleanup.* project settings.
- Drop the '.gitignore patterns applied' line entirely (dead weight,
  no signal) and remove the now-unused used_gitignore variable.
- Clipboard step no longer wraps in a status spinner; folder-opened
  no longer prints anything.
2026-08-30 23:24:06 +05:30
2026-08-26 16:16:56 +05:30

contextzip

Package exactly the right parts of your codebase and paste it into any AI tool — in one command.

pip install contextzip

📖 Full docs, every flag, every config option: contextzip.vercel.app


Why contextzip

Every AI session starts the same way: hunt down the relevant files, skip node_modules and build artifacts by hand, zip it, find the zip, upload it — then do it all again next session.

contextzip eliminates that. Run it from your project root — it detects your stack, applies smart exclusions, and produces a lean ZIP ready to paste into Claude, ChatGPT, or any AI tool. When the AI hands changes back, contextzip apply-zip writes them into your project safely.

Quick start

cd ~/projects/my-app
contextzip

That's it — no flags required. contextzip detects your framework, excludes the noise, and writes a ZIP to .contextzip/.

The essentials

Command What it does
contextzip Detect stack, exclude noise, package the project
contextzip --prompt "task" Let Gemini pick only the files relevant to a task
contextzip --git-changes Package only modified/staged/untracked files
contextzip apply-zip Write an AI-returned ZIP back into your project, safely
contextzip watch -- npm run dev Auto-package debug context the moment an error appears
contextzip config --ui Set include/exclude rules visually in a local browser tab

Every command supports --dry-run, --verbose, --include, --exclude, and more — see the full CLI reference.

contextzip respects your .gitignore, detects Node.js, Next.js, Python, Django, FastAPI, Rust, Go, and Ruby (including in monorepos), and never packages secrets — SSH keys, cloud credentials, and Terraform state are always excluded. Details: contextzip.vercel.app/features.

Also a Python library

from contextzip import get_git_changes, create_zip

collection = get_git_changes()
pkg = create_zip(collection, output="/tmp/changes.zip")

Full function reference: contextzip.vercel.app/cli#python-api

Learn more

Contributing

Contributions are welcome — especially new framework rule sets and edge-case fixes. See CONTRIBUTING.md. Please open an issue before starting a large PR.

License

MIT — see LICENSE for details.

Languages
Python 100%