akadeepesh e244810ec1 fix(applier): fall back to on-disk layout when manifest can't settle wrapper-strip
Manifest-based match-rate comparison ties at 0% (both stripped and
unstripped) whenever the freshest manifest is scoped to a subset of the
project — most commonly a git-diff manifest from output/git-changes/,
which only ever tracked files touched in one prior change. A zip of
otherwise-legitimate new files then looks equally unmatched either way,
so the previous logic played it safe and left the wrapper folder in
place, dumping it verbatim into the project.

Now, when the manifest signal ties, fall back to comparing top-level
path segments against the project's real, current directory layout
(app/, components/, lib/, etc.) instead. Confirmed against a
reproduction of the exact reported case.
2026-09-20 15:48:19 +05:30
2026-08-31 02:01:31 +05:30

cz

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%