agent-cli 0.62.0__tar.gz → 0.64.0__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 (339) hide show
  1. {agent_cli-0.62.0/agent_cli/dev/skill → agent_cli-0.64.0/.claude/skills/agent-cli-dev}/SKILL.md +3 -2
  2. agent_cli-0.64.0/.claude-plugin/README.md +63 -0
  3. agent_cli-0.64.0/.claude-plugin/marketplace.json +8 -0
  4. agent_cli-0.64.0/.claude-plugin/plugin.json +7 -0
  5. {agent_cli-0.62.0/.claude → agent_cli-0.64.0/.claude-plugin}/skills/agent-cli-dev/SKILL.md +3 -2
  6. {agent_cli-0.62.0 → agent_cli-0.64.0}/.pre-commit-config.yaml +6 -0
  7. {agent_cli-0.62.0 → agent_cli-0.64.0}/PKG-INFO +1 -1
  8. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/cli.py +23 -0
  9. agent_cli-0.64.0/agent_cli/dev/skill/SKILL.md +136 -0
  10. agent_cli-0.64.0/agent_cli/dev/skill/examples.md +510 -0
  11. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_retrieval.py +18 -8
  12. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/api.py +1 -1
  13. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/client.py +1 -1
  14. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/engine.py +1 -1
  15. agent_cli-0.64.0/agent_cli/scripts/check_plugin_skill_sync.py +50 -0
  16. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/wyoming_handler.py +22 -27
  17. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/architecture/memory.md +3 -3
  18. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/dev.md +4 -4
  19. {agent_cli-0.62.0/agent_cli/dev/skill → agent_cli-0.64.0/.claude/skills/agent-cli-dev}/examples.md +0 -0
  20. {agent_cli-0.62.0/.claude → agent_cli-0.64.0/.claude-plugin}/skills/agent-cli-dev/examples.md +0 -0
  21. {agent_cli-0.62.0 → agent_cli-0.64.0}/.cursorrules +0 -0
  22. {agent_cli-0.62.0 → agent_cli-0.64.0}/.env.example +0 -0
  23. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/logo.svg +0 -0
  24. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/release-drafter.yml +0 -0
  25. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/renovate.json +0 -0
  26. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/automerge.yml +0 -0
  27. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/docker-tts.yml +0 -0
  28. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/docker-whisper.yml +0 -0
  29. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/docs.yml +0 -0
  30. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/markdown-code-runner.yml +0 -0
  31. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/pytest.yml +0 -0
  32. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/release-drafter.yml +0 -0
  33. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/release.yml +0 -0
  34. {agent_cli-0.62.0 → agent_cli-0.64.0}/.github/workflows/toc.yaml +0 -0
  35. {agent_cli-0.62.0 → agent_cli-0.64.0}/.gitignore +0 -0
  36. {agent_cli-0.62.0 → agent_cli-0.64.0}/.jscpd.json +0 -0
  37. {agent_cli-0.62.0 → agent_cli-0.64.0}/.prompts/docs-review.md +0 -0
  38. {agent_cli-0.62.0 → agent_cli-0.64.0}/.prompts/pr-review.md +0 -0
  39. {agent_cli-0.62.0 → agent_cli-0.64.0}/CLAUDE.md +0 -0
  40. {agent_cli-0.62.0 → agent_cli-0.64.0}/LICENSE +0 -0
  41. {agent_cli-0.62.0 → agent_cli-0.64.0}/README.md +0 -0
  42. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/__init__.py +0 -0
  43. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/__main__.py +0 -0
  44. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/_tools.py +0 -0
  45. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/__init__.py +0 -0
  46. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/_voice_agent_common.py +0 -0
  47. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/assistant.py +0 -0
  48. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/autocorrect.py +0 -0
  49. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/chat.py +0 -0
  50. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/memory/__init__.py +0 -0
  51. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/memory/add.py +0 -0
  52. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/memory/proxy.py +0 -0
  53. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/rag_proxy.py +0 -0
  54. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/speak.py +0 -0
  55. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/transcribe.py +0 -0
  56. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/transcribe_daemon.py +0 -0
  57. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/agents/voice_edit.py +0 -0
  58. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/api.py +0 -0
  59. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/cli.py +0 -0
  60. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/config.py +0 -0
  61. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/config_cmd.py +0 -0
  62. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/constants.py +0 -0
  63. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/__init__.py +0 -0
  64. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/audio.py +0 -0
  65. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/audio_format.py +0 -0
  66. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/chroma.py +0 -0
  67. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/deps.py +0 -0
  68. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/openai_proxy.py +0 -0
  69. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/process.py +0 -0
  70. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/reranker.py +0 -0
  71. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/sse.py +0 -0
  72. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/transcription_logger.py +0 -0
  73. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/utils.py +0 -0
  74. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/vad.py +0 -0
  75. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/core/watch.py +0 -0
  76. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/__init__.py +0 -0
  77. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/__init__.py +0 -0
  78. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/aider.py +0 -0
  79. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/base.py +0 -0
  80. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/claude.py +0 -0
  81. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/codex.py +0 -0
  82. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  83. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/copilot.py +0 -0
  84. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  85. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/gemini.py +0 -0
  86. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/opencode.py +0 -0
  87. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/coding_agents/registry.py +0 -0
  88. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/__init__.py +0 -0
  89. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/base.py +0 -0
  90. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/cursor.py +0 -0
  91. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/emacs.py +0 -0
  92. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/jetbrains.py +0 -0
  93. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/nano.py +0 -0
  94. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/neovim.py +0 -0
  95. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/registry.py +0 -0
  96. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/sublime.py +0 -0
  97. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/vim.py +0 -0
  98. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/vscode.py +0 -0
  99. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/editors/zed.py +0 -0
  100. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/project.py +0 -0
  101. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/registry.py +0 -0
  102. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/__init__.py +0 -0
  103. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  104. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/base.py +0 -0
  105. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/gnome.py +0 -0
  106. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/iterm2.py +0 -0
  107. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/kitty.py +0 -0
  108. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/registry.py +0 -0
  109. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/tmux.py +0 -0
  110. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/warp.py +0 -0
  111. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/terminals/zellij.py +0 -0
  112. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/dev/worktree.py +0 -0
  113. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/docs_gen.py +0 -0
  114. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/example-config.toml +0 -0
  115. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/install/__init__.py +0 -0
  116. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/install/common.py +0 -0
  117. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/install/hotkeys.py +0 -0
  118. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/install/services.py +0 -0
  119. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/__init__.py +0 -0
  120. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_files.py +0 -0
  121. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_filters.py +0 -0
  122. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_git.py +0 -0
  123. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_indexer.py +0 -0
  124. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_ingest.py +0 -0
  125. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_persistence.py +0 -0
  126. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_prompt.py +0 -0
  127. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_store.py +0 -0
  128. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_streaming.py +0 -0
  129. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/_tasks.py +0 -0
  130. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/entities.py +0 -0
  131. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/memory/models.py +0 -0
  132. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/opts.py +0 -0
  133. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/py.typed +0 -0
  134. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/__init__.py +0 -0
  135. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/_indexer.py +0 -0
  136. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/_indexing.py +0 -0
  137. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/_prompt.py +0 -0
  138. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/_retriever.py +0 -0
  139. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/_store.py +0 -0
  140. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/_utils.py +0 -0
  141. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/api.py +0 -0
  142. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/client.py +0 -0
  143. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/engine.py +0 -0
  144. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/rag/models.py +0 -0
  145. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  146. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/__init__.py +0 -0
  147. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  148. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  149. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  150. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  151. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  152. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  153. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  154. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  155. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  156. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  157. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  158. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  159. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  160. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  161. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-openwakeword.sh +0 -0
  162. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
  163. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-piper.sh +0 -0
  164. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-whisper-linux.sh +0 -0
  165. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-whisper-macos.sh +0 -0
  166. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
  167. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run-whisper.sh +0 -0
  168. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
  169. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  170. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/setup-linux.sh +0 -0
  171. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  172. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/setup-macos.sh +0 -0
  173. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/setup-windows.ps1 +0 -0
  174. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  175. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/scripts/start-all-services.sh +0 -0
  176. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/__init__.py +0 -0
  177. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/cli.py +0 -0
  178. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/common.py +0 -0
  179. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/model_manager.py +0 -0
  180. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/model_registry.py +0 -0
  181. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/proxy/__init__.py +0 -0
  182. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/proxy/api.py +0 -0
  183. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/streaming.py +0 -0
  184. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/__init__.py +0 -0
  185. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/api.py +0 -0
  186. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/backends/__init__.py +0 -0
  187. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/backends/base.py +0 -0
  188. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/backends/kokoro.py +0 -0
  189. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/backends/piper.py +0 -0
  190. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/model_manager.py +0 -0
  191. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/model_registry.py +0 -0
  192. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/tts/wyoming_handler.py +0 -0
  193. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/__init__.py +0 -0
  194. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/api.py +0 -0
  195. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/backends/__init__.py +0 -0
  196. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/backends/base.py +0 -0
  197. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  198. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/backends/mlx.py +0 -0
  199. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/languages.py +0 -0
  200. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/model_manager.py +0 -0
  201. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/server/whisper/model_registry.py +0 -0
  202. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/services/__init__.py +0 -0
  203. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/services/_wyoming_utils.py +0 -0
  204. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/services/asr.py +0 -0
  205. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/services/llm.py +0 -0
  206. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/services/tts.py +0 -0
  207. {agent_cli-0.62.0 → agent_cli-0.64.0}/agent_cli/services/wake_word.py +0 -0
  208. {agent_cli-0.62.0 → agent_cli-0.64.0}/docker/docker-compose.yml +0 -0
  209. {agent_cli-0.62.0 → agent_cli-0.64.0}/docker/tts.Dockerfile +0 -0
  210. {agent_cli-0.62.0 → agent_cli-0.64.0}/docker/whisper.Dockerfile +0 -0
  211. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/CNAME +0 -0
  212. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/architecture/index.md +0 -0
  213. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/architecture/rag.md +0 -0
  214. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/assistant.md +0 -0
  215. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/autocorrect.md +0 -0
  216. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/chat.md +0 -0
  217. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/config.md +0 -0
  218. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/index.md +0 -0
  219. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/install-hotkeys.md +0 -0
  220. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/install-services.md +0 -0
  221. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/memory.md +0 -0
  222. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/rag-proxy.md +0 -0
  223. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/server/index.md +0 -0
  224. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/server/transcription-proxy.md +0 -0
  225. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/server/tts.md +0 -0
  226. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/server/whisper.md +0 -0
  227. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/speak.md +0 -0
  228. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/start-services.md +0 -0
  229. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/transcribe-daemon.md +0 -0
  230. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/transcribe.md +0 -0
  231. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/commands/voice-edit.md +0 -0
  232. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/configuration.md +0 -0
  233. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/getting-started.md +0 -0
  234. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/iOS_Shortcut_Guide.md +0 -0
  235. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/index.md +0 -0
  236. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/installation/docker.md +0 -0
  237. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/installation/index.md +0 -0
  238. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/installation/linux.md +0 -0
  239. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/installation/macos.md +0 -0
  240. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/installation/nixos.md +0 -0
  241. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/installation/windows.md +0 -0
  242. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/logo-clean.svg +0 -0
  243. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  244. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/run_markdown_code_runner.py +0 -0
  245. {agent_cli-0.62.0 → agent_cli-0.64.0}/docs/system-integration.md +0 -0
  246. {agent_cli-0.62.0 → agent_cli-0.64.0}/example.agent-cli-config.toml +0 -0
  247. {agent_cli-0.62.0 → agent_cli-0.64.0}/justfile +0 -0
  248. {agent_cli-0.62.0 → agent_cli-0.64.0}/pyproject.toml +0 -0
  249. {agent_cli-0.62.0 → agent_cli-0.64.0}/shell.nix +0 -0
  250. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/__init__.py +0 -0
  251. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/__init__.py +0 -0
  252. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_fix_my_text.py +0 -0
  253. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_interactive.py +0 -0
  254. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_interactive_extra.py +0 -0
  255. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_memory_add.py +0 -0
  256. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_speak.py +0 -0
  257. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_speak_e2e.py +0 -0
  258. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_transcribe.py +0 -0
  259. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_transcribe_agent.py +0 -0
  260. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_transcribe_daemon.py +0 -0
  261. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_transcribe_e2e.py +0 -0
  262. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_transcribe_recovery.py +0 -0
  263. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_tts_common.py +0 -0
  264. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_tts_common_extra.py +0 -0
  265. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_voice_agent_common.py +0 -0
  266. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_voice_edit.py +0 -0
  267. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_voice_edit_e2e.py +0 -0
  268. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/agents/test_wake_word_assistant.py +0 -0
  269. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/conftest.py +0 -0
  270. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/core/__init__.py +0 -0
  271. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/core/test_audio_format.py +0 -0
  272. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/core/test_chroma.py +0 -0
  273. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/core/test_sse.py +0 -0
  274. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/core/test_vad.py +0 -0
  275. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/core/test_watch.py +0 -0
  276. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/__init__.py +0 -0
  277. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_cli.py +0 -0
  278. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_coding_agents.py +0 -0
  279. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_editors.py +0 -0
  280. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_project.py +0 -0
  281. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_terminals.py +0 -0
  282. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_verification.py +0 -0
  283. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/dev/test_worktree.py +0 -0
  284. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/__init__.py +0 -0
  285. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_api_health.py +0 -0
  286. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_api_integration_liveish.py +0 -0
  287. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_client.py +0 -0
  288. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_engine.py +0 -0
  289. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_files.py +0 -0
  290. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_filters.py +0 -0
  291. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_git_integration.py +0 -0
  292. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_indexer.py +0 -0
  293. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_memory_integration.py +0 -0
  294. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_proxy_passthrough.py +0 -0
  295. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_store.py +0 -0
  296. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/memory/test_utils.py +0 -0
  297. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/mocks/__init__.py +0 -0
  298. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/mocks/audio.py +0 -0
  299. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/mocks/llm.py +0 -0
  300. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/mocks/wyoming.py +0 -0
  301. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/__init__.py +0 -0
  302. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_api.py +0 -0
  303. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_engine.py +0 -0
  304. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_history.py +0 -0
  305. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_indexer.py +0 -0
  306. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_indexing.py +0 -0
  307. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_rag_client.py +0 -0
  308. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_rag_integration_liveish.py +0 -0
  309. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  310. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_retriever.py +0 -0
  311. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_store.py +0 -0
  312. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/rag/test_utils.py +0 -0
  313. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_api.py +0 -0
  314. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_api_integration.py +0 -0
  315. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_asr.py +0 -0
  316. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_asr_recovery.py +0 -0
  317. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_audio_e2e.py +0 -0
  318. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_cli.py +0 -0
  319. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_config.py +0 -0
  320. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_config_cmd.py +0 -0
  321. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_docs_gen.py +0 -0
  322. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_env_vars.py +0 -0
  323. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_json_output.py +0 -0
  324. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_llm.py +0 -0
  325. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_llm_gemini.py +0 -0
  326. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_memory_tools.py +0 -0
  327. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_mlx_backend.py +0 -0
  328. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_process_manager.py +0 -0
  329. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_server_streaming.py +0 -0
  330. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_server_tts.py +0 -0
  331. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_server_whisper.py +0 -0
  332. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_services.py +0 -0
  333. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_tools.py +0 -0
  334. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_tts.py +0 -0
  335. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_utils.py +0 -0
  336. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_wake_word.py +0 -0
  337. {agent_cli-0.62.0 → agent_cli-0.64.0}/tests/test_wyoming_utils.py +0 -0
  338. {agent_cli-0.62.0 → agent_cli-0.64.0}/uv.lock +0 -0
  339. {agent_cli-0.62.0 → agent_cli-0.64.0}/zensical.toml +0 -0
@@ -47,8 +47,9 @@ agent-cli dev new <branch-name> --agent --prompt-file path/to/prompt.md
47
47
  This creates:
48
48
  1. A new git worktree with its own branch
49
49
  2. Runs project setup (installs dependencies)
50
- 3. Opens a new terminal tab with an AI coding agent
51
- 4. Passes your prompt to the agent
50
+ 3. Saves your prompt to `.claude/TASK.md` in the worktree (for reference)
51
+ 4. Opens a new terminal tab with an AI coding agent
52
+ 5. Passes your prompt to the agent
52
53
 
53
54
  **Important**: Use `--prompt-file` for prompts longer than a single line. The `--prompt` option passes text through the shell, which can cause issues with special characters (exclamation marks, dollar signs, backticks, quotes) in ZSH and other shells. Using `--prompt-file` avoids all shell quoting issues.
54
55
 
@@ -0,0 +1,63 @@
1
+ # agent-cli-dev Plugin for Claude Code
2
+
3
+ This plugin teaches Claude Code how to spawn parallel AI coding agents in isolated git worktrees using `agent-cli dev`.
4
+
5
+ ## What It Does
6
+
7
+ The plugin provides a skill that enables Claude Code to:
8
+
9
+ - Create isolated git worktrees for parallel development
10
+ - Spawn AI coding agents (Claude, Codex, Gemini, Aider) in separate terminal tabs
11
+ - Manage multiple features/tasks simultaneously without branch conflicts
12
+ - Automatically set up project dependencies in new worktrees
13
+
14
+ ## Installation
15
+
16
+ ### Install agent-cli
17
+
18
+ ```bash
19
+ # Using uv (recommended)
20
+ uv tool install agent-cli
21
+
22
+ # Or run directly without installing
23
+ uvx agent-cli dev new my-feature --agent --prompt "..."
24
+ ```
25
+
26
+ ### Install the Claude Code plugin
27
+
28
+ ```bash
29
+ # From the marketplace
30
+ claude plugin marketplace add basnijholt/agent-cli
31
+
32
+ # Then install
33
+ claude plugin install agent-cli@agent-cli-dev
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ Once installed, Claude Code can automatically use this skill when you ask to:
39
+
40
+ - "Work on multiple features in parallel"
41
+ - "Spawn agents for auth, payments, and notifications"
42
+ - "Create a worktree for this bug fix"
43
+ - "Delegate this task to a separate agent"
44
+
45
+ ## Key Commands
46
+
47
+ ```bash
48
+ # Create worktree with AI agent
49
+ agent-cli dev new my-feature --agent --prompt "Implement the login page"
50
+
51
+ # Use prompt file for longer tasks
52
+ agent-cli dev new my-feature --agent --prompt-file task.md
53
+
54
+ # Check status of all worktrees
55
+ agent-cli dev status
56
+
57
+ # Clean up merged worktrees
58
+ agent-cli dev clean --merged
59
+ ```
60
+
61
+ ## Documentation
62
+
63
+ Full documentation: [docs/commands/dev.md](https://github.com/basnijholt/agent-cli/blob/main/docs/commands/dev.md)
@@ -0,0 +1,8 @@
1
+ {
2
+ "source": "./.claude-plugin",
3
+ "repository": "https://github.com/basnijholt/agent-cli",
4
+ "homepage": "https://github.com/basnijholt/agent-cli",
5
+ "documentation": "https://github.com/basnijholt/agent-cli/blob/main/docs/commands/dev.md",
6
+ "keywords": ["git", "worktree", "parallel", "agents", "development", "claude", "ai"],
7
+ "license": "MIT"
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "agent-cli-dev",
3
+ "version": "1.0.0",
4
+ "author": "basnijholt",
5
+ "description": "Spawn parallel AI coding agents in isolated git worktrees. Creates isolated development environments with automatic project setup, letting you work on multiple features simultaneously with different AI agents (Claude, Codex, Gemini, Aider).",
6
+ "skills": ["./skills/agent-cli-dev"]
7
+ }
@@ -47,8 +47,9 @@ agent-cli dev new <branch-name> --agent --prompt-file path/to/prompt.md
47
47
  This creates:
48
48
  1. A new git worktree with its own branch
49
49
  2. Runs project setup (installs dependencies)
50
- 3. Opens a new terminal tab with an AI coding agent
51
- 4. Passes your prompt to the agent
50
+ 3. Saves your prompt to `.claude/TASK.md` in the worktree (for reference)
51
+ 4. Opens a new terminal tab with an AI coding agent
52
+ 5. Passes your prompt to the agent
52
53
 
53
54
  **Important**: Use `--prompt-file` for prompts longer than a single line. The `--prompt` option passes text through the shell, which can cause issues with special characters (exclamation marks, dollar signs, backticks, quotes) in ZSH and other shells. Using `--prompt-file` avoids all shell quoting issues.
54
55
 
@@ -35,3 +35,9 @@ repos:
35
35
  types: [python]
36
36
  pass_filenames: false
37
37
  always_run: true
38
+ - id: check-plugin-skill-sync
39
+ name: check plugin skill files in sync
40
+ entry: python scripts/check_plugin_skill_sync.py
41
+ language: python
42
+ pass_filenames: false
43
+ files: (agent_cli/dev/skill/|\.claude-plugin/skills/|\.claude/skills/)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.62.0
3
+ Version: 0.64.0
4
4
  Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
5
5
  Project-URL: Homepage, https://github.com/basnijholt/agent-cli
6
6
  Author-email: Bas Nijholt <bas@nijho.lt>
@@ -344,6 +344,19 @@ def _launch_editor(path: Path, editor: Editor) -> None:
344
344
  _warn(f"Could not open editor: {e}")
345
345
 
346
346
 
347
+ def _write_prompt_to_worktree(worktree_path: Path, prompt: str) -> Path:
348
+ """Write the prompt to .claude/TASK.md in the worktree.
349
+
350
+ This makes the task description available to the spawned agent
351
+ and provides a record of what was requested.
352
+ """
353
+ claude_dir = worktree_path / ".claude"
354
+ claude_dir.mkdir(parents=True, exist_ok=True)
355
+ task_file = claude_dir / "TASK.md"
356
+ task_file.write_text(prompt + "\n")
357
+ return task_file
358
+
359
+
347
360
  def _format_env_prefix(env: dict[str, str]) -> str:
348
361
  """Format environment variables as shell prefix.
349
362
 
@@ -627,6 +640,11 @@ def new( # noqa: PLR0912, PLR0915
627
640
  # Only warn if user explicitly requested direnv
628
641
  _warn("direnv not installed, skipping .envrc setup")
629
642
 
643
+ # Write prompt to worktree (makes task available to the spawned agent)
644
+ if prompt:
645
+ task_file = _write_prompt_to_worktree(result.path, prompt)
646
+ _success(f"Wrote task to {task_file.relative_to(result.path)}")
647
+
630
648
  # Resolve editor and agent
631
649
  resolved_editor = _resolve_editor(editor, editor_name, default_editor)
632
650
  resolved_agent = _resolve_agent(agent, agent_name, default_agent)
@@ -1039,6 +1057,11 @@ def start_agent(
1039
1057
  if not agent.is_available():
1040
1058
  _error(f"{agent.name} is not installed. Install from: {agent.install_url}")
1041
1059
 
1060
+ # Write prompt to worktree (makes task available to the agent)
1061
+ if prompt:
1062
+ task_file = _write_prompt_to_worktree(wt.path, prompt)
1063
+ _success(f"Wrote task to {task_file.relative_to(wt.path)}")
1064
+
1042
1065
  merged_args = _merge_agent_args(agent, agent_args)
1043
1066
  agent_env = _get_agent_env(agent)
1044
1067
  _info(f"Starting {agent.name} in {wt.path}...")
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: agent-cli-dev
3
+ description: Spawns AI coding agents in isolated git worktrees. Use when the user asks to spawn or launch an agent, delegate a task to a separate agent, work in a separate worktree, or parallelize development across features.
4
+ ---
5
+
6
+ # Parallel Development with agent-cli dev
7
+
8
+ This skill teaches you how to spawn parallel AI coding agents in isolated git worktrees using the `agent-cli dev` command.
9
+
10
+ ## Installation
11
+
12
+ If `agent-cli` is not available, install it first:
13
+
14
+ ```bash
15
+ # Install globally
16
+ uv tool install agent-cli
17
+
18
+ # Or run directly without installing
19
+ uvx agent-cli dev new <branch-name> --agent --prompt "..."
20
+ ```
21
+
22
+ ## When to spawn parallel agents
23
+
24
+ Spawn separate agents when:
25
+ - Multiple independent features/tasks can be worked on in parallel
26
+ - Tasks benefit from isolation (separate branches, no conflicts)
27
+ - Large refactoring that can be split by module/component
28
+ - Test-driven development (one agent for tests, one for implementation)
29
+
30
+ Do NOT spawn when:
31
+ - Tasks are small and sequential
32
+ - Tasks have tight dependencies requiring constant coordination
33
+ - The overhead of context switching exceeds the benefit
34
+
35
+ ## Core command
36
+
37
+ For short prompts:
38
+ ```bash
39
+ agent-cli dev new <branch-name> --agent --prompt "Fix the login bug"
40
+ ```
41
+
42
+ For longer prompts (recommended for multi-line or complex instructions):
43
+ ```bash
44
+ agent-cli dev new <branch-name> --agent --prompt-file path/to/prompt.md
45
+ ```
46
+
47
+ This creates:
48
+ 1. A new git worktree with its own branch
49
+ 2. Runs project setup (installs dependencies)
50
+ 3. Saves your prompt to `.claude/TASK.md` in the worktree (for reference)
51
+ 4. Opens a new terminal tab with an AI coding agent
52
+ 5. Passes your prompt to the agent
53
+
54
+ **Important**: Use `--prompt-file` for prompts longer than a single line. The `--prompt` option passes text through the shell, which can cause issues with special characters (exclamation marks, dollar signs, backticks, quotes) in ZSH and other shells. Using `--prompt-file` avoids all shell quoting issues.
55
+
56
+ ## Writing effective prompts for spawned agents
57
+
58
+ Spawned agents work in isolation, so prompts must be **self-contained**. Include:
59
+
60
+ 1. **Clear task description**: What to implement/fix/refactor
61
+ 2. **Relevant context**: File locations, patterns to follow, constraints
62
+ 3. **Report request**: Ask the agent to write conclusions to `.claude/REPORT.md`
63
+
64
+ ### Using --prompt-file (recommended)
65
+
66
+ For any prompt longer than a single sentence:
67
+
68
+ 1. Write the prompt to a temporary file (e.g., `.claude/spawn-prompt.md`)
69
+ 2. Use `--prompt-file` to pass it to the agent
70
+ 3. The file can be deleted after spawning
71
+
72
+ Example workflow:
73
+ ```bash
74
+ # 1. Write prompt to file (Claude does this with the Write tool)
75
+ # 2. Spawn agent with the file
76
+ agent-cli dev new my-feature --agent --prompt-file .claude/spawn-prompt.md
77
+ # 3. Optionally clean up
78
+ rm .claude/spawn-prompt.md
79
+ ```
80
+
81
+ ### Prompt template
82
+
83
+ ```
84
+ <Task description>
85
+
86
+ Context:
87
+ - <Key file locations>
88
+ - <Patterns to follow>
89
+ - <Constraints or requirements>
90
+
91
+ When complete, write a summary to .claude/REPORT.md including:
92
+ - What you implemented/changed
93
+ - Key decisions you made
94
+ - Any questions or concerns for review
95
+ ```
96
+
97
+ ## Checking spawned agent results
98
+
99
+ After spawning, you can check progress:
100
+
101
+ ```bash
102
+ # List all worktrees and their status
103
+ agent-cli dev status
104
+
105
+ # Read an agent's report
106
+ agent-cli dev run <branch-name> cat .claude/REPORT.md
107
+
108
+ # Open the worktree in your editor
109
+ agent-cli dev editor <branch-name>
110
+ ```
111
+
112
+ ## Example: Multi-feature implementation
113
+
114
+ If asked to implement auth, payments, and notifications:
115
+
116
+ ```bash
117
+ # Spawn three parallel agents
118
+ agent-cli dev new auth-feature --agent --prompt "Implement JWT authentication..."
119
+ agent-cli dev new payment-integration --agent --prompt "Add Stripe payment processing..."
120
+ agent-cli dev new email-notifications --agent --prompt "Implement email notification system..."
121
+ ```
122
+
123
+ Each agent works independently in its own branch. Results can be reviewed and merged separately.
124
+
125
+ ## Key options
126
+
127
+ | Option | Description |
128
+ |--------|-------------|
129
+ | `--agent` / `-a` | Start AI coding agent after creation |
130
+ | `--prompt` / `-p` | Initial prompt for the agent (short prompts only) |
131
+ | `--prompt-file` / `-P` | Read prompt from file (recommended for longer prompts) |
132
+ | `--from` / `-f` | Base branch (default: origin/main) |
133
+ | `--with-agent` | Specific agent: claude, aider, codex, gemini |
134
+ | `--agent-args` | Extra arguments for the agent |
135
+
136
+ @examples.md