Files
contextzip/README.md
T
2026-08-31 02:01:31 +05:30

72 lines
3.3 KiB
Markdown

<img width="1536" height="1024" alt="cz" src="https://github.com/user-attachments/assets/a930b49c-34a0-447b-8f3a-1909eae977c8" />
# contextzip
> Package exactly the right parts of your codebase and paste it into any AI tool — in one command.
```bash
pip install contextzip
```
**📖 Full docs, every flag, every config option: [contextzip.vercel.app](https://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
```bash
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](https://contextzip.vercel.app/cli).
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](https://contextzip.vercel.app/features).
## Also a Python library
```python
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](https://contextzip.vercel.app/cli#python-api)
## Learn more
- [Packaging & detection](https://contextzip.vercel.app/features) — frameworks, exclusion rules, safety
- [AI-powered file selection](https://contextzip.vercel.app/ai-selection) — `--prompt`, Gemini setup
- [Terminal error watcher](https://contextzip.vercel.app/watch) — `contextzip watch`
- [Applying changes back](https://contextzip.vercel.app/apply-zip) — `apply-zip`, backups, safety
- [Configuration](https://contextzip.vercel.app/configuration) — personal & project config, visual config UI
- [CLI & Python API reference](https://contextzip.vercel.app/cli)
## Contributing
Contributions are welcome — especially new framework rule sets and edge-case fixes. See [CONTRIBUTING.md](https://github.com/akadeepesh/contextzip/blob/main/CONTRIBUTING.md). Please open an issue before starting a large PR.
## License
MIT — see [LICENSE](https://github.com/akadeepesh/contextzip/blob/main/LICENSE) for details.