agentpack-cli 0.3.1__tar.gz → 0.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. agentpack_cli-0.3.1/README.md → agentpack_cli-0.3.4/PKG-INFO +118 -13
  2. agentpack_cli-0.3.1/PKG-INFO → agentpack_cli-0.3.4/README.md +79 -52
  3. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/pyproject.toml +3 -3
  4. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/__init__.py +1 -1
  5. agentpack_cli-0.3.4/src/agentpack/analysis/naming_signals.py +140 -0
  6. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/ranking.py +17 -0
  7. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/doctor.py +1 -0
  8. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/hook_cmd.py +17 -5
  9. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/models.py +2 -0
  10. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/data/agentpack.md +19 -10
  11. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/integrations/git_hooks.py +4 -7
  12. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/integrations/global_install.py +53 -11
  13. agentpack_cli-0.3.4/src/agentpack/integrations/platform.py +59 -0
  14. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/summaries/offline.py +11 -0
  15. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/.gitignore +0 -0
  16. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/LICENSE +0 -0
  17. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/__init__.py +0 -0
  18. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/antigravity.py +0 -0
  19. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/base.py +0 -0
  20. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/claude.py +0 -0
  21. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/codex.py +0 -0
  22. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/cursor.py +0 -0
  23. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/detect.py +0 -0
  24. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/generic.py +0 -0
  25. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/adapters/windsurf.py +0 -0
  26. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/__init__.py +0 -0
  27. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/dependency_graph.py +0 -0
  28. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/go_imports.py +0 -0
  29. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/java_imports.py +0 -0
  30. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/js_ts_imports.py +0 -0
  31. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/monorepo.py +0 -0
  32. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/python_imports.py +0 -0
  33. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/repo_map.py +0 -0
  34. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/role_inference.py +0 -0
  35. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/rust_imports.py +0 -0
  36. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/symbols.py +0 -0
  37. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/task_classifier.py +0 -0
  38. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/analysis/tests.py +0 -0
  39. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/application/__init__.py +0 -0
  40. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/application/pack_service.py +0 -0
  41. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/cli.py +0 -0
  42. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/__init__.py +0 -0
  43. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/_shared.py +0 -0
  44. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/benchmark.py +0 -0
  45. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/claude_cmd.py +0 -0
  46. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/diff.py +0 -0
  47. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/explain.py +0 -0
  48. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/init.py +0 -0
  49. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/install.py +0 -0
  50. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/mcp_cmd.py +0 -0
  51. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/monitor.py +0 -0
  52. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/pack.py +0 -0
  53. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/quickstart.py +0 -0
  54. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/repair.py +0 -0
  55. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/scan.py +0 -0
  56. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/stats.py +0 -0
  57. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/status.py +0 -0
  58. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/summarize.py +0 -0
  59. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/tune.py +0 -0
  60. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/commands/watch.py +0 -0
  61. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/__init__.py +0 -0
  62. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/bootstrap.py +0 -0
  63. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/cache.py +0 -0
  64. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/config.py +0 -0
  65. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/context_pack.py +0 -0
  66. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/diff.py +0 -0
  67. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/git.py +0 -0
  68. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/git_hooks.py +0 -0
  69. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/global_install.py +0 -0
  70. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/ignore.py +0 -0
  71. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/merkle.py +0 -0
  72. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/redactor.py +0 -0
  73. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/scanner.py +0 -0
  74. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/snapshot.py +0 -0
  75. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/token_estimator.py +0 -0
  76. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/core/vscode_tasks.py +0 -0
  77. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/installers/__init__.py +0 -0
  78. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/installers/antigravity.py +0 -0
  79. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/installers/claude.py +0 -0
  80. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/installers/codex.py +0 -0
  81. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/installers/cursor.py +0 -0
  82. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/installers/windsurf.py +0 -0
  83. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/integrations/__init__.py +0 -0
  84. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/integrations/agents.py +0 -0
  85. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/integrations/vscode_tasks.py +0 -0
  86. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/mcp_server.py +0 -0
  87. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/renderers/__init__.py +0 -0
  88. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/renderers/compact.py +0 -0
  89. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/renderers/markdown.py +0 -0
  90. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/renderers/receipts.py +0 -0
  91. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/session/__init__.py +0 -0
  92. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/session/state.py +0 -0
  93. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/summaries/__init__.py +0 -0
  94. {agentpack_cli-0.3.1 → agentpack_cli-0.3.4}/src/agentpack/summaries/base.py +0 -0
@@ -1,19 +1,60 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentpack-cli
3
+ Version: 0.3.4
4
+ Summary: Local context engine for AI coding agents that ranks relevant files and builds task-focused context packs.
5
+ License: MIT
6
+ License-File: LICENSE
7
+ Keywords: ai,ai-coding-agents,antigravity,ci,claude,claude-code,codex,context,context-engine,context-packing,cursor,developer-tools,llm,mcp,packing,prompt-context,repo-analysis,windsurf
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Topic :: Software Development :: Build Tools
16
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
+ Requires-Python: >=3.10
18
+ Requires-Dist: pathspec>=0.12.1
19
+ Requires-Dist: pydantic>=2.0.0
20
+ Requires-Dist: rich>=13.0.0
21
+ Requires-Dist: tiktoken>=0.7.0
22
+ Requires-Dist: tomli-w>=1.0.0
23
+ Requires-Dist: tomli>=2.0.0; python_version < '3.11'
24
+ Requires-Dist: typer>=0.12.0
25
+ Provides-Extra: all
26
+ Requires-Dist: mcp>=1.0.0; extra == 'all'
27
+ Requires-Dist: watchdog>=4.0.0; extra == 'all'
28
+ Provides-Extra: dev
29
+ Requires-Dist: mypy; extra == 'dev'
30
+ Requires-Dist: pytest; extra == 'dev'
31
+ Requires-Dist: pytest-cov; extra == 'dev'
32
+ Requires-Dist: ruff; extra == 'dev'
33
+ Requires-Dist: tomli>=2.0.0; (python_version < '3.11') and extra == 'dev'
34
+ Provides-Extra: mcp
35
+ Requires-Dist: mcp>=1.0.0; extra == 'mcp'
36
+ Provides-Extra: watch
37
+ Requires-Dist: watchdog>=4.0.0; extra == 'watch'
38
+ Description-Content-Type: text/markdown
39
+
1
40
  # AgentPack
2
41
 
3
42
  [![PyPI version](https://img.shields.io/pypi/v/agentpack-cli.svg)](https://pypi.org/project/agentpack-cli/)
43
+ [![npm version](https://img.shields.io/npm/v/@vishal2612200/agentpack.svg)](https://www.npmjs.com/package/@vishal2612200/agentpack)
44
+ [![npm downloads](https://img.shields.io/npm/dm/@vishal2612200/agentpack.svg)](https://www.npmjs.com/package/@vishal2612200/agentpack)
4
45
  [![Python versions](https://img.shields.io/pypi/pyversions/agentpack-cli.svg)](https://pypi.org/project/agentpack-cli/)
5
46
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
47
  [![CI](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml/badge.svg)](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml)
7
48
 
8
- > **Status: alpha (v0.3.1).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Public benchmark proof exists for the current suite, but broader repo coverage is still growing. API may change before 1.0.
49
+ > **Status: alpha (v0.3.4).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Public benchmark proof exists for the current suite, but broader repo coverage is still growing. API may change before 1.0.
9
50
  >
10
- > **Platform note:** macOS and Linux are fully supported. Windows support is not yet implemented (git hooks use POSIX shell; the Claude Code session hooks use `python3`/`rm -f`). Contributions welcome.
51
+ > **Platform note:** macOS, Linux, and Windows are supported. Windows support targets PowerShell plus Git for Windows. `cmd.exe` and bare Git setups are not a supported path yet.
11
52
 
12
53
  **Local context engine for AI coding agents.**
13
54
 
14
- AgentPack builds task-focused context packs for Claude Code, Cursor, Windsurf, Codex, Antigravity, CI jobs, and any LLM workflow that can read markdown. It scans your repo locally, ranks files for the task, compresses the result into a token budget, and keeps the pack fresh through CLI commands, MCP tools, hooks, and agent integrations.
55
+ AgentPack gives Claude Code, Codex, Cursor, Windsurf, Antigravity, CI jobs, and other agent workflows a better starting point. It analyzes your repo locally, finds the relevant files for a task, and packages them into compact task-focused context packs for CLI and MCP tool workflows.
15
56
 
16
- AgentPack is useful when a repo is too large to paste, but a blank agent session wastes time rediscovering the same code structure. It is a context preparation tool, not a coding agent.
57
+ Use AgentPack when a repo is too large to paste and you want faster, more consistent context preparation before an agent starts working. It works offline, keeps the product boundary explicit, and is a context preparation tool, not a coding agent.
17
58
 
18
59
  ## Contents
19
60
 
@@ -21,6 +62,7 @@ AgentPack is useful when a repo is too large to paste, but a blank agent session
21
62
  - [Install](#install)
22
63
  - [Quickstart](#quickstart)
23
64
  - [Quality Bar](#quality-bar)
65
+ - [Download Stats](#download-stats)
24
66
  - [Debugging Selection](#debugging-selection)
25
67
  - [Supported Integrations](#supported-integrations)
26
68
  - [Commands](#commands)
@@ -31,8 +73,9 @@ AgentPack is useful when a repo is too large to paste, but a blank agent session
31
73
 
32
74
  ## Features
33
75
 
34
- - **Task-focused packing**: ranks files from git changes, task terms, symbols, imports, related tests, configs, churn, and repo history.
76
+ - **Task-focused packing**: ranks files from git changes, task terms, symbols, imports, related tests, configs, churn, repo history, and deterministic offline summaries.
35
77
  - **Budget-aware compression**: emits `full`, `diff`, `symbols`, `skeleton`, or `summary` views instead of all-or-nothing file dumps.
78
+ - **Local code intelligence**: extracts roles, domains, entrypoints, definitions, dependencies, env reads, side effects, and external systems using static analysis.
36
79
  - **Semantic repo map**: adds a compact module-level map before file context so agents orient faster.
37
80
  - **Freshness and deltas**: records task source, git state, snapshot hashes, selected-file deltas, and stale-context warnings.
38
81
  - **Agent integrations**: installs Claude Code, Cursor, Windsurf, Codex, Antigravity, VS Code tasks, git hooks, and MCP configuration.
@@ -66,6 +109,27 @@ sudo pacman -S python-pipx
66
109
  pipx ensurepath
67
110
  ```
68
111
 
112
+ If `pipx` is not installed yet:
113
+
114
+ ```bash
115
+ # macOS
116
+ brew install pipx
117
+
118
+ # Ubuntu/Debian
119
+ sudo apt install pipx
120
+
121
+ # Fedora
122
+ sudo dnf install pipx
123
+
124
+ # Arch
125
+ sudo pacman -S python-pipx
126
+
127
+ # Then ensure pipx apps are on PATH
128
+ pipx ensurepath
129
+ ```
130
+
131
+ `pipx` is the recommended default because it keeps the CLI isolated and avoids many macOS/Linux global `pip install` issues, including PEP 668 `externally-managed-environment` errors. If you prefer `pip`, install inside a virtual environment.
132
+
69
133
  JavaScript-heavy teams can install the npm wrapper:
70
134
 
71
135
  ```bash
@@ -73,7 +137,7 @@ npm install -g @vishal2612200/agentpack
73
137
  agentpack --version
74
138
  ```
75
139
 
76
- The npm package is a Node launcher around the Python implementation. It requires Node.js 18+ and Python 3.10+, then installs the matching core `agentpack-cli` package into a per-version virtual environment on first run. The Python package remains the source of truth; npm is the convenience install path for JavaScript-heavy teams. Use the PyPI extras below when you need optional `watch` or `mcp` dependencies.
140
+ The npm package is a Node launcher around the Python implementation. It requires Node.js 18+ and Python 3.10+, then installs the matching core `agentpack-cli` package into a per-version virtual environment on first run. The Python package remains the source of truth; npm is the convenience install path for JavaScript-heavy teams. See the [npm README](https://github.com/vishal2612200/agentpack/blob/main/npm/README.md) for wrapper cache controls and troubleshooting. Use the PyPI extras below when you need optional `watch` or `mcp` dependencies.
77
141
 
78
142
  ## Quickstart
79
143
 
@@ -144,6 +208,24 @@ ItsDangerous, and MarkupSafe by checking out each commit's parent and scoring
144
208
  against files actually changed by the commit. Synthetic fixtures are useful
145
209
  regression tests, but should not be presented as market proof.
146
210
 
211
+ ## Download Stats
212
+
213
+ npm exposes official package download counts through its public registry API and the npm downloads badge above:
214
+
215
+ ```bash
216
+ curl https://api.npmjs.org/downloads/point/last-month/%40vishal2612200%2Fagentpack
217
+ curl https://api.npmjs.org/downloads/point/last-week/%40vishal2612200%2Fagentpack
218
+ ```
219
+
220
+ PyPI does not show official project download counts on package pages. For rough trend data on the Python core package, use third-party mirrors:
221
+
222
+ ```bash
223
+ curl https://pypistats.org/api/packages/agentpack-cli/recent
224
+ ```
225
+
226
+ - PyPI Stats: <https://pypistats.org/packages/agentpack-cli>
227
+ - pepy.tech: <https://pepy.tech/project/agentpack-cli>
228
+
147
229
  ## Debugging Selection
148
230
 
149
231
  When AgentPack misses a file, the next command should explain the miss:
@@ -502,7 +584,7 @@ agentpack global-install --agent antigravity # Antigravity
502
584
 
503
585
  What it does:
504
586
  - **Git template hooks** (`~/.git-templates/hooks/`) — git copies these into every repo on `git init` / `git clone`. On `post-commit`, `post-merge`, `post-checkout`: silently repacks **only if `.agentpack/config.toml` exists** — no-op in repos that haven't opted in.
505
- - **Shell cd hook** (`~/.zshrc` or `~/.bashrc`) — on `cd`, repacks if stale **only in opted-in repos**. Never touches repos without `.agentpack/config.toml`. Never auto-inits.
587
+ - **Shell cd hook** (`~/.zshrc`, `~/.bashrc`, or the PowerShell profile on Windows) — on `cd` or prompt refresh, repacks if stale **only in opted-in repos**. Never touches repos without `.agentpack/config.toml`. Never auto-inits.
506
588
  - **Agent config** — same agent-specific files that `agentpack init --agent <x>` or `agentpack install --agent <x>` writes for the current project.
507
589
 
508
590
  All changes are idempotent, reversible, and non-destructive. Existing hooks and rc files are appended to, never overwritten. Repos you haven't explicitly run `agentpack init` in are never touched.
@@ -748,8 +830,12 @@ Uses `watchdog` if installed, falls back to polling. Context is refreshed whenev
748
830
  Install watchdog for better performance:
749
831
  ```bash
750
832
  pipx inject agentpack-cli watchdog
833
+ PIPX_AGENTPACK="$(pipx environment --value PIPX_BIN_DIR)/agentpack"
834
+ "$PIPX_AGENTPACK" watch
751
835
  ```
752
836
 
837
+ Use the explicit `pipx` binary path above if you also have the npm wrapper on `PATH`; otherwise `agentpack watch` may still resolve to the Node launcher.
838
+
753
839
  ---
754
840
 
755
841
  ### `agentpack claude`
@@ -770,9 +856,12 @@ Run AgentPack as an MCP server — exposes context packing as tools that Claude
770
856
 
771
857
  ```bash
772
858
  pipx inject agentpack-cli "agentpack-cli[mcp]"
773
- agentpack mcp
859
+ PIPX_AGENTPACK="$(pipx environment --value PIPX_BIN_DIR)/agentpack"
860
+ "$PIPX_AGENTPACK" mcp
774
861
  ```
775
862
 
863
+ Use the explicit `pipx` binary path above if you also have the npm wrapper on `PATH`; otherwise `agentpack mcp` may still resolve to the Node launcher instead of the extras-enabled Python CLI.
864
+
776
865
  Register in Claude Code settings (`~/.claude/settings.json`):
777
866
 
778
867
  ```json
@@ -1191,7 +1280,8 @@ Works like `.gitignore`. Default rules exclude:
1191
1280
  │ │
1192
1281
  │ Summary cache ── role, imports, │
1193
1282
  │ (offline) symbols, side effects, │
1194
- │ public API, errors
1283
+ │ public API, naming
1284
+ │ signals, errors │
1195
1285
  │ │
1196
1286
  │ Import graph ── Python AST │
1197
1287
  │ (6 languages) ─ JS/TS regex │
@@ -1204,6 +1294,9 @@ Works like `.gitignore`. Default rules exclude:
1204
1294
  │ ast.get_source_segment) classes, │
1205
1295
  │ ── arrow fns w/ =>) │
1206
1296
  │ │
1297
+ │ Naming signals ── public files/symbols │
1298
+ │ ── env/config/test ids │
1299
+ │ ── generic-name hints │
1207
1300
  │ Test detection ── name heuristics │
1208
1301
  │ Task keywords ── stopwords + variants│
1209
1302
  │ ── concept synonyms │
@@ -1229,6 +1322,7 @@ Works like `.gitignore`. Default rules exclude:
1229
1322
  │ +70 symbol +60 content match │
1230
1323
  │ +50 dep +40 rev-dep │
1231
1324
  │ +35 test +25 config +20 recent │
1325
+ │ +20 naming -6 generic public API │
1232
1326
  │ -50 large unrelated │
1233
1327
  │ History noise penalty from metrics │
1234
1328
  └────────────────────┬────────────────────┘
@@ -1316,14 +1410,15 @@ src/agentpack/
1316
1410
  rust_imports.py # use, mod, extern crate
1317
1411
  java_imports.py # Java import + Kotlin import
1318
1412
  symbols.py # AST symbols + body via ast.get_source_segment
1413
+ naming_signals.py # public-name classification for summaries + ranking boosts
1319
1414
  tests.py # source → test file mapping heuristics
1320
- ranking.py # keyword extraction, concept synonyms, scoring
1415
+ ranking.py # keyword extraction, concept synonyms, scoring, naming receipts
1321
1416
  monorepo.py # workspace detection + workspace ownership helpers
1322
1417
  repo_map.py # compact semantic repo map reserved inside token budget
1323
1418
  task_classifier.py # coarse task class for freshness/rendering/scoring context
1324
1419
 
1325
1420
  summaries/
1326
- offline.py # zero-API: AST/regex → imports, symbols, role, side effects, API, errors
1421
+ offline.py # zero-API: AST/regex → imports, symbols, role, side effects, API, naming signals, errors
1327
1422
  base.py # cache-or-build orchestration (parallel, ThreadPool+ProcessPool)
1328
1423
 
1329
1424
  adapters/ # context rendering only — no installation logic
@@ -1418,7 +1513,7 @@ src/agentpack/
1418
1513
 
1419
1514
  ## Known limitations
1420
1515
 
1421
- - **Windows**: not supported. Git hooks use POSIX shell (`#!/bin/sh`, `>/dev/null 2>&1 &`). The Claude Code session hooks use `python3` and `rm -f`. Contributions welcome.
1516
+ - **Windows**: supported with PowerShell plus Git for Windows. AgentPack installs cross-platform Git hook launchers and a PowerShell profile hook for opted-in repos. `cmd.exe` is not a first-class workflow yet.
1422
1517
  - **Monorepos**: workspace-aware ranking supports npm/pnpm, Cargo, and `go.work` layouts. `--workspace` creates filtered per-workspace outputs. Package dependency hints currently come from npm/pnpm `package.json`; Cargo/Go workspace membership is detected, but package-manager dependency edges for Cargo/Go are not yet modeled.
1423
1518
  - **Public benchmark proof**: `benchmarks/public-repos.toml` is a curated smoke suite over real public commits, and `benchmarks/results/2026-05-15-public.md` records the current proof run. Treat it as a floor, not a leaderboard; expand cases before broad external claims.
1424
1519
  - **Symbol extraction**: Python (AST, full) and JavaScript/TypeScript (regex, arrow functions + classes) are well-supported. Go, Rust, Java, Kotlin have import graph traversal but no symbol extraction — they fall back to file-level summaries.
@@ -1453,6 +1548,16 @@ pipx inject agentpack-cli "agentpack-cli[all]" # watch + mcp
1453
1548
 
1454
1549
  ## Development
1455
1550
 
1551
+ ## Public Naming And Ranking
1552
+
1553
+ AgentPack works better when public surfaces carry domain context. Prefer domain-revealing names for files, exported functions/classes, CLI commands, tests, and config/env identifiers.
1554
+
1555
+ - `verify_otp` is better than `handle`
1556
+ - `StripeWebhookHandler` is better than `Processor`
1557
+ - `session_token_expiry_test` is better than `test_flow`
1558
+
1559
+ This is guidance, not a lint rule. Local variable names are out of scope for AgentPack ranking.
1560
+
1456
1561
  Clone and run locally:
1457
1562
 
1458
1563
  ```bash
@@ -1480,7 +1585,7 @@ For npm publish, configure GitHub secret `NPM_TOKEN`. The token must publish to
1480
1585
  Good contribution areas:
1481
1586
 
1482
1587
  - More real-world benchmark fixtures and public repo eval cases
1483
- - Windows support for hooks and session integrations
1588
+ - Better Windows ergonomics beyond the supported PowerShell + Git for Windows path
1484
1589
  - Better symbol extraction for Go, Rust, Java, and Kotlin
1485
1590
  - More precise import/dependency resolution for framework-heavy repos
1486
1591
  - Ranking regressions with `expected_files` cases that reproduce misses
@@ -1,58 +1,21 @@
1
- Metadata-Version: 2.4
2
- Name: agentpack-cli
3
- Version: 0.3.1
4
- Summary: Task-aware context packing for AI coding agents — Claude, Cursor, Windsurf, Codex, and Antigravity
5
- License: MIT
6
- License-File: LICENSE
7
- Keywords: ai,claude,codex,coding-agent,context,cursor,llm,packing,windsurf
8
- Classifier: Development Status :: 3 - Alpha
9
- Classifier: Intended Audience :: Developers
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Classifier: Programming Language :: Python :: 3.13
15
- Classifier: Topic :: Software Development :: Build Tools
16
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
- Requires-Python: >=3.10
18
- Requires-Dist: pathspec>=0.12.1
19
- Requires-Dist: pydantic>=2.0.0
20
- Requires-Dist: rich>=13.0.0
21
- Requires-Dist: tiktoken>=0.7.0
22
- Requires-Dist: tomli-w>=1.0.0
23
- Requires-Dist: tomli>=2.0.0; python_version < '3.11'
24
- Requires-Dist: typer>=0.12.0
25
- Provides-Extra: all
26
- Requires-Dist: mcp>=1.0.0; extra == 'all'
27
- Requires-Dist: watchdog>=4.0.0; extra == 'all'
28
- Provides-Extra: dev
29
- Requires-Dist: mypy; extra == 'dev'
30
- Requires-Dist: pytest; extra == 'dev'
31
- Requires-Dist: pytest-cov; extra == 'dev'
32
- Requires-Dist: ruff; extra == 'dev'
33
- Requires-Dist: tomli>=2.0.0; (python_version < '3.11') and extra == 'dev'
34
- Provides-Extra: mcp
35
- Requires-Dist: mcp>=1.0.0; extra == 'mcp'
36
- Provides-Extra: watch
37
- Requires-Dist: watchdog>=4.0.0; extra == 'watch'
38
- Description-Content-Type: text/markdown
39
-
40
1
  # AgentPack
41
2
 
42
3
  [![PyPI version](https://img.shields.io/pypi/v/agentpack-cli.svg)](https://pypi.org/project/agentpack-cli/)
4
+ [![npm version](https://img.shields.io/npm/v/@vishal2612200/agentpack.svg)](https://www.npmjs.com/package/@vishal2612200/agentpack)
5
+ [![npm downloads](https://img.shields.io/npm/dm/@vishal2612200/agentpack.svg)](https://www.npmjs.com/package/@vishal2612200/agentpack)
43
6
  [![Python versions](https://img.shields.io/pypi/pyversions/agentpack-cli.svg)](https://pypi.org/project/agentpack-cli/)
44
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
45
8
  [![CI](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml/badge.svg)](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml)
46
9
 
47
- > **Status: alpha (v0.3.1).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Public benchmark proof exists for the current suite, but broader repo coverage is still growing. API may change before 1.0.
10
+ > **Status: alpha (v0.3.4).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Public benchmark proof exists for the current suite, but broader repo coverage is still growing. API may change before 1.0.
48
11
  >
49
- > **Platform note:** macOS and Linux are fully supported. Windows support is not yet implemented (git hooks use POSIX shell; the Claude Code session hooks use `python3`/`rm -f`). Contributions welcome.
12
+ > **Platform note:** macOS, Linux, and Windows are supported. Windows support targets PowerShell plus Git for Windows. `cmd.exe` and bare Git setups are not a supported path yet.
50
13
 
51
14
  **Local context engine for AI coding agents.**
52
15
 
53
- AgentPack builds task-focused context packs for Claude Code, Cursor, Windsurf, Codex, Antigravity, CI jobs, and any LLM workflow that can read markdown. It scans your repo locally, ranks files for the task, compresses the result into a token budget, and keeps the pack fresh through CLI commands, MCP tools, hooks, and agent integrations.
16
+ AgentPack gives Claude Code, Codex, Cursor, Windsurf, Antigravity, CI jobs, and other agent workflows a better starting point. It analyzes your repo locally, finds the relevant files for a task, and packages them into compact task-focused context packs for CLI and MCP tool workflows.
54
17
 
55
- AgentPack is useful when a repo is too large to paste, but a blank agent session wastes time rediscovering the same code structure. It is a context preparation tool, not a coding agent.
18
+ Use AgentPack when a repo is too large to paste and you want faster, more consistent context preparation before an agent starts working. It works offline, keeps the product boundary explicit, and is a context preparation tool, not a coding agent.
56
19
 
57
20
  ## Contents
58
21
 
@@ -60,6 +23,7 @@ AgentPack is useful when a repo is too large to paste, but a blank agent session
60
23
  - [Install](#install)
61
24
  - [Quickstart](#quickstart)
62
25
  - [Quality Bar](#quality-bar)
26
+ - [Download Stats](#download-stats)
63
27
  - [Debugging Selection](#debugging-selection)
64
28
  - [Supported Integrations](#supported-integrations)
65
29
  - [Commands](#commands)
@@ -70,8 +34,9 @@ AgentPack is useful when a repo is too large to paste, but a blank agent session
70
34
 
71
35
  ## Features
72
36
 
73
- - **Task-focused packing**: ranks files from git changes, task terms, symbols, imports, related tests, configs, churn, and repo history.
37
+ - **Task-focused packing**: ranks files from git changes, task terms, symbols, imports, related tests, configs, churn, repo history, and deterministic offline summaries.
74
38
  - **Budget-aware compression**: emits `full`, `diff`, `symbols`, `skeleton`, or `summary` views instead of all-or-nothing file dumps.
39
+ - **Local code intelligence**: extracts roles, domains, entrypoints, definitions, dependencies, env reads, side effects, and external systems using static analysis.
75
40
  - **Semantic repo map**: adds a compact module-level map before file context so agents orient faster.
76
41
  - **Freshness and deltas**: records task source, git state, snapshot hashes, selected-file deltas, and stale-context warnings.
77
42
  - **Agent integrations**: installs Claude Code, Cursor, Windsurf, Codex, Antigravity, VS Code tasks, git hooks, and MCP configuration.
@@ -105,6 +70,27 @@ sudo pacman -S python-pipx
105
70
  pipx ensurepath
106
71
  ```
107
72
 
73
+ If `pipx` is not installed yet:
74
+
75
+ ```bash
76
+ # macOS
77
+ brew install pipx
78
+
79
+ # Ubuntu/Debian
80
+ sudo apt install pipx
81
+
82
+ # Fedora
83
+ sudo dnf install pipx
84
+
85
+ # Arch
86
+ sudo pacman -S python-pipx
87
+
88
+ # Then ensure pipx apps are on PATH
89
+ pipx ensurepath
90
+ ```
91
+
92
+ `pipx` is the recommended default because it keeps the CLI isolated and avoids many macOS/Linux global `pip install` issues, including PEP 668 `externally-managed-environment` errors. If you prefer `pip`, install inside a virtual environment.
93
+
108
94
  JavaScript-heavy teams can install the npm wrapper:
109
95
 
110
96
  ```bash
@@ -112,7 +98,7 @@ npm install -g @vishal2612200/agentpack
112
98
  agentpack --version
113
99
  ```
114
100
 
115
- The npm package is a Node launcher around the Python implementation. It requires Node.js 18+ and Python 3.10+, then installs the matching core `agentpack-cli` package into a per-version virtual environment on first run. The Python package remains the source of truth; npm is the convenience install path for JavaScript-heavy teams. Use the PyPI extras below when you need optional `watch` or `mcp` dependencies.
101
+ The npm package is a Node launcher around the Python implementation. It requires Node.js 18+ and Python 3.10+, then installs the matching core `agentpack-cli` package into a per-version virtual environment on first run. The Python package remains the source of truth; npm is the convenience install path for JavaScript-heavy teams. See the [npm README](https://github.com/vishal2612200/agentpack/blob/main/npm/README.md) for wrapper cache controls and troubleshooting. Use the PyPI extras below when you need optional `watch` or `mcp` dependencies.
116
102
 
117
103
  ## Quickstart
118
104
 
@@ -183,6 +169,24 @@ ItsDangerous, and MarkupSafe by checking out each commit's parent and scoring
183
169
  against files actually changed by the commit. Synthetic fixtures are useful
184
170
  regression tests, but should not be presented as market proof.
185
171
 
172
+ ## Download Stats
173
+
174
+ npm exposes official package download counts through its public registry API and the npm downloads badge above:
175
+
176
+ ```bash
177
+ curl https://api.npmjs.org/downloads/point/last-month/%40vishal2612200%2Fagentpack
178
+ curl https://api.npmjs.org/downloads/point/last-week/%40vishal2612200%2Fagentpack
179
+ ```
180
+
181
+ PyPI does not show official project download counts on package pages. For rough trend data on the Python core package, use third-party mirrors:
182
+
183
+ ```bash
184
+ curl https://pypistats.org/api/packages/agentpack-cli/recent
185
+ ```
186
+
187
+ - PyPI Stats: <https://pypistats.org/packages/agentpack-cli>
188
+ - pepy.tech: <https://pepy.tech/project/agentpack-cli>
189
+
186
190
  ## Debugging Selection
187
191
 
188
192
  When AgentPack misses a file, the next command should explain the miss:
@@ -541,7 +545,7 @@ agentpack global-install --agent antigravity # Antigravity
541
545
 
542
546
  What it does:
543
547
  - **Git template hooks** (`~/.git-templates/hooks/`) — git copies these into every repo on `git init` / `git clone`. On `post-commit`, `post-merge`, `post-checkout`: silently repacks **only if `.agentpack/config.toml` exists** — no-op in repos that haven't opted in.
544
- - **Shell cd hook** (`~/.zshrc` or `~/.bashrc`) — on `cd`, repacks if stale **only in opted-in repos**. Never touches repos without `.agentpack/config.toml`. Never auto-inits.
548
+ - **Shell cd hook** (`~/.zshrc`, `~/.bashrc`, or the PowerShell profile on Windows) — on `cd` or prompt refresh, repacks if stale **only in opted-in repos**. Never touches repos without `.agentpack/config.toml`. Never auto-inits.
545
549
  - **Agent config** — same agent-specific files that `agentpack init --agent <x>` or `agentpack install --agent <x>` writes for the current project.
546
550
 
547
551
  All changes are idempotent, reversible, and non-destructive. Existing hooks and rc files are appended to, never overwritten. Repos you haven't explicitly run `agentpack init` in are never touched.
@@ -787,8 +791,12 @@ Uses `watchdog` if installed, falls back to polling. Context is refreshed whenev
787
791
  Install watchdog for better performance:
788
792
  ```bash
789
793
  pipx inject agentpack-cli watchdog
794
+ PIPX_AGENTPACK="$(pipx environment --value PIPX_BIN_DIR)/agentpack"
795
+ "$PIPX_AGENTPACK" watch
790
796
  ```
791
797
 
798
+ Use the explicit `pipx` binary path above if you also have the npm wrapper on `PATH`; otherwise `agentpack watch` may still resolve to the Node launcher.
799
+
792
800
  ---
793
801
 
794
802
  ### `agentpack claude`
@@ -809,9 +817,12 @@ Run AgentPack as an MCP server — exposes context packing as tools that Claude
809
817
 
810
818
  ```bash
811
819
  pipx inject agentpack-cli "agentpack-cli[mcp]"
812
- agentpack mcp
820
+ PIPX_AGENTPACK="$(pipx environment --value PIPX_BIN_DIR)/agentpack"
821
+ "$PIPX_AGENTPACK" mcp
813
822
  ```
814
823
 
824
+ Use the explicit `pipx` binary path above if you also have the npm wrapper on `PATH`; otherwise `agentpack mcp` may still resolve to the Node launcher instead of the extras-enabled Python CLI.
825
+
815
826
  Register in Claude Code settings (`~/.claude/settings.json`):
816
827
 
817
828
  ```json
@@ -1230,7 +1241,8 @@ Works like `.gitignore`. Default rules exclude:
1230
1241
  │ │
1231
1242
  │ Summary cache ── role, imports, │
1232
1243
  │ (offline) symbols, side effects, │
1233
- │ public API, errors
1244
+ │ public API, naming
1245
+ │ signals, errors │
1234
1246
  │ │
1235
1247
  │ Import graph ── Python AST │
1236
1248
  │ (6 languages) ─ JS/TS regex │
@@ -1243,6 +1255,9 @@ Works like `.gitignore`. Default rules exclude:
1243
1255
  │ ast.get_source_segment) classes, │
1244
1256
  │ ── arrow fns w/ =>) │
1245
1257
  │ │
1258
+ │ Naming signals ── public files/symbols │
1259
+ │ ── env/config/test ids │
1260
+ │ ── generic-name hints │
1246
1261
  │ Test detection ── name heuristics │
1247
1262
  │ Task keywords ── stopwords + variants│
1248
1263
  │ ── concept synonyms │
@@ -1268,6 +1283,7 @@ Works like `.gitignore`. Default rules exclude:
1268
1283
  │ +70 symbol +60 content match │
1269
1284
  │ +50 dep +40 rev-dep │
1270
1285
  │ +35 test +25 config +20 recent │
1286
+ │ +20 naming -6 generic public API │
1271
1287
  │ -50 large unrelated │
1272
1288
  │ History noise penalty from metrics │
1273
1289
  └────────────────────┬────────────────────┘
@@ -1355,14 +1371,15 @@ src/agentpack/
1355
1371
  rust_imports.py # use, mod, extern crate
1356
1372
  java_imports.py # Java import + Kotlin import
1357
1373
  symbols.py # AST symbols + body via ast.get_source_segment
1374
+ naming_signals.py # public-name classification for summaries + ranking boosts
1358
1375
  tests.py # source → test file mapping heuristics
1359
- ranking.py # keyword extraction, concept synonyms, scoring
1376
+ ranking.py # keyword extraction, concept synonyms, scoring, naming receipts
1360
1377
  monorepo.py # workspace detection + workspace ownership helpers
1361
1378
  repo_map.py # compact semantic repo map reserved inside token budget
1362
1379
  task_classifier.py # coarse task class for freshness/rendering/scoring context
1363
1380
 
1364
1381
  summaries/
1365
- offline.py # zero-API: AST/regex → imports, symbols, role, side effects, API, errors
1382
+ offline.py # zero-API: AST/regex → imports, symbols, role, side effects, API, naming signals, errors
1366
1383
  base.py # cache-or-build orchestration (parallel, ThreadPool+ProcessPool)
1367
1384
 
1368
1385
  adapters/ # context rendering only — no installation logic
@@ -1457,7 +1474,7 @@ src/agentpack/
1457
1474
 
1458
1475
  ## Known limitations
1459
1476
 
1460
- - **Windows**: not supported. Git hooks use POSIX shell (`#!/bin/sh`, `>/dev/null 2>&1 &`). The Claude Code session hooks use `python3` and `rm -f`. Contributions welcome.
1477
+ - **Windows**: supported with PowerShell plus Git for Windows. AgentPack installs cross-platform Git hook launchers and a PowerShell profile hook for opted-in repos. `cmd.exe` is not a first-class workflow yet.
1461
1478
  - **Monorepos**: workspace-aware ranking supports npm/pnpm, Cargo, and `go.work` layouts. `--workspace` creates filtered per-workspace outputs. Package dependency hints currently come from npm/pnpm `package.json`; Cargo/Go workspace membership is detected, but package-manager dependency edges for Cargo/Go are not yet modeled.
1462
1479
  - **Public benchmark proof**: `benchmarks/public-repos.toml` is a curated smoke suite over real public commits, and `benchmarks/results/2026-05-15-public.md` records the current proof run. Treat it as a floor, not a leaderboard; expand cases before broad external claims.
1463
1480
  - **Symbol extraction**: Python (AST, full) and JavaScript/TypeScript (regex, arrow functions + classes) are well-supported. Go, Rust, Java, Kotlin have import graph traversal but no symbol extraction — they fall back to file-level summaries.
@@ -1492,6 +1509,16 @@ pipx inject agentpack-cli "agentpack-cli[all]" # watch + mcp
1492
1509
 
1493
1510
  ## Development
1494
1511
 
1512
+ ## Public Naming And Ranking
1513
+
1514
+ AgentPack works better when public surfaces carry domain context. Prefer domain-revealing names for files, exported functions/classes, CLI commands, tests, and config/env identifiers.
1515
+
1516
+ - `verify_otp` is better than `handle`
1517
+ - `StripeWebhookHandler` is better than `Processor`
1518
+ - `session_token_expiry_test` is better than `test_flow`
1519
+
1520
+ This is guidance, not a lint rule. Local variable names are out of scope for AgentPack ranking.
1521
+
1495
1522
  Clone and run locally:
1496
1523
 
1497
1524
  ```bash
@@ -1519,7 +1546,7 @@ For npm publish, configure GitHub secret `NPM_TOKEN`. The token must publish to
1519
1546
  Good contribution areas:
1520
1547
 
1521
1548
  - More real-world benchmark fixtures and public repo eval cases
1522
- - Windows support for hooks and session integrations
1549
+ - Better Windows ergonomics beyond the supported PowerShell + Git for Windows path
1523
1550
  - Better symbol extraction for Go, Rust, Java, and Kotlin
1524
1551
  - More precise import/dependency resolution for framework-heavy repos
1525
1552
  - Ranking regressions with `expected_files` cases that reproduce misses
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "agentpack-cli"
3
- version = "0.3.1"
4
- description = "Task-aware context packing for AI coding agents Claude, Cursor, Windsurf, Codex, and Antigravity"
3
+ version = "0.3.4"
4
+ description = "Local context engine for AI coding agents that ranks relevant files and builds task-focused context packs."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  license = {text = "MIT"}
8
- keywords = ["context", "llm", "packing", "claude", "cursor", "windsurf", "codex", "ai", "coding-agent"]
8
+ keywords = ["ai-coding-agents", "developer-tools", "repo-analysis", "context-engine", "context-packing", "prompt-context", "mcp", "ci", "claude-code", "codex", "cursor", "windsurf", "antigravity", "ai", "llm", "context", "packing", "claude"]
9
9
  classifiers = [
10
10
  "Development Status :: 3 - Alpha",
11
11
  "Intended Audience :: Developers",
@@ -1,3 +1,3 @@
1
1
  """AgentPack — task-aware context packing for AI coding agents."""
2
2
 
3
- __version__ = "0.3.1"
3
+ __version__ = "0.3.4"