agentpack-cli 0.2.0__tar.gz → 0.2.1__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 (91) hide show
  1. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/PKG-INFO +17 -12
  2. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/README.md +16 -11
  3. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/pyproject.toml +1 -1
  4. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/__init__.py +1 -1
  5. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/doctor.py +1 -1
  6. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/hook_cmd.py +7 -2
  7. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/install.py +2 -2
  8. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/pack.py +11 -2
  9. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/data/agentpack.md +6 -7
  10. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/installers/claude.py +2 -1
  11. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/installers/cursor.py +2 -2
  12. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/installers/windsurf.py +1 -1
  13. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/.gitignore +0 -0
  14. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/LICENSE +0 -0
  15. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/__init__.py +0 -0
  16. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/antigravity.py +0 -0
  17. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/base.py +0 -0
  18. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/claude.py +0 -0
  19. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/codex.py +0 -0
  20. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/cursor.py +0 -0
  21. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/detect.py +0 -0
  22. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/generic.py +0 -0
  23. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/adapters/windsurf.py +0 -0
  24. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/__init__.py +0 -0
  25. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/dependency_graph.py +0 -0
  26. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/go_imports.py +0 -0
  27. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/java_imports.py +0 -0
  28. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/js_ts_imports.py +0 -0
  29. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/monorepo.py +0 -0
  30. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/python_imports.py +0 -0
  31. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/ranking.py +0 -0
  32. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/repo_map.py +0 -0
  33. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/rust_imports.py +0 -0
  34. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/symbols.py +0 -0
  35. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/task_classifier.py +0 -0
  36. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/analysis/tests.py +0 -0
  37. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/application/__init__.py +0 -0
  38. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/application/pack_service.py +0 -0
  39. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/cli.py +0 -0
  40. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/__init__.py +0 -0
  41. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/_shared.py +0 -0
  42. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/benchmark.py +0 -0
  43. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/claude_cmd.py +0 -0
  44. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/diff.py +0 -0
  45. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/explain.py +0 -0
  46. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/init.py +0 -0
  47. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/mcp_cmd.py +0 -0
  48. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/monitor.py +0 -0
  49. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/quickstart.py +0 -0
  50. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/repair.py +0 -0
  51. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/scan.py +0 -0
  52. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/stats.py +0 -0
  53. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/status.py +0 -0
  54. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/summarize.py +0 -0
  55. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/tune.py +0 -0
  56. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/commands/watch.py +0 -0
  57. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/__init__.py +0 -0
  58. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/bootstrap.py +0 -0
  59. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/cache.py +0 -0
  60. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/config.py +0 -0
  61. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/context_pack.py +0 -0
  62. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/diff.py +0 -0
  63. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/git.py +0 -0
  64. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/git_hooks.py +0 -0
  65. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/global_install.py +0 -0
  66. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/ignore.py +0 -0
  67. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/merkle.py +0 -0
  68. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/models.py +0 -0
  69. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/redactor.py +0 -0
  70. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/scanner.py +0 -0
  71. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/snapshot.py +0 -0
  72. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/token_estimator.py +0 -0
  73. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/core/vscode_tasks.py +0 -0
  74. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/installers/__init__.py +0 -0
  75. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/installers/antigravity.py +0 -0
  76. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/installers/codex.py +0 -0
  77. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/integrations/__init__.py +0 -0
  78. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/integrations/agents.py +0 -0
  79. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/integrations/git_hooks.py +0 -0
  80. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/integrations/global_install.py +0 -0
  81. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/integrations/vscode_tasks.py +0 -0
  82. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/mcp_server.py +0 -0
  83. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/renderers/__init__.py +0 -0
  84. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/renderers/compact.py +0 -0
  85. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/renderers/markdown.py +0 -0
  86. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/renderers/receipts.py +0 -0
  87. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/session/__init__.py +0 -0
  88. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/session/state.py +0 -0
  89. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/summaries/__init__.py +0 -0
  90. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/summaries/base.py +0 -0
  91. {agentpack_cli-0.2.0 → agentpack_cli-0.2.1}/src/agentpack/summaries/offline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentpack-cli
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Task-aware context packing for AI coding agents — Claude, Cursor, Windsurf, Codex, and Antigravity
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -44,7 +44,7 @@ Description-Content-Type: text/markdown
44
44
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
45
45
  [![CI](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml/badge.svg)](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml)
46
46
 
47
- > **Status: alpha (v0.2.0).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Not yet validated across a wide range of repos. API may change before 1.0.
47
+ > **Status: alpha (v0.2.1).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Not yet validated across a wide range of repos. API may change before 1.0.
48
48
  >
49
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.
50
50
 
@@ -100,7 +100,8 @@ The npm package is a Node launcher around the Python implementation. It installs
100
100
  ```bash
101
101
  cd your-project
102
102
  agentpack init --agent codex # or claude, cursor, windsurf, antigravity
103
- agentpack pack --task "fix auth token expiry"
103
+ printf '%s\n' "fix auth token expiry" > .agentpack/task.md
104
+ agentpack pack
104
105
  ```
105
106
 
106
107
  This creates `.agentpack/` state, installs the requested agent integration, generates a ranked context pack, and writes the adapter output for that agent. For active local work, keep context fresh with:
@@ -437,7 +438,8 @@ Most users only need four commands:
437
438
 
438
439
  ```bash
439
440
  agentpack init --agent codex
440
- agentpack pack --task "describe the change"
441
+ printf '%s\n' "describe the change" > .agentpack/task.md
442
+ agentpack pack
441
443
  agentpack watch
442
444
  agentpack doctor --agent all
443
445
  ```
@@ -640,18 +642,21 @@ Summaries are built with parallel AST/regex analysis — no network, no tokens s
640
642
 
641
643
  ### `agentpack pack`
642
644
 
643
- Generate a context pack.
645
+ Generate a context pack. Task text lives in `.agentpack/task.md`; inline task strings are no longer supported on `pack`. `--task auto` remains for old hooks and scripts, and is the default when the flag is omitted.
644
646
 
645
647
  ```bash
646
- agentpack pack --task "fix auth session bug" # auto-detects your IDE
647
- agentpack pack --agent claude --task "fix auth bug" # explicit agent
648
- agentpack pack --workspace apps/web --task "fix web auth"
648
+ printf '%s\n' "fix auth session bug" > .agentpack/task.md
649
+ agentpack pack # auto-detects your IDE
650
+ agentpack pack --agent claude # explicit agent
651
+ agentpack pack --workspace apps/web
649
652
 
650
653
  # Only include changes since a git ref
651
- agentpack pack --task "review these changes" --since main
654
+ printf '%s\n' "review these changes" > .agentpack/task.md
655
+ agentpack pack --since main
652
656
 
653
657
  # Watch mode — re-packs on every file change
654
- agentpack pack --task "refactor auth" --session
658
+ printf '%s\n' "refactor auth" > .agentpack/task.md
659
+ agentpack pack --session
655
660
  ```
656
661
 
657
662
  Options:
@@ -659,7 +664,7 @@ Options:
659
664
  | Flag | Default | Description |
660
665
  |------|---------|-------------|
661
666
  | `--agent` | `auto` | Target agent (`auto` \| `claude` \| `cursor` \| `windsurf` \| `codex` \| `antigravity` \| `generic`). `auto` detects the active IDE from env and project files. |
662
- | `--task` | `auto` | Task description, or `auto` to infer from git |
667
+ | `--task` | `auto` | Backward-compatible task source. Only `auto` is supported; write task text to `.agentpack/task.md`. |
663
668
  | `--mode` | `balanced` | Budget mode: `minimal`, `balanced`, `deep` |
664
669
  | `--budget` | 0 (uses config default 25000) | Token budget |
665
670
  | `--workspace` | — | Restrict packing to a monorepo workspace and write `.agentpack/workspaces/<workspace>/context.md` |
@@ -1389,7 +1394,7 @@ src/agentpack/
1389
1394
 
1390
1395
  ## Roadmap
1391
1396
 
1392
- Next release target: **0.2.0 = benchmark + recall release**.
1397
+ Next release target: **0.3.0 = public benchmark expansion + npm publish hardening**.
1393
1398
 
1394
1399
  - Expand public source-checkout fixtures and publish reproducible `benchmark --sample-fixtures --compare --misses` output.
1395
1400
  - Raise recall on real historical tasks while keeping token precision healthy; target 60%+ recall, 50%+ token precision, and balanced packs under 25k tokens.
@@ -5,7 +5,7 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![CI](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml/badge.svg)](https://github.com/vishal2612200/agentpack/actions/workflows/ci.yml)
7
7
 
8
- > **Status: alpha (v0.2.0).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Not yet validated across a wide range of repos. API may change before 1.0.
8
+ > **Status: alpha (v0.2.1).** Works, tested, used in real sessions. Python and JavaScript/TypeScript are the best-supported languages. Not yet validated across a wide range of repos. API may change before 1.0.
9
9
  >
10
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.
11
11
 
@@ -61,7 +61,8 @@ The npm package is a Node launcher around the Python implementation. It installs
61
61
  ```bash
62
62
  cd your-project
63
63
  agentpack init --agent codex # or claude, cursor, windsurf, antigravity
64
- agentpack pack --task "fix auth token expiry"
64
+ printf '%s\n' "fix auth token expiry" > .agentpack/task.md
65
+ agentpack pack
65
66
  ```
66
67
 
67
68
  This creates `.agentpack/` state, installs the requested agent integration, generates a ranked context pack, and writes the adapter output for that agent. For active local work, keep context fresh with:
@@ -398,7 +399,8 @@ Most users only need four commands:
398
399
 
399
400
  ```bash
400
401
  agentpack init --agent codex
401
- agentpack pack --task "describe the change"
402
+ printf '%s\n' "describe the change" > .agentpack/task.md
403
+ agentpack pack
402
404
  agentpack watch
403
405
  agentpack doctor --agent all
404
406
  ```
@@ -601,18 +603,21 @@ Summaries are built with parallel AST/regex analysis — no network, no tokens s
601
603
 
602
604
  ### `agentpack pack`
603
605
 
604
- Generate a context pack.
606
+ Generate a context pack. Task text lives in `.agentpack/task.md`; inline task strings are no longer supported on `pack`. `--task auto` remains for old hooks and scripts, and is the default when the flag is omitted.
605
607
 
606
608
  ```bash
607
- agentpack pack --task "fix auth session bug" # auto-detects your IDE
608
- agentpack pack --agent claude --task "fix auth bug" # explicit agent
609
- agentpack pack --workspace apps/web --task "fix web auth"
609
+ printf '%s\n' "fix auth session bug" > .agentpack/task.md
610
+ agentpack pack # auto-detects your IDE
611
+ agentpack pack --agent claude # explicit agent
612
+ agentpack pack --workspace apps/web
610
613
 
611
614
  # Only include changes since a git ref
612
- agentpack pack --task "review these changes" --since main
615
+ printf '%s\n' "review these changes" > .agentpack/task.md
616
+ agentpack pack --since main
613
617
 
614
618
  # Watch mode — re-packs on every file change
615
- agentpack pack --task "refactor auth" --session
619
+ printf '%s\n' "refactor auth" > .agentpack/task.md
620
+ agentpack pack --session
616
621
  ```
617
622
 
618
623
  Options:
@@ -620,7 +625,7 @@ Options:
620
625
  | Flag | Default | Description |
621
626
  |------|---------|-------------|
622
627
  | `--agent` | `auto` | Target agent (`auto` \| `claude` \| `cursor` \| `windsurf` \| `codex` \| `antigravity` \| `generic`). `auto` detects the active IDE from env and project files. |
623
- | `--task` | `auto` | Task description, or `auto` to infer from git |
628
+ | `--task` | `auto` | Backward-compatible task source. Only `auto` is supported; write task text to `.agentpack/task.md`. |
624
629
  | `--mode` | `balanced` | Budget mode: `minimal`, `balanced`, `deep` |
625
630
  | `--budget` | 0 (uses config default 25000) | Token budget |
626
631
  | `--workspace` | — | Restrict packing to a monorepo workspace and write `.agentpack/workspaces/<workspace>/context.md` |
@@ -1350,7 +1355,7 @@ src/agentpack/
1350
1355
 
1351
1356
  ## Roadmap
1352
1357
 
1353
- Next release target: **0.2.0 = benchmark + recall release**.
1358
+ Next release target: **0.3.0 = public benchmark expansion + npm publish hardening**.
1354
1359
 
1355
1360
  - Expand public source-checkout fixtures and publish reproducible `benchmark --sample-fixtures --compare --misses` output.
1356
1361
  - Raise recall on real historical tasks while keeping token precision healthy; target 60%+ recall, 50%+ token precision, and balanced packs under 25k tokens.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agentpack-cli"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "Task-aware context packing for AI coding agents — Claude, Cursor, Windsurf, Codex, and Antigravity"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """AgentPack — task-aware context packing for AI coding agents."""
2
2
 
3
- __version__ = "0.2.0"
3
+ __version__ = "0.2.1"
@@ -127,7 +127,7 @@ def register(app: typer.Typer) -> None:
127
127
  age_str = f"{int(age // 3600)}h {int((age % 3600) // 60)}m" if age > 3600 else f"{int(age // 60)}m"
128
128
  console.print(f" [green]✓[/] context pack present (age: {age_str})")
129
129
  else:
130
- console.print(" [yellow]![/] No context pack yet — run: agentpack pack --task \"<task>\"")
130
+ console.print(" [yellow]![/] No context pack yet — write .agentpack/task.md, then run: agentpack pack --task auto")
131
131
 
132
132
  # --- Agent-specific config ---
133
133
  console.print("\n[bold]Agent config[/]")
@@ -306,8 +306,13 @@ def _run_user_prompt_submit(root: Path) -> None:
306
306
  should_repack = repo_changed or task_switched or pack_task_changed
307
307
 
308
308
  if should_repack:
309
+ if task != "auto":
310
+ try:
311
+ _write_task_md(root, task)
312
+ except Exception:
313
+ pass
309
314
  subprocess.Popen(
310
- ["agentpack", "pack", "--task", task, "--mode", "balanced", "--since", "HEAD~1"],
315
+ ["agentpack", "pack", "--task", "auto", "--mode", "balanced", "--since", "HEAD~1"],
311
316
  stdout=subprocess.DEVNULL,
312
317
  stderr=subprocess.DEVNULL,
313
318
  )
@@ -361,7 +366,7 @@ def _run_user_prompt_submit(root: Path) -> None:
361
366
  )
362
367
  else:
363
368
  msg = (
364
- "AgentPack active. Run `agentpack pack --task \"<task>\"` to build context.\n"
369
+ "AgentPack active. Write `.agentpack/task.md`, then run `agentpack pack --task auto` to build context.\n"
365
370
  "For auto context, install MCP: agentpack install --agent claude"
366
371
  )
367
372
 
@@ -37,7 +37,7 @@ def _validate_install_agent(agent: str) -> None:
37
37
  def _print_install_results(agent: str, results: dict[str, str]) -> None:
38
38
  if not results:
39
39
  console.print("[green]Generic agent selected.[/] No agent-specific hooks are required.")
40
- console.print(' Run [bold]agentpack pack --agent generic --task "<task>"[/] to generate context.')
40
+ console.print(" Write [bold].agentpack/task.md[/], then run [bold]agentpack pack --agent generic --task auto[/] to generate context.")
41
41
  return
42
42
 
43
43
  for key, action in results.items():
@@ -53,7 +53,7 @@ def _print_install_results(agent: str, results: dict[str, str]) -> None:
53
53
  console.print(f"[green]{key} {action}.[/]")
54
54
 
55
55
  if agent in {"cursor", "windsurf", "codex", "generic"}:
56
- console.print(f' Run [bold]agentpack pack --agent {agent} --task "<task>"[/] to generate context.')
56
+ console.print(f" Write [bold].agentpack/task.md[/], then run [bold]agentpack pack --agent {agent} --task auto[/] to generate context.")
57
57
  elif agent == "antigravity":
58
58
  console.print(" AgentPack Skill will activate automatically in Antigravity for coding tasks.")
59
59
 
@@ -21,7 +21,11 @@ def register(app: typer.Typer) -> None:
21
21
  @app.command()
22
22
  def pack(
23
23
  agent: str = typer.Option("auto", "--agent", help="Target agent (auto|claude|cursor|windsurf|codex|antigravity|generic). 'auto' detects from environment."),
24
- task: str = typer.Option("auto", "--task", help="Task description, or 'auto' to infer from git."),
24
+ task: str = typer.Option(
25
+ "auto",
26
+ "--task",
27
+ help="Task source. Only 'auto' is supported; write the task to .agentpack/task.md.",
28
+ ),
25
29
  mode: str = typer.Option("balanced", "--mode", help="Budget mode (minimal|balanced|deep)."),
26
30
  budget: int = typer.Option(0, "--budget", help="Token budget (0 = use config default)."),
27
31
  workspace: str = typer.Option("", "--workspace", help="Restrict pack to a monorepo workspace, e.g. apps/web."),
@@ -74,7 +78,12 @@ def _resolve_task(task: str) -> str:
74
78
 
75
79
  def _resolve_task_with_source(task: str) -> tuple[str, str]:
76
80
  if task != "auto":
77
- return task, "explicit"
81
+ console.print(
82
+ "[red]`agentpack pack --task \"...\"` is no longer supported.[/]\n"
83
+ "Write the task to [bold].agentpack/task.md[/], then run "
84
+ "[bold]agentpack pack --task auto[/] or [bold]agentpack pack[/]."
85
+ )
86
+ raise typer.Exit(2)
78
87
  root = _root()
79
88
  # task.md takes priority over all git heuristics
80
89
  task_md_path = root / ".agentpack" / "task.md"
@@ -9,9 +9,8 @@ Pack repo context and immediately start working on the task.
9
9
  ## Usage
10
10
 
11
11
  ```
12
- /agentpack --task "fix Redis SSE cancellation issue"
13
- /agentpack --task "add rate limiting to auth endpoints" --mode deep
14
- /agentpack --task auto # infer task from branch + changed files + git log
12
+ /agentpack
13
+ /agentpack --mode deep
15
14
  /agentpack init # interactive: prompts for default mode
16
15
  /agentpack status
17
16
  /agentpack stats
@@ -43,7 +42,6 @@ To start a session:
43
42
  ```bash
44
43
  agentpack session start # creates session + generates initial context
45
44
  agentpack session start --agent claude # specify agent
46
- agentpack session start --task "fix bug" # set initial task
47
45
 
48
46
  agentpack watch # in another terminal — auto-refreshes on changes
49
47
  ```
@@ -73,7 +71,8 @@ Then use normal prompts — context stays current while `watch` is running.
73
71
  ## Manual Pack Mode (no session)
74
72
 
75
73
  ```bash
76
- agentpack pack --agent claude --task "<task>" --mode balanced
74
+ printf '%s\n' "<task>" > .agentpack/task.md
75
+ agentpack pack --agent claude --task auto --mode balanced
77
76
  ```
78
77
 
79
78
  Then read `.agentpack/context.claude.md` in full.
@@ -136,7 +135,6 @@ agentpack explain --omitted # see what was excluded a
136
135
 
137
136
  | User types | Action |
138
137
  |---|---|
139
- | `/agentpack --task "..."` | check session or pack + read + work |
140
138
  | `/agentpack` | check session or pack with `--task auto` + read + work |
141
139
  | `/agentpack session start` | `agentpack session start` |
142
140
  | `/agentpack session status` | `agentpack session status` |
@@ -155,7 +153,8 @@ agentpack explain --omitted # see what was excluded a
155
153
  ## Notes
156
154
 
157
155
  - All commands are local — no API calls
158
- - `--task auto` infers from branch name changed file paths recent commit
156
+ - Task text belongs in `.agentpack/task.md`; inline task strings are not supported on `agentpack pack`.
157
+ - `--task auto` reads `.agentpack/task.md`, then falls back to branch name → changed file paths → recent commit
159
158
  - Changed files are highest priority in context
160
159
  - Session context files: `.agentpack/context.md` (readable), `.agentpack/context.compact.md` (compact)
161
160
  - Never overwrite `.agentignore` or `config.toml` without `--force`
@@ -25,7 +25,8 @@ Other tools:
25
25
  If MCP is not available, fall back to the CLI:
26
26
 
27
27
  ```bash
28
- agentpack pack --agent claude --task "<task>"
28
+ printf '%s\n' "<task>" > .agentpack/task.md
29
+ agentpack pack --agent claude --task auto
29
30
  ```
30
31
 
31
32
  Then read `.agentpack/context.claude.md`.
@@ -14,7 +14,7 @@ At the start of every coding task:
14
14
  3. Read `.agentpack/context.md`.
15
15
  4. Use files listed in context as starting points, but verify with actual code before editing.
16
16
  When the user switches to a different coding task, repeat steps 1-3 before editing.
17
- If context is missing: `agentpack pack --agent cursor --task "<task>"`
17
+ If context is missing: write `.agentpack/task.md`, then run `agentpack pack --agent cursor --task auto`.
18
18
  <!-- agentpack:rule:end -->"""
19
19
 
20
20
  _RULE_RE = re.compile(
@@ -66,7 +66,7 @@ At the start of every coding task:
66
66
 
67
67
  When the user switches to a different coding task, repeat steps 1-3 before editing.
68
68
 
69
- If context is missing: `agentpack pack --agent cursor --task "<task>"`
69
+ If context is missing: write `.agentpack/task.md`, then run `agentpack pack --agent cursor --task auto`.
70
70
  """
71
71
  already = mdc_path.exists()
72
72
  if already and mdc_path.read_text() == content:
@@ -14,7 +14,7 @@ At the start of every coding task:
14
14
  3. Read `.agentpack/context.md`.
15
15
  4. Use files listed in context as starting points, but verify with actual code before editing.
16
16
  When the user switches to a different coding task, repeat steps 1-3 before editing.
17
- If context is missing: `agentpack pack --agent windsurf --task "<task>"`
17
+ If context is missing: write `.agentpack/task.md`, then run `agentpack pack --agent windsurf --task auto`.
18
18
  <!-- agentpack:rule:end -->"""
19
19
 
20
20
  _RULE_RE = re.compile(
File without changes
File without changes