agent-cli 0.82.3__tar.gz → 0.84.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 (375) hide show
  1. {agent_cli-0.82.3/agent_cli/dev/skill → agent_cli-0.84.0/.claude/skills/agent-cli-dev}/SKILL.md +64 -2
  2. {agent_cli-0.82.3 → agent_cli-0.84.0}/.claude/skills/agent-cli-dev/examples.md +98 -0
  3. {agent_cli-0.82.3/.claude → agent_cli-0.84.0/.claude-plugin}/skills/agent-cli-dev/SKILL.md +64 -2
  4. {agent_cli-0.82.3 → agent_cli-0.84.0}/.claude-plugin/skills/agent-cli-dev/examples.md +98 -0
  5. {agent_cli-0.82.3 → agent_cli-0.84.0}/.pre-commit-config.yaml +1 -1
  6. {agent_cli-0.82.3 → agent_cli-0.84.0}/PKG-INFO +17 -8
  7. {agent_cli-0.82.3 → agent_cli-0.84.0}/README.md +16 -7
  8. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/rag_proxy.py +6 -5
  9. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/config.py +4 -0
  10. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/cli.py +67 -3
  11. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/launch.py +129 -25
  12. {agent_cli-0.82.3/.claude-plugin/skills/agent-cli-dev → agent_cli-0.84.0/agent_cli/dev/skill}/SKILL.md +64 -2
  13. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/skill/examples.md +98 -0
  14. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/__init__.py +2 -1
  15. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/base.py +10 -0
  16. agent_cli-0.84.0/agent_cli/dev/terminals/tmux.py +163 -0
  17. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/example-config.toml +22 -0
  18. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/hotkeys.py +3 -0
  19. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/macos-hotkeys/README.md +1 -1
  20. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/architecture/rag.md +7 -1
  21. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/dev.md +61 -9
  22. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/install-hotkeys.md +6 -0
  23. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/rag-proxy.md +3 -2
  24. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/configuration.md +3 -0
  25. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/getting-started.md +2 -0
  26. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/index.md +2 -0
  27. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/system-integration.md +2 -2
  28. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_cli.py +116 -0
  29. agent_cli-0.84.0/tests/dev/test_launch.py +149 -0
  30. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_terminals.py +59 -0
  31. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_config_cmd.py +13 -0
  32. agent_cli-0.82.3/agent_cli/dev/terminals/tmux.py +0 -58
  33. {agent_cli-0.82.3 → agent_cli-0.84.0}/.claude-plugin/README.md +0 -0
  34. {agent_cli-0.82.3 → agent_cli-0.84.0}/.claude-plugin/marketplace.json +0 -0
  35. {agent_cli-0.82.3 → agent_cli-0.84.0}/.claude-plugin/plugin.json +0 -0
  36. {agent_cli-0.82.3 → agent_cli-0.84.0}/.cursorrules +0 -0
  37. {agent_cli-0.82.3 → agent_cli-0.84.0}/.dockerignore +0 -0
  38. {agent_cli-0.82.3 → agent_cli-0.84.0}/.env.example +0 -0
  39. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/logo.svg +0 -0
  40. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/release-drafter.yml +0 -0
  41. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/renovate.json +0 -0
  42. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/scripts/check_extras_sync.py +0 -0
  43. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/scripts/check_plugin_skill_sync.py +0 -0
  44. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/scripts/sync_extras.py +0 -0
  45. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/scripts/sync_requirements.py +0 -0
  46. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/automerge.yml +0 -0
  47. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/docker.yml +0 -0
  48. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/docs.yml +0 -0
  49. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/markdown-code-runner.yml +0 -0
  50. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/pytest.yml +0 -0
  51. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/release-drafter.yml +0 -0
  52. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/release.yml +0 -0
  53. {agent_cli-0.82.3 → agent_cli-0.84.0}/.github/workflows/toc.yaml +0 -0
  54. {agent_cli-0.82.3 → agent_cli-0.84.0}/.gitignore +0 -0
  55. {agent_cli-0.82.3 → agent_cli-0.84.0}/.jscpd.json +0 -0
  56. {agent_cli-0.82.3 → agent_cli-0.84.0}/.prompts/docs-review.md +0 -0
  57. {agent_cli-0.82.3 → agent_cli-0.84.0}/.prompts/pr-review.md +0 -0
  58. {agent_cli-0.82.3 → agent_cli-0.84.0}/CLAUDE.md +0 -0
  59. {agent_cli-0.82.3 → agent_cli-0.84.0}/LICENSE +0 -0
  60. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/__init__.py +0 -0
  61. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/__main__.py +0 -0
  62. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_extras.json +0 -0
  63. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/.gitkeep +0 -0
  64. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/audio.txt +0 -0
  65. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/faster-whisper.txt +0 -0
  66. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/kokoro.txt +0 -0
  67. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/llm.txt +0 -0
  68. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/memory.txt +0 -0
  69. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/mlx-whisper.txt +0 -0
  70. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/piper.txt +0 -0
  71. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/rag.txt +0 -0
  72. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/server.txt +0 -0
  73. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/speed.txt +0 -0
  74. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/vad.txt +0 -0
  75. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/vectordb.txt +0 -0
  76. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/whisper-transformers.txt +0 -0
  77. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_requirements/wyoming.txt +0 -0
  78. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/_tools.py +0 -0
  79. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/__init__.py +0 -0
  80. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/_voice_agent_common.py +0 -0
  81. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/assistant.py +0 -0
  82. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/autocorrect.py +0 -0
  83. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/chat.py +0 -0
  84. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/memory/__init__.py +0 -0
  85. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/memory/add.py +0 -0
  86. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/memory/proxy.py +0 -0
  87. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/speak.py +0 -0
  88. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/transcribe.py +0 -0
  89. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/transcribe_live.py +0 -0
  90. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/agents/voice_edit.py +0 -0
  91. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/api.py +0 -0
  92. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/cli.py +0 -0
  93. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/config_cmd.py +0 -0
  94. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/constants.py +0 -0
  95. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/__init__.py +0 -0
  96. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/audio.py +0 -0
  97. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/audio_format.py +0 -0
  98. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/chroma.py +0 -0
  99. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/deps.py +0 -0
  100. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/openai_proxy.py +0 -0
  101. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/process.py +0 -0
  102. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/reranker.py +0 -0
  103. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/sse.py +0 -0
  104. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/transcription_logger.py +0 -0
  105. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/utils.py +0 -0
  106. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/vad.py +0 -0
  107. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/core/watch.py +0 -0
  108. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/daemon/__init__.py +0 -0
  109. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/daemon/cli.py +0 -0
  110. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/__init__.py +0 -0
  111. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/_branch_name.py +0 -0
  112. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/_output.py +0 -0
  113. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/cleanup.py +0 -0
  114. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/__init__.py +0 -0
  115. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/aider.py +0 -0
  116. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/base.py +0 -0
  117. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/claude.py +0 -0
  118. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/codex.py +0 -0
  119. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  120. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/copilot.py +0 -0
  121. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  122. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/gemini.py +0 -0
  123. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/opencode.py +0 -0
  124. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/coding_agents/registry.py +0 -0
  125. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/__init__.py +0 -0
  126. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/base.py +0 -0
  127. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/cursor.py +0 -0
  128. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/emacs.py +0 -0
  129. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/jetbrains.py +0 -0
  130. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/nano.py +0 -0
  131. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/neovim.py +0 -0
  132. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/registry.py +0 -0
  133. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/sublime.py +0 -0
  134. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/vim.py +0 -0
  135. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/vscode.py +0 -0
  136. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/editors/zed.py +0 -0
  137. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/project.py +0 -0
  138. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/registry.py +0 -0
  139. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  140. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/gnome.py +0 -0
  141. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/iterm2.py +0 -0
  142. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/kitty.py +0 -0
  143. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/registry.py +0 -0
  144. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/warp.py +0 -0
  145. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/terminals/zellij.py +0 -0
  146. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/dev/worktree.py +0 -0
  147. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/docs_gen.py +0 -0
  148. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/__init__.py +0 -0
  149. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/common.py +0 -0
  150. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/extras.py +0 -0
  151. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/launchd.py +0 -0
  152. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/service_config.py +0 -0
  153. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/services.py +0 -0
  154. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/install/systemd.py +0 -0
  155. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/__init__.py +0 -0
  156. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_files.py +0 -0
  157. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_filters.py +0 -0
  158. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_git.py +0 -0
  159. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_indexer.py +0 -0
  160. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_ingest.py +0 -0
  161. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_persistence.py +0 -0
  162. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_prompt.py +0 -0
  163. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_retrieval.py +0 -0
  164. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_store.py +0 -0
  165. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_streaming.py +0 -0
  166. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/_tasks.py +0 -0
  167. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/api.py +0 -0
  168. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/client.py +0 -0
  169. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/engine.py +0 -0
  170. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/entities.py +0 -0
  171. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/memory/models.py +0 -0
  172. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/opts.py +0 -0
  173. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/py.typed +0 -0
  174. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/__init__.py +0 -0
  175. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/_indexer.py +0 -0
  176. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/_indexing.py +0 -0
  177. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/_prompt.py +0 -0
  178. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/_retriever.py +0 -0
  179. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/_store.py +0 -0
  180. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/_utils.py +0 -0
  181. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/api.py +0 -0
  182. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/client.py +0 -0
  183. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/engine.py +0 -0
  184. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/rag/models.py +0 -0
  185. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  186. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/__init__.py +0 -0
  187. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  188. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  189. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  190. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  191. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  192. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  193. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  194. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  195. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  196. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  197. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  198. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  199. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  200. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/run-openwakeword.sh +0 -0
  201. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  202. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/setup-linux.sh +0 -0
  203. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  204. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/setup-macos.sh +0 -0
  205. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/setup-windows.ps1 +0 -0
  206. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  207. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/scripts/start-all-services.sh +0 -0
  208. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/__init__.py +0 -0
  209. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/cli.py +0 -0
  210. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/common.py +0 -0
  211. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/model_manager.py +0 -0
  212. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/model_registry.py +0 -0
  213. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/proxy/__init__.py +0 -0
  214. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/proxy/api.py +0 -0
  215. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/streaming.py +0 -0
  216. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/__init__.py +0 -0
  217. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/api.py +0 -0
  218. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/backends/__init__.py +0 -0
  219. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/backends/base.py +0 -0
  220. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/backends/kokoro.py +0 -0
  221. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/backends/piper.py +0 -0
  222. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/model_manager.py +0 -0
  223. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/model_registry.py +0 -0
  224. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/tts/wyoming_handler.py +0 -0
  225. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/__init__.py +0 -0
  226. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/api.py +0 -0
  227. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/backends/__init__.py +0 -0
  228. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/backends/base.py +0 -0
  229. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  230. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/backends/mlx.py +0 -0
  231. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/backends/transformers.py +0 -0
  232. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/languages.py +0 -0
  233. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/model_manager.py +0 -0
  234. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/model_registry.py +0 -0
  235. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  236. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/services/__init__.py +0 -0
  237. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/services/_wyoming_utils.py +0 -0
  238. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/services/asr.py +0 -0
  239. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/services/llm.py +0 -0
  240. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/services/tts.py +0 -0
  241. {agent_cli-0.82.3 → agent_cli-0.84.0}/agent_cli/services/wake_word.py +0 -0
  242. {agent_cli-0.82.3 → agent_cli-0.84.0}/docker/docker-compose.yml +0 -0
  243. {agent_cli-0.82.3 → agent_cli-0.84.0}/docker/memory-proxy.Dockerfile +0 -0
  244. {agent_cli-0.82.3 → agent_cli-0.84.0}/docker/rag-proxy.Dockerfile +0 -0
  245. {agent_cli-0.82.3 → agent_cli-0.84.0}/docker/transcribe-proxy.Dockerfile +0 -0
  246. {agent_cli-0.82.3 → agent_cli-0.84.0}/docker/tts.Dockerfile +0 -0
  247. {agent_cli-0.82.3 → agent_cli-0.84.0}/docker/whisper.Dockerfile +0 -0
  248. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/CNAME +0 -0
  249. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/architecture/index.md +0 -0
  250. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/architecture/memory.md +0 -0
  251. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/assistant.md +0 -0
  252. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/autocorrect.md +0 -0
  253. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/chat.md +0 -0
  254. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/config.md +0 -0
  255. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/daemon.md +0 -0
  256. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/index.md +0 -0
  257. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/install-extras.md +0 -0
  258. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/install-services.md +0 -0
  259. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/memory.md +0 -0
  260. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/server/index.md +0 -0
  261. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/server/transcribe-proxy.md +0 -0
  262. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/server/tts.md +0 -0
  263. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/server/whisper.md +0 -0
  264. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/speak.md +0 -0
  265. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/start-services.md +0 -0
  266. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/transcribe-live.md +0 -0
  267. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/transcribe.md +0 -0
  268. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/commands/voice-edit.md +0 -0
  269. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/iOS_Shortcut_Guide.md +0 -0
  270. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/installation/docker.md +0 -0
  271. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/installation/index.md +0 -0
  272. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/installation/linux.md +0 -0
  273. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/installation/macos.md +0 -0
  274. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/installation/nixos.md +0 -0
  275. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/installation/windows.md +0 -0
  276. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/logo-clean.svg +0 -0
  277. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  278. {agent_cli-0.82.3 → agent_cli-0.84.0}/docs/run_markdown_code_runner.py +0 -0
  279. {agent_cli-0.82.3 → agent_cli-0.84.0}/example.agent-cli-config.toml +0 -0
  280. {agent_cli-0.82.3 → agent_cli-0.84.0}/justfile +0 -0
  281. {agent_cli-0.82.3 → agent_cli-0.84.0}/pyproject.toml +0 -0
  282. {agent_cli-0.82.3 → agent_cli-0.84.0}/shell.nix +0 -0
  283. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/__init__.py +0 -0
  284. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/__init__.py +0 -0
  285. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_fix_my_text.py +0 -0
  286. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_interactive.py +0 -0
  287. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_interactive_extra.py +0 -0
  288. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_memory_add.py +0 -0
  289. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_speak.py +0 -0
  290. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_speak_e2e.py +0 -0
  291. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_transcribe.py +0 -0
  292. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_transcribe_agent.py +0 -0
  293. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_transcribe_e2e.py +0 -0
  294. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_transcribe_live.py +0 -0
  295. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_transcribe_recovery.py +0 -0
  296. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_tts_common.py +0 -0
  297. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_tts_common_extra.py +0 -0
  298. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_voice_agent_common.py +0 -0
  299. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_voice_edit.py +0 -0
  300. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_voice_edit_e2e.py +0 -0
  301. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/agents/test_wake_word_assistant.py +0 -0
  302. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/conftest.py +0 -0
  303. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/__init__.py +0 -0
  304. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/test_audio.py +0 -0
  305. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/test_audio_format.py +0 -0
  306. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/test_chroma.py +0 -0
  307. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/test_sse.py +0 -0
  308. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/test_vad.py +0 -0
  309. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/core/test_watch.py +0 -0
  310. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/__init__.py +0 -0
  311. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_coding_agents.py +0 -0
  312. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_editors.py +0 -0
  313. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_project.py +0 -0
  314. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_verification.py +0 -0
  315. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/dev/test_worktree.py +0 -0
  316. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/install/__init__.py +0 -0
  317. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/install/test_extras.py +0 -0
  318. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/__init__.py +0 -0
  319. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_api_health.py +0 -0
  320. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_api_integration_liveish.py +0 -0
  321. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_client.py +0 -0
  322. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_engine.py +0 -0
  323. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_files.py +0 -0
  324. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_filters.py +0 -0
  325. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_git_integration.py +0 -0
  326. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_indexer.py +0 -0
  327. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_memory_integration.py +0 -0
  328. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_proxy_passthrough.py +0 -0
  329. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_store.py +0 -0
  330. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/memory/test_utils.py +0 -0
  331. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/mocks/__init__.py +0 -0
  332. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/mocks/audio.py +0 -0
  333. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/mocks/llm.py +0 -0
  334. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/mocks/wyoming.py +0 -0
  335. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/__init__.py +0 -0
  336. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_api.py +0 -0
  337. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_engine.py +0 -0
  338. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_history.py +0 -0
  339. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_indexer.py +0 -0
  340. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_indexing.py +0 -0
  341. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_rag_client.py +0 -0
  342. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_rag_integration_liveish.py +0 -0
  343. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  344. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_retriever.py +0 -0
  345. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_store.py +0 -0
  346. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/rag/test_utils.py +0 -0
  347. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_api.py +0 -0
  348. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_api_integration.py +0 -0
  349. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_asr.py +0 -0
  350. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_asr_recovery.py +0 -0
  351. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_audio_e2e.py +0 -0
  352. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_cli.py +0 -0
  353. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_config.py +0 -0
  354. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_daemon.py +0 -0
  355. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_docs_gen.py +0 -0
  356. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_env_vars.py +0 -0
  357. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_json_output.py +0 -0
  358. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_llm.py +0 -0
  359. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_llm_gemini.py +0 -0
  360. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_memory_tools.py +0 -0
  361. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_mlx_backend.py +0 -0
  362. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_process_manager.py +0 -0
  363. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_requires_extras.py +0 -0
  364. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_server_streaming.py +0 -0
  365. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_server_tts.py +0 -0
  366. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_server_whisper.py +0 -0
  367. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_services.py +0 -0
  368. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_tools.py +0 -0
  369. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_transformers_backend.py +0 -0
  370. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_tts.py +0 -0
  371. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_utils.py +0 -0
  372. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_wake_word.py +0 -0
  373. {agent_cli-0.82.3 → agent_cli-0.84.0}/tests/test_wyoming_utils.py +0 -0
  374. {agent_cli-0.82.3 → agent_cli-0.84.0}/uv.lock +0 -0
  375. {agent_cli-0.82.3 → agent_cli-0.84.0}/zensical.toml +0 -0
@@ -1,12 +1,16 @@
1
1
  ---
2
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.
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, or parallelize development across features. Only create a worktree without starting an agent if the user explicitly wants setup only.
4
4
  ---
5
5
 
6
6
  # Parallel Development with agent-cli dev
7
7
 
8
8
  This skill teaches you how to spawn parallel AI coding agents in isolated git worktrees using the `agent-cli dev` command.
9
9
 
10
+ `agent-cli dev` supports two complementary patterns:
11
+ - Separate worktrees for isolated implementation/review tasks
12
+ - Multiple agents on the same worktree using `dev agent -m tmux`
13
+
10
14
  ## Installation
11
15
 
12
16
  If `agent-cli` is not available, install it first:
@@ -58,6 +62,16 @@ This creates:
58
62
 
59
63
  **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.
60
64
 
65
+ ## Automation rule
66
+
67
+ When an assistant is executing this workflow on the user's behalf, the spawn is not complete unless the agent receives a prompt at launch time.
68
+
69
+ - Prefer `--prompt-file`; create the prompt file first, then launch the agent
70
+ - Use `dev new ... --agent --prompt-file ...` for a new delegated task
71
+ - Use `dev agent ... --prompt-file ...` for another agent in an existing worktree
72
+ - Do not stop after `dev new ...` alone if the user's intent was to delegate work immediately
73
+ - Do not run `dev new ... --agent` or `dev agent ... -m tmux` without `--prompt` or `--prompt-file` unless the user explicitly wants an interactive session that they will drive manually
74
+
61
75
  ## Writing effective prompts for spawned agents
62
76
 
63
77
  Spawned agents work in isolation, so prompts must be **self-contained**. Include:
@@ -76,7 +90,7 @@ For any prompt longer than a single sentence:
76
90
 
77
91
  Example workflow:
78
92
  ```bash
79
- # 1. Write prompt to file (Claude does this with the Write tool)
93
+ # 1. Write prompt to file
80
94
  # 2. Spawn agent with the file
81
95
  agent-cli dev new my-feature --agent --prompt-file .claude/spawn-prompt.md
82
96
  # 3. Optionally clean up
@@ -114,6 +128,54 @@ agent-cli dev run <branch-name> cat .claude/REPORT.md
114
128
  agent-cli dev editor <branch-name>
115
129
  ```
116
130
 
131
+ ## Same-branch multi-agent workflow
132
+
133
+ Use this when several agents should inspect or validate the same code at once without separate worktrees.
134
+
135
+ ```bash
136
+ # Create the worktree once. This step only prepares the shared workspace.
137
+ agent-cli dev new review-auth --from HEAD
138
+
139
+ # Then launch the actual agents with prompts.
140
+ agent-cli dev agent review-auth -m tmux --prompt-file .claude/review-security.md
141
+ agent-cli dev agent review-auth -m tmux --prompt-file .claude/review-performance.md
142
+ agent-cli dev agent review-auth -m tmux --prompt-file .claude/review-tests.md
143
+ ```
144
+
145
+ Key rules for same-worktree launches:
146
+ - Use `dev agent`, not `dev new`, after the worktree already exists
147
+ - Use `-m tmux` for headless or scripted launching; it works even when not already inside tmux
148
+ - Each launch joins the same deterministic repo-scoped tmux session, so related agents stay grouped together
149
+ - Ask each agent to write to a unique report path such as `.claude/REPORT-security-<run-id>.md` or `.claude/REPORT-tests-<run-id>.md`
150
+ - If you rerun the same prompt repeatedly, include a timestamp or other run id in the report filename so later runs do not overwrite earlier ones
151
+ - Do not rely on `.claude/TASK.md` as per-agent state in shared worktrees; later launches overwrite it
152
+
153
+ ### Prompt guidance for shared worktrees
154
+
155
+ When multiple agents share a worktree, explicitly assign both a focus area and a unique report file. If you rerun the same review prompt often, prefer a timestamped filename such as `.claude/REPORT-security-20260319-153045-123.md`.
156
+
157
+ Prompt pattern:
158
+
159
+ ```text
160
+ Review the auth module for security issues only.
161
+
162
+ When complete, write findings to .claude/REPORT-security-20260319-153045-123.md including:
163
+ - Summary
164
+ - Issues found with file/line references
165
+ - Suggested fixes
166
+ ```
167
+
168
+ ## Headless/scripted orchestration
169
+
170
+ For non-interactive contexts (scripts, cron jobs, other assistants), combine `--prompt-file` with `-m tmux`:
171
+
172
+ ```bash
173
+ agent-cli dev new validation-a --from HEAD --agent --with-agent codex -m tmux \
174
+ --prompt-file .claude/validation-a.md
175
+ ```
176
+
177
+ This works without an attached terminal. `agent-cli` creates or reuses a detached tmux session and returns a pane handle plus attach command.
178
+
117
179
  ## Example: Multi-feature implementation
118
180
 
119
181
  If asked to implement auth, payments, and notifications:
@@ -8,6 +8,8 @@ Real-world scenarios for spawning parallel AI coding agents, optimized for Claud
8
8
  > # Write prompt to file, then spawn
9
9
  > agent-cli dev new my-feature --agent --prompt-file .claude/spawn-prompt.md
10
10
  > ```
11
+ >
12
+ > When an assistant is executing these commands, do not launch `dev new` or `dev agent` without `--prompt` or `--prompt-file` unless the user explicitly wants a manual interactive session.
11
13
 
12
14
  ## Prompt structure guidelines
13
15
 
@@ -19,6 +21,7 @@ Each prompt for a spawned agent should follow this structure:
19
21
  4. **Context with motivation** - Explain why patterns matter
20
22
  5. **Focused scope** - Keep solutions minimal, implement only what's requested
21
23
  6. **Structured report** - Write conclusions to `.claude/REPORT.md`
24
+ 7. **No interactive gap** - The launch command itself should include `--prompt` or `--prompt-file` so the agent starts working immediately
22
25
 
23
26
  ## Scenario 1: Code review of current branch
24
27
 
@@ -524,6 +527,96 @@ When complete, write to .claude/REPORT.md:
524
527
  </report>"
525
528
  ```
526
529
 
530
+ ## Scenario 6: Multi-reviewer on the same branch
531
+
532
+ **User request**: "Get 3 agents to review this code" or "Run multiple reviewers on this branch"
533
+
534
+ **Strategy**: Create one review worktree from the current branch, then launch several agents into that same worktree with different focus areas.
535
+
536
+ ```bash
537
+ run_id="$(python -c 'import time; print(int(time.time() * 1000))')"
538
+
539
+ # Create the shared review worktree once. This does not start an agent yet.
540
+ agent-cli dev new review-auth --from HEAD
541
+
542
+ # Launch three reviewers into the same worktree/session
543
+ agent-cli dev agent review-auth -m tmux --prompt "Review the auth module for security issues only.
544
+
545
+ <scope>
546
+ Do not fix code. Review only.
547
+ </scope>
548
+
549
+ <report>
550
+ Write findings to .claude/REPORT-security-$run_id.md:
551
+ - Summary
552
+ - Issues with file:line references
553
+ - Suggested fixes
554
+ </report>"
555
+
556
+ agent-cli dev agent review-auth -m tmux --prompt "Review the auth module for performance issues only.
557
+
558
+ <scope>
559
+ Review only. Focus on query patterns, repeated work, and unnecessary allocations.
560
+ </scope>
561
+
562
+ <report>
563
+ Write findings to .claude/REPORT-performance-$run_id.md:
564
+ - Summary
565
+ - Issues with file:line references
566
+ - Suggested fixes
567
+ </report>"
568
+
569
+ agent-cli dev agent review-auth -m tmux --prompt "Review the auth module for test coverage gaps only.
570
+
571
+ <scope>
572
+ Review only. Identify missing or weak tests.
573
+ </scope>
574
+
575
+ <report>
576
+ Write findings to .claude/REPORT-tests-$run_id.md:
577
+ - Summary
578
+ - Missing test cases
579
+ - Suggested follow-up tests
580
+ </report>"
581
+ ```
582
+
583
+ **Important**:
584
+ - Same-worktree launches should use unique report files, not `.claude/REPORT.md`
585
+ - If you rerun the same prompt often, include a timestamp or run id in the filename so reports do not get replaced
586
+ - `-m tmux` works even when the caller is not already inside tmux
587
+ - All three agents land in the same deterministic tmux session for that repo
588
+ - `.claude/TASK.md` is shared state and may be overwritten by later launches, so keep prompt files outside that convention
589
+
590
+ ## Scenario 7: Parallel test validation
591
+
592
+ **User request**: "Run the test checklist across 8 sections in parallel"
593
+
594
+ **Strategy**: Create one worktree per section, then launch each validation agent headlessly in tmux so the workflow works from scripts or non-terminal orchestrators.
595
+
596
+ ```bash
597
+ for section in 1 2 3 4 5 6 7 8; do
598
+ agent-cli dev new "test-section-$section" --from HEAD --agent --with-agent codex -m tmux \
599
+ --prompt-file ".claude/test-section-$section.md"
600
+ done
601
+ ```
602
+
603
+ Monitor and collect results:
604
+
605
+ ```bash
606
+ # Track the worktrees
607
+ agent-cli dev status
608
+
609
+ # Read each report after completion
610
+ for section in 1 2 3 4 5 6 7 8; do
611
+ agent-cli dev run "test-section-$section" cat .claude/REPORT.md
612
+ done
613
+ ```
614
+
615
+ **When writing the per-section prompts**:
616
+ - Assign one checklist section per agent
617
+ - Require real test execution where possible
618
+ - Require a structured `.claude/REPORT.md` with pass/fail status, evidence, and follow-up actions
619
+
527
620
  ## Reviewing results
528
621
 
529
622
  After agents complete their work:
@@ -569,3 +662,8 @@ Any items that need human review or clarification
569
662
  ```
570
663
 
571
664
  This consistent format makes it easy to review work from multiple agents.
665
+
666
+ For shared-worktree runs, keep the same structure but use unique filenames such as:
667
+ - `.claude/REPORT-security.md`
668
+ - `.claude/REPORT-performance.md`
669
+ - `.claude/REPORT-tests.md`
@@ -1,12 +1,16 @@
1
1
  ---
2
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.
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, or parallelize development across features. Only create a worktree without starting an agent if the user explicitly wants setup only.
4
4
  ---
5
5
 
6
6
  # Parallel Development with agent-cli dev
7
7
 
8
8
  This skill teaches you how to spawn parallel AI coding agents in isolated git worktrees using the `agent-cli dev` command.
9
9
 
10
+ `agent-cli dev` supports two complementary patterns:
11
+ - Separate worktrees for isolated implementation/review tasks
12
+ - Multiple agents on the same worktree using `dev agent -m tmux`
13
+
10
14
  ## Installation
11
15
 
12
16
  If `agent-cli` is not available, install it first:
@@ -58,6 +62,16 @@ This creates:
58
62
 
59
63
  **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.
60
64
 
65
+ ## Automation rule
66
+
67
+ When an assistant is executing this workflow on the user's behalf, the spawn is not complete unless the agent receives a prompt at launch time.
68
+
69
+ - Prefer `--prompt-file`; create the prompt file first, then launch the agent
70
+ - Use `dev new ... --agent --prompt-file ...` for a new delegated task
71
+ - Use `dev agent ... --prompt-file ...` for another agent in an existing worktree
72
+ - Do not stop after `dev new ...` alone if the user's intent was to delegate work immediately
73
+ - Do not run `dev new ... --agent` or `dev agent ... -m tmux` without `--prompt` or `--prompt-file` unless the user explicitly wants an interactive session that they will drive manually
74
+
61
75
  ## Writing effective prompts for spawned agents
62
76
 
63
77
  Spawned agents work in isolation, so prompts must be **self-contained**. Include:
@@ -76,7 +90,7 @@ For any prompt longer than a single sentence:
76
90
 
77
91
  Example workflow:
78
92
  ```bash
79
- # 1. Write prompt to file (Claude does this with the Write tool)
93
+ # 1. Write prompt to file
80
94
  # 2. Spawn agent with the file
81
95
  agent-cli dev new my-feature --agent --prompt-file .claude/spawn-prompt.md
82
96
  # 3. Optionally clean up
@@ -114,6 +128,54 @@ agent-cli dev run <branch-name> cat .claude/REPORT.md
114
128
  agent-cli dev editor <branch-name>
115
129
  ```
116
130
 
131
+ ## Same-branch multi-agent workflow
132
+
133
+ Use this when several agents should inspect or validate the same code at once without separate worktrees.
134
+
135
+ ```bash
136
+ # Create the worktree once. This step only prepares the shared workspace.
137
+ agent-cli dev new review-auth --from HEAD
138
+
139
+ # Then launch the actual agents with prompts.
140
+ agent-cli dev agent review-auth -m tmux --prompt-file .claude/review-security.md
141
+ agent-cli dev agent review-auth -m tmux --prompt-file .claude/review-performance.md
142
+ agent-cli dev agent review-auth -m tmux --prompt-file .claude/review-tests.md
143
+ ```
144
+
145
+ Key rules for same-worktree launches:
146
+ - Use `dev agent`, not `dev new`, after the worktree already exists
147
+ - Use `-m tmux` for headless or scripted launching; it works even when not already inside tmux
148
+ - Each launch joins the same deterministic repo-scoped tmux session, so related agents stay grouped together
149
+ - Ask each agent to write to a unique report path such as `.claude/REPORT-security-<run-id>.md` or `.claude/REPORT-tests-<run-id>.md`
150
+ - If you rerun the same prompt repeatedly, include a timestamp or other run id in the report filename so later runs do not overwrite earlier ones
151
+ - Do not rely on `.claude/TASK.md` as per-agent state in shared worktrees; later launches overwrite it
152
+
153
+ ### Prompt guidance for shared worktrees
154
+
155
+ When multiple agents share a worktree, explicitly assign both a focus area and a unique report file. If you rerun the same review prompt often, prefer a timestamped filename such as `.claude/REPORT-security-20260319-153045-123.md`.
156
+
157
+ Prompt pattern:
158
+
159
+ ```text
160
+ Review the auth module for security issues only.
161
+
162
+ When complete, write findings to .claude/REPORT-security-20260319-153045-123.md including:
163
+ - Summary
164
+ - Issues found with file/line references
165
+ - Suggested fixes
166
+ ```
167
+
168
+ ## Headless/scripted orchestration
169
+
170
+ For non-interactive contexts (scripts, cron jobs, other assistants), combine `--prompt-file` with `-m tmux`:
171
+
172
+ ```bash
173
+ agent-cli dev new validation-a --from HEAD --agent --with-agent codex -m tmux \
174
+ --prompt-file .claude/validation-a.md
175
+ ```
176
+
177
+ This works without an attached terminal. `agent-cli` creates or reuses a detached tmux session and returns a pane handle plus attach command.
178
+
117
179
  ## Example: Multi-feature implementation
118
180
 
119
181
  If asked to implement auth, payments, and notifications:
@@ -8,6 +8,8 @@ Real-world scenarios for spawning parallel AI coding agents, optimized for Claud
8
8
  > # Write prompt to file, then spawn
9
9
  > agent-cli dev new my-feature --agent --prompt-file .claude/spawn-prompt.md
10
10
  > ```
11
+ >
12
+ > When an assistant is executing these commands, do not launch `dev new` or `dev agent` without `--prompt` or `--prompt-file` unless the user explicitly wants a manual interactive session.
11
13
 
12
14
  ## Prompt structure guidelines
13
15
 
@@ -19,6 +21,7 @@ Each prompt for a spawned agent should follow this structure:
19
21
  4. **Context with motivation** - Explain why patterns matter
20
22
  5. **Focused scope** - Keep solutions minimal, implement only what's requested
21
23
  6. **Structured report** - Write conclusions to `.claude/REPORT.md`
24
+ 7. **No interactive gap** - The launch command itself should include `--prompt` or `--prompt-file` so the agent starts working immediately
22
25
 
23
26
  ## Scenario 1: Code review of current branch
24
27
 
@@ -524,6 +527,96 @@ When complete, write to .claude/REPORT.md:
524
527
  </report>"
525
528
  ```
526
529
 
530
+ ## Scenario 6: Multi-reviewer on the same branch
531
+
532
+ **User request**: "Get 3 agents to review this code" or "Run multiple reviewers on this branch"
533
+
534
+ **Strategy**: Create one review worktree from the current branch, then launch several agents into that same worktree with different focus areas.
535
+
536
+ ```bash
537
+ run_id="$(python -c 'import time; print(int(time.time() * 1000))')"
538
+
539
+ # Create the shared review worktree once. This does not start an agent yet.
540
+ agent-cli dev new review-auth --from HEAD
541
+
542
+ # Launch three reviewers into the same worktree/session
543
+ agent-cli dev agent review-auth -m tmux --prompt "Review the auth module for security issues only.
544
+
545
+ <scope>
546
+ Do not fix code. Review only.
547
+ </scope>
548
+
549
+ <report>
550
+ Write findings to .claude/REPORT-security-$run_id.md:
551
+ - Summary
552
+ - Issues with file:line references
553
+ - Suggested fixes
554
+ </report>"
555
+
556
+ agent-cli dev agent review-auth -m tmux --prompt "Review the auth module for performance issues only.
557
+
558
+ <scope>
559
+ Review only. Focus on query patterns, repeated work, and unnecessary allocations.
560
+ </scope>
561
+
562
+ <report>
563
+ Write findings to .claude/REPORT-performance-$run_id.md:
564
+ - Summary
565
+ - Issues with file:line references
566
+ - Suggested fixes
567
+ </report>"
568
+
569
+ agent-cli dev agent review-auth -m tmux --prompt "Review the auth module for test coverage gaps only.
570
+
571
+ <scope>
572
+ Review only. Identify missing or weak tests.
573
+ </scope>
574
+
575
+ <report>
576
+ Write findings to .claude/REPORT-tests-$run_id.md:
577
+ - Summary
578
+ - Missing test cases
579
+ - Suggested follow-up tests
580
+ </report>"
581
+ ```
582
+
583
+ **Important**:
584
+ - Same-worktree launches should use unique report files, not `.claude/REPORT.md`
585
+ - If you rerun the same prompt often, include a timestamp or run id in the filename so reports do not get replaced
586
+ - `-m tmux` works even when the caller is not already inside tmux
587
+ - All three agents land in the same deterministic tmux session for that repo
588
+ - `.claude/TASK.md` is shared state and may be overwritten by later launches, so keep prompt files outside that convention
589
+
590
+ ## Scenario 7: Parallel test validation
591
+
592
+ **User request**: "Run the test checklist across 8 sections in parallel"
593
+
594
+ **Strategy**: Create one worktree per section, then launch each validation agent headlessly in tmux so the workflow works from scripts or non-terminal orchestrators.
595
+
596
+ ```bash
597
+ for section in 1 2 3 4 5 6 7 8; do
598
+ agent-cli dev new "test-section-$section" --from HEAD --agent --with-agent codex -m tmux \
599
+ --prompt-file ".claude/test-section-$section.md"
600
+ done
601
+ ```
602
+
603
+ Monitor and collect results:
604
+
605
+ ```bash
606
+ # Track the worktrees
607
+ agent-cli dev status
608
+
609
+ # Read each report after completion
610
+ for section in 1 2 3 4 5 6 7 8; do
611
+ agent-cli dev run "test-section-$section" cat .claude/REPORT.md
612
+ done
613
+ ```
614
+
615
+ **When writing the per-section prompts**:
616
+ - Assign one checklist section per agent
617
+ - Require real test execution where possible
618
+ - Require a structured `.claude/REPORT.md` with pass/fail status, evidence, and follow-up actions
619
+
527
620
  ## Reviewing results
528
621
 
529
622
  After agents complete their work:
@@ -569,3 +662,8 @@ Any items that need human review or clarification
569
662
  ```
570
663
 
571
664
  This consistent format makes it easy to review work from multiple agents.
665
+
666
+ For shared-worktree runs, keep the same structure but use unique filenames such as:
667
+ - `.claude/REPORT-security.md`
668
+ - `.claude/REPORT-performance.md`
669
+ - `.claude/REPORT-tests.md`
@@ -11,7 +11,7 @@ repos:
11
11
  - id: end-of-file-fixer
12
12
  - id: mixed-line-ending
13
13
  - repo: https://github.com/astral-sh/ruff-pre-commit
14
- rev: "v0.15.5"
14
+ rev: "v0.15.6"
15
15
  hooks:
16
16
  - id: ruff
17
17
  args: ["--fix"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.82.3
3
+ Version: 0.84.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>
@@ -225,6 +225,8 @@ agent-cli install-hotkeys
225
225
  agent-cli autocorrect "this has an eror"
226
226
  ```
227
227
 
228
+ `install-hotkeys` also installs the required `audio` and `llm` extras if they are missing.
229
+
228
230
  The setup scripts automatically install:
229
231
  - ✅ Package managers (Homebrew/uv) if needed
230
232
  - ✅ All AI services (Ollama, Whisper, TTS, etc.)
@@ -376,7 +378,7 @@ This script automatically:
376
378
  > After setup, you may need to grant Accessibility permissions to skhd in System Settings → Privacy & Security → Accessibility
377
379
 
378
380
  > [!TIP]
379
- > To keep the “Listening…” indicator visible for the whole recording, open System Settings → Notifications → *terminal-notifier* and set the Alert style to **Persistent** (or choose **Alerts** on older macOS versions).
381
+ > To keep the recording-status notification visible for the whole flow, open System Settings → Notifications → *terminal-notifier* and set the Alert style to **Persistent** (or choose **Alerts** on older macOS versions).
380
382
  > Also enable "Allow notification when mirroring or sharing the display".
381
383
  > The hotkey scripts keep only the recording notification pinned; status and result toasts auto-dismiss.
382
384
 
@@ -1978,13 +1980,14 @@ uv tool install "agent-cli[vad]" -p 3.13
1978
1980
  **Workflow:**
1979
1981
 
1980
1982
  1. Start the server, pointing it to your documents folder and your local LLM (e.g., Ollama or llama.cpp) or OpenAI.
1981
- 2. The server watches the folder and automatically indexes any text/markdown/PDF files into a local ChromaDB vector store.
1983
+ 2. The server watches the folder and automatically indexes any text/markdown/PDF files into a local ChromaDB vector store, skipping paths matched by `.gitignore` files in the docs folder and, when inside a git repo, its parent directories up to the repo root.
1982
1984
  3. Point any OpenAI-compatible client (including `agent-cli chat`) to this server's URL.
1983
1985
  4. When you ask a question, the server retrieves relevant document chunks, adds them to the prompt, and forwards it to the LLM.
1984
1986
 
1985
1987
  **How to Use It:**
1986
1988
 
1987
1989
  - **Install RAG deps first**: `pip install "agent-cli[rag]"` (or, from the repo, `uv sync --extra rag`)
1990
+ - **Note on ignored files**: `.gitignore` rules in your docs folder are respected during indexing; if the docs folder is inside a git repo, parent `.gitignore` files up to the repo root are also applied. Use `!pattern` entries to re-include paths when needed
1988
1991
  - **Start Server (Local LLM)**: `agent-cli rag-proxy --docs-folder ~/Documents/Notes --openai-base-url http://localhost:11434/v1 --port 8000`
1989
1992
  - **Start Server (OpenAI)**: `agent-cli rag-proxy --docs-folder ~/Documents/Notes --openai-api-key sk-...`
1990
1993
  - **Use with Agent-CLI**: `agent-cli chat --openai-base-url http://localhost:8000/v1 --llm-provider openai`
@@ -2022,10 +2025,12 @@ uv tool install "agent-cli[vad]" -p 3.13
2022
2025
  How it works:
2023
2026
 
2024
2027
  1 Documents in --docs-folder are chunked, embedded, and stored in ChromaDB
2025
- 2 A file watcher auto-reindexes when files change
2026
- 3 Chat requests trigger a semantic search for relevant chunks
2027
- 4 Retrieved context is injected into the prompt before forwarding to the LLM
2028
- 5 Responses include a rag_sources field listing which documents were used
2028
+ 2 Paths matched by .gitignore files in the docs folder and, when inside a git repo, its
2029
+ parents up to the repo root are skipped
2030
+ 3 A file watcher auto-reindexes when files change
2031
+ 4 Chat requests trigger a semantic search for relevant chunks
2032
+ 5 Retrieved context is injected into the prompt before forwarding to the LLM
2033
+ 6 Responses include a rag_sources field listing which documents were used
2029
2034
 
2030
2035
  Supported file formats:
2031
2036
 
@@ -2051,7 +2056,11 @@ uv tool install "agent-cli[vad]" -p 3.13
2051
2056
  ╭─ RAG Configuration ────────────────────────────────────────────────────────────────────╮
2052
2057
  │ --docs-folder PATH Folder to watch for documents. Files are │
2053
2058
  │ auto-indexed on startup and when changed. │
2054
- Must not overlap with --chroma-path.
2059
+ Paths matching .gitignore files in this
2060
+ │ folder and, when inside a git repo, its │
2061
+ │ parent directories up to the repo root are │
2062
+ │ skipped. Must not overlap with │
2063
+ │ --chroma-path. │
2055
2064
  │ [default: ./rag_docs] │
2056
2065
  │ --chroma-path PATH ChromaDB storage directory for vector │
2057
2066
  │ embeddings. Must be separate from │
@@ -122,6 +122,8 @@ agent-cli install-hotkeys
122
122
  agent-cli autocorrect "this has an eror"
123
123
  ```
124
124
 
125
+ `install-hotkeys` also installs the required `audio` and `llm` extras if they are missing.
126
+
125
127
  The setup scripts automatically install:
126
128
  - ✅ Package managers (Homebrew/uv) if needed
127
129
  - ✅ All AI services (Ollama, Whisper, TTS, etc.)
@@ -273,7 +275,7 @@ This script automatically:
273
275
  > After setup, you may need to grant Accessibility permissions to skhd in System Settings → Privacy & Security → Accessibility
274
276
 
275
277
  > [!TIP]
276
- > To keep the “Listening…” indicator visible for the whole recording, open System Settings → Notifications → *terminal-notifier* and set the Alert style to **Persistent** (or choose **Alerts** on older macOS versions).
278
+ > To keep the recording-status notification visible for the whole flow, open System Settings → Notifications → *terminal-notifier* and set the Alert style to **Persistent** (or choose **Alerts** on older macOS versions).
277
279
  > Also enable "Allow notification when mirroring or sharing the display".
278
280
  > The hotkey scripts keep only the recording notification pinned; status and result toasts auto-dismiss.
279
281
 
@@ -1875,13 +1877,14 @@ uv tool install "agent-cli[vad]" -p 3.13
1875
1877
  **Workflow:**
1876
1878
 
1877
1879
  1. Start the server, pointing it to your documents folder and your local LLM (e.g., Ollama or llama.cpp) or OpenAI.
1878
- 2. The server watches the folder and automatically indexes any text/markdown/PDF files into a local ChromaDB vector store.
1880
+ 2. The server watches the folder and automatically indexes any text/markdown/PDF files into a local ChromaDB vector store, skipping paths matched by `.gitignore` files in the docs folder and, when inside a git repo, its parent directories up to the repo root.
1879
1881
  3. Point any OpenAI-compatible client (including `agent-cli chat`) to this server's URL.
1880
1882
  4. When you ask a question, the server retrieves relevant document chunks, adds them to the prompt, and forwards it to the LLM.
1881
1883
 
1882
1884
  **How to Use It:**
1883
1885
 
1884
1886
  - **Install RAG deps first**: `pip install "agent-cli[rag]"` (or, from the repo, `uv sync --extra rag`)
1887
+ - **Note on ignored files**: `.gitignore` rules in your docs folder are respected during indexing; if the docs folder is inside a git repo, parent `.gitignore` files up to the repo root are also applied. Use `!pattern` entries to re-include paths when needed
1885
1888
  - **Start Server (Local LLM)**: `agent-cli rag-proxy --docs-folder ~/Documents/Notes --openai-base-url http://localhost:11434/v1 --port 8000`
1886
1889
  - **Start Server (OpenAI)**: `agent-cli rag-proxy --docs-folder ~/Documents/Notes --openai-api-key sk-...`
1887
1890
  - **Use with Agent-CLI**: `agent-cli chat --openai-base-url http://localhost:8000/v1 --llm-provider openai`
@@ -1919,10 +1922,12 @@ uv tool install "agent-cli[vad]" -p 3.13
1919
1922
  How it works:
1920
1923
 
1921
1924
  1 Documents in --docs-folder are chunked, embedded, and stored in ChromaDB
1922
- 2 A file watcher auto-reindexes when files change
1923
- 3 Chat requests trigger a semantic search for relevant chunks
1924
- 4 Retrieved context is injected into the prompt before forwarding to the LLM
1925
- 5 Responses include a rag_sources field listing which documents were used
1925
+ 2 Paths matched by .gitignore files in the docs folder and, when inside a git repo, its
1926
+ parents up to the repo root are skipped
1927
+ 3 A file watcher auto-reindexes when files change
1928
+ 4 Chat requests trigger a semantic search for relevant chunks
1929
+ 5 Retrieved context is injected into the prompt before forwarding to the LLM
1930
+ 6 Responses include a rag_sources field listing which documents were used
1926
1931
 
1927
1932
  Supported file formats:
1928
1933
 
@@ -1948,7 +1953,11 @@ uv tool install "agent-cli[vad]" -p 3.13
1948
1953
  ╭─ RAG Configuration ────────────────────────────────────────────────────────────────────╮
1949
1954
  │ --docs-folder PATH Folder to watch for documents. Files are │
1950
1955
  │ auto-indexed on startup and when changed. │
1951
- Must not overlap with --chroma-path.
1956
+ Paths matching .gitignore files in this
1957
+ │ folder and, when inside a git repo, its │
1958
+ │ parent directories up to the repo root are │
1959
+ │ skipped. Must not overlap with │
1960
+ │ --chroma-path. │
1952
1961
  │ [default: ./rag_docs] │
1953
1962
  │ --chroma-path PATH ChromaDB storage directory for vector │
1954
1963
  │ embeddings. Must be separate from │
@@ -23,7 +23,7 @@ from agent_cli.core.utils import (
23
23
  def rag_proxy(
24
24
  docs_folder: Path = typer.Option( # noqa: B008
25
25
  "./rag_docs",
26
- help="Folder to watch for documents. Files are auto-indexed on startup and when changed. Must not overlap with `--chroma-path`.",
26
+ help="Folder to watch for documents. Files are auto-indexed on startup and when changed. Paths matching `.gitignore` files in this folder and, when inside a git repo, its parent directories up to the repo root are skipped. Must not overlap with `--chroma-path`.",
27
27
  rich_help_panel="RAG Configuration",
28
28
  ),
29
29
  chroma_path: Path = typer.Option( # noqa: B008
@@ -71,10 +71,11 @@ def rag_proxy(
71
71
  **How it works:**
72
72
 
73
73
  1. Documents in `--docs-folder` are chunked, embedded, and stored in ChromaDB
74
- 2. A file watcher auto-reindexes when files change
75
- 3. Chat requests trigger a semantic search for relevant chunks
76
- 4. Retrieved context is injected into the prompt before forwarding to the LLM
77
- 5. Responses include a `rag_sources` field listing which documents were used
74
+ 2. Paths matched by `.gitignore` files in the docs folder and, when inside a git repo, its parents up to the repo root are skipped
75
+ 3. A file watcher auto-reindexes when files change
76
+ 4. Chat requests trigger a semantic search for relevant chunks
77
+ 5. Retrieved context is injected into the prompt before forwarding to the LLM
78
+ 6. Responses include a `rag_sources` field listing which documents were used
78
79
 
79
80
  **Supported file formats:**
80
81
 
@@ -262,6 +262,9 @@ class History(BaseModel):
262
262
  class Dev(BaseModel):
263
263
  """Configuration for parallel development environments (git worktrees)."""
264
264
 
265
+ editor: bool = False
266
+ agent: bool = False
267
+ direnv: bool | None = None
265
268
  default_agent: str | None = None
266
269
  default_editor: str | None = None
267
270
  branch_name_mode: Literal["random", "auto", "ai"] = "random"
@@ -270,6 +273,7 @@ class Dev(BaseModel):
270
273
  agent_args: dict[str, list[str]] | None = (
271
274
  None # Per-agent args, e.g. {"claude": ["--dangerously-skip-permissions"]}
272
275
  )
276
+ agent_env: dict[str, dict[str, str]] | None = None
273
277
  setup: bool = True # Run project setup (npm install, etc.)
274
278
  copy_env: bool = True # Copy .env files from main repo
275
279
  fetch: bool = True # Git fetch before creating worktree