75 Commits
Author SHA1 Message Date
akadeepesh d8faf3acf2 chore: bump version to 0.4.0, add CHANGELOG entry and README section for eod/handoff v0.3.4 2026-07-17 08:10:35 +05:30
akadeepesh 5b54f95390 feat(cli): add eod and handoff subcommands, extend config with session key management 2026-07-17 08:10:21 +05:30
akadeepesh a140a3675d feat(cli_display,cli_onboard): add eod/handoff result panel and session key onboarding 2026-07-17 08:10:15 +05:30
akadeepesh 7a3580e396 feat(clipboard): add text-mode clipboard for eod/handoff prompts 2026-07-17 08:10:06 +05:30
akadeepesh 9e80971a1b refactor(packager,rules): generalise _ensure_gitignore and exclude exports/ from file scanning 2026-07-17 08:06:41 +05:30
akadeepesh 81e8ce3d6f feat(brief): add eod/handoff prompt orchestrator 2026-07-17 08:06:29 +05:30
akadeepesh 752f6261e2 feat(claude): add conversation export locator and artifact fetcher 2026-07-17 08:06:19 +05:30
akadeepesh 0126a909e8 feat(code_changes): add three-case file diff resolution for eod/handoff 2026-07-17 08:06:07 +05:30
akadeepesh f73902698f feat(config): add Claude session key storage alongside Gemini key 2026-07-17 08:05:58 +05:30
akadeepesh 4a4562b366 feat(markers): add per-branch checkpoint storage for eod/handoff 2026-07-17 08:03:28 +05:30
akadeepesh a533ad076f feat(git): add branch-aware primitives for eod/handoff diff resolution 2026-07-17 08:03:17 +05:30
akadeepesh 10247933b3 chore: bump version to 0.3.3 v0.3.3 2026-05-29 21:55:09 +05:30
akadeepesh 2de59c0b1c fix(packaging): include all subpackages in wheel by removing explicit allowlist 2026-05-29 21:53:59 +05:30
akadeepesh 859db2d24e feat: add Python API for contextzip with functions for git changes and file management 2026-05-25 16:27:09 +05:30
akadeepesh 55beeec917 chore: bump version to 0.3.2 and update changelog for new API features v0.3.2 2026-05-25 13:52:51 +05:30
akadeepesh 594257ec9b feat: add contextzip watch subcommand for automatic error detection and packaging 2026-05-25 13:52:29 +05:30
akadeepesh 79c22fc22b feat: add public API for contextzip with functions for git changes and file management
fix: revert version to 0.3.0 and update __all__ exports in __init__.py
feat: implement create_zip_silent for silent ZIP creation without console output
2026-05-25 13:50:05 +05:30
akadeepesh 4e15f2b9e6 chore: bump version to 0.3.1 v0.3.1 2026-05-25 13:46:48 +05:30
Deepesh KumarandGitHub 9aef7767f4 feat: terminal error watcher with automatic debug context generation (#9) 2026-05-25 13:45:05 +05:30
akadeepesh 06461ef644 fix(gemini): update default model identifier to gemini-2.5-flash-lite
refactor(filters): improve path handling in resolve_files function

cleanup(packager): remove legacy _safe_name helper function
2026-05-25 13:42:11 +05:30
akadeepesh 88ce0f9754 docs: update README with watch command documentation
Adds Terminal error watcher section covering the full flow, ZIP contents
table, Ctrl+C fallback, supported frameworks, and PTY/Windows note.
Updates features list and subcommands reference.
2026-05-25 13:41:59 +05:30
akadeepesh 1c05bd8997 feat(cli): add watch subcommand wired to watcher module
Adds `contextzip watch -- COMMAND [ARGS]` to the CLI group.
Runs ecosystem detection, prints the Windows PTY warning where relevant,
and delegates to watcher.run_watch().
2026-05-25 13:41:26 +05:30
akadeepesh 572edee026 refactor(cli): split cli.py into four focused modules
cli.py was 1,100+ lines. Extracted with no behaviour changes:
- cli_display.py  — all Rich rendering helpers
- cli_ai.py       — AI selection orchestration + normalize_pattern
- cli_onboard.py  — Gemini API key onboarding flow
cli.py retains only Click routing and _run().
2026-05-25 13:41:09 +05:30
akadeepesh 2d1aee7d7d feat: add watcher module for process spawning and debug packaging
Spawns child process via subprocess.Popen, buffers output across two
daemon reader threads, detects errors via polling, and renders the D/S
prompt using termios raw mode (Unix) / msvcrt (Windows).
Writes debug-context.zip flat: prompt.txt, terminal-error.txt, source-files.zip.
2026-05-25 13:40:54 +05:30
akadeepesh a9f5d0ac58 feat: add error_parser module for terminal output processing
Handles the full pipeline: ANSI stripping, error block detection,
stack trace path extraction, noise removal, and prompt.txt generation.
Searches backward through the buffer to always find the most recent error.
2026-05-25 13:40:46 +05:30
akadeepesh f3dd7ef1b9 feat(rules): add error detection pattern sets for Python and Node.js
Add contextzip/rules/errors/ with python.py and node.py.
Each file exports ERROR_START_PATTERNS, PATH_PATTERNS, and NOISE_PATTERNS
covering Python/Django/FastAPI and Node.js/Next.js/React respectively.
2026-05-25 13:40:36 +05:30
akadeepesh eacf85f0b8 (formatting) : format code with ruff formatter. 2026-05-24 02:23:12 +05:30
akadeepesh 15192e2048 chore: bump version to 0.2.4 v0.3.0 2026-05-24 01:58:31 +05:30
akadeepesh 4ac4b82d62 feat: add AI-powered file selection with --prompt flag and onboarding flow 2026-05-24 01:57:38 +05:30
akadeepesh 5f99b04046 docs: update README for clarity and improved feature descriptions 2026-05-24 01:56:55 +05:30
Deepesh KumarandGitHub 30568d15a1 feat: AI-powered file selection via --prompt flag (Gemini 2.5 Flash Lite) (#8) 2026-05-24 01:31:11 +05:30
akadeepesh 43ec8fce27 docs: update README and dependencies for --prompt feature
- Documents --prompt flag, AI file selection, first-run onboarding
- Adds config subcommand to usage table and examples
- Adds httpx to dependencies in pyproject.toml
- Updates project structure to include ai/ package
2026-05-24 01:28:02 +05:30
akadeepesh c2d650d8d8 feat(packager): include prompt.txt in ZIP when --prompt is used
Writes task description and selected file list as the first entry in the ZIP
so any AI tool receiving it immediately knows the context and intent.
2026-05-24 01:27:55 +05:30
akadeepesh af7bd8375f feat(cli): add --prompt flag with Gemini onboarding and AI file selection
- New --prompt/-p flag available on all commands and subcommands
- First-run onboarding flow guides user to Google AI Studio for a free key
- New config subcommand: contextzip config --reset-key / --show-key-path
- Shows AI-selected files in a panel before packaging
- Heuristic fallback warns user clearly when Gemini was rate limited
2026-05-24 01:27:48 +05:30
akadeepesh d7da3a802e feat(config): add persistent API key storage for Gemini
Saves the Gemini API key to ~/.config/contextzip/config.json on Linux/macOS
and %APPDATA%\contextzip\config.json on Windows. Validates keys must start
with AIza before use. Includes diagnose_api_key() for surfacing bad keys early.
2026-05-24 01:27:27 +05:30
akadeepesh fb5632aa73 feat(ai): add Gemini-powered file selection with heuristic fallback
Introduces the ai/ package with three modules:
- gemini.py: thin httpx client for Gemini 2.5 Flash Lite API
- heuristic.py: keyword-based file scorer (fallback on rate limit)
- selector.py: orchestrator that builds the project map and coordinates selection
2026-05-24 01:27:16 +05:30
akadeepesh 4f31b18697 feat: enhance README with details on persistent workspace and output management 2026-05-22 03:26:01 +05:30
akadeepesh e29edc70fc chore: bump version to 0.2.4 v0.2.4 2026-05-20 23:47:59 +05:30
akadeepesh 753ee3e151 feat: add persistent .contextzip workspace and improved packaging features 2026-05-20 23:47:16 +05:30
Deepesh KumarandGitHub af4049721f Add persistent .contextzip workspace for generated context packages (#7) 2026-05-20 23:46:12 +05:30
akadeepesh 1adde5f2f5 feat: add persistent .contextzip workspace for generated packages 2026-05-20 23:43:28 +05:30
akadeepesh f48e0a498a chore: bump version to 0.2.3 v0.2.3 2026-05-19 19:06:28 +05:30
akadeepesh 6de248d095 chore: add changelog for version 0.2.3 2026-05-19 19:06:17 +05:30
akadeepesh bb56bdaa9e Adding tags to pyproject 2026-05-19 18:52:59 +05:30
akadeepesh a6cd90f62d Exclude github files like License Contributing etc from zip 2026-05-19 18:52:36 +05:30
akadeepesh b1745c8473 Fixing ruby language detection 2026-05-19 18:51:13 +05:30
akadeepesh 1824d67264 chore: bump version to 0.2.2 v0.2.2 2026-05-16 02:27:37 +05:30
akadeepesh 23ff71fff4 feat: add exclude and include subcommands for multi-file filtering in contextzip 2026-05-16 02:26:33 +05:30
Deepesh KumarandGitHub 88a842eba0 Merge pull request #2 from akadeepesh/feat/exclude-include-subcommands
feat: add `exclude` and `include` subcommands for multi-file filtering
2026-05-16 02:25:38 +05:30
akadeepesh aeab4bf6ea docs: update README to clarify usage of exclude option and subcommands 2026-05-16 02:24:59 +05:30