agent-cli 0.90.0__tar.gz → 0.91.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 (389) hide show
  1. {agent_cli-0.90.0 → agent_cli-0.91.0}/.pre-commit-config.yaml +2 -2
  2. {agent_cli-0.90.0 → agent_cli-0.91.0}/PKG-INFO +39 -8
  3. {agent_cli-0.90.0 → agent_cli-0.91.0}/README.md +38 -7
  4. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/config.py +25 -5
  5. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/config_cmd.py +14 -6
  6. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/architecture/index.md +1 -1
  7. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/config.md +2 -1
  8. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/configuration.md +25 -5
  9. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_config.py +107 -4
  10. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
  11. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude/skills/agent-cli-dev/examples.md +0 -0
  12. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude-plugin/README.md +0 -0
  13. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude-plugin/marketplace.json +0 -0
  14. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude-plugin/plugin.json +0 -0
  15. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
  16. {agent_cli-0.90.0 → agent_cli-0.91.0}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
  17. {agent_cli-0.90.0 → agent_cli-0.91.0}/.cursorrules +0 -0
  18. {agent_cli-0.90.0 → agent_cli-0.91.0}/.dockerignore +0 -0
  19. {agent_cli-0.90.0 → agent_cli-0.91.0}/.env.example +0 -0
  20. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/logo.svg +0 -0
  21. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/release-drafter.yml +0 -0
  22. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/renovate.json +0 -0
  23. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/scripts/check_extras_sync.py +0 -0
  24. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/scripts/check_plugin_skill_sync.py +0 -0
  25. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/scripts/sync_extras.py +0 -0
  26. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/scripts/sync_requirements.py +0 -0
  27. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/automerge.yml +0 -0
  28. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/docker.yml +0 -0
  29. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/docs.yml +0 -0
  30. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/markdown-code-runner.yml +0 -0
  31. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/pytest.yml +0 -0
  32. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/release-drafter.yml +0 -0
  33. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/release.yml +0 -0
  34. {agent_cli-0.90.0 → agent_cli-0.91.0}/.github/workflows/toc.yaml +0 -0
  35. {agent_cli-0.90.0 → agent_cli-0.91.0}/.gitignore +0 -0
  36. {agent_cli-0.90.0 → agent_cli-0.91.0}/.jscpd.json +0 -0
  37. {agent_cli-0.90.0 → agent_cli-0.91.0}/.prompts/docs-review.md +0 -0
  38. {agent_cli-0.90.0 → agent_cli-0.91.0}/.prompts/pr-review.md +0 -0
  39. {agent_cli-0.90.0 → agent_cli-0.91.0}/CLAUDE.md +0 -0
  40. {agent_cli-0.90.0 → agent_cli-0.91.0}/LICENSE +0 -0
  41. {agent_cli-0.90.0 → agent_cli-0.91.0}/LLAMA_SERVER_USAGE.md +0 -0
  42. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/__init__.py +0 -0
  43. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/__main__.py +0 -0
  44. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_extras.json +0 -0
  45. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/.gitkeep +0 -0
  46. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/audio.txt +0 -0
  47. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/diarization.txt +0 -0
  48. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/faster-whisper.txt +0 -0
  49. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/kokoro.txt +0 -0
  50. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/llm.txt +0 -0
  51. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/memory.txt +0 -0
  52. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/mlx-whisper.txt +0 -0
  53. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/piper.txt +0 -0
  54. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/rag.txt +0 -0
  55. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/server.txt +0 -0
  56. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/speed.txt +0 -0
  57. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/vad.txt +0 -0
  58. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/vectordb.txt +0 -0
  59. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/whisper-transformers.txt +0 -0
  60. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_requirements/wyoming.txt +0 -0
  61. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/_tools.py +0 -0
  62. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/__init__.py +0 -0
  63. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/_voice_agent_common.py +0 -0
  64. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/assistant.py +0 -0
  65. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/autocorrect.py +0 -0
  66. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/chat.py +0 -0
  67. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/diarize_live_session.py +0 -0
  68. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/memory/__init__.py +0 -0
  69. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/memory/add.py +0 -0
  70. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/memory/proxy.py +0 -0
  71. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/rag_proxy.py +0 -0
  72. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/speak.py +0 -0
  73. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/transcribe.py +0 -0
  74. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/transcribe_live.py +0 -0
  75. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/agents/voice_edit.py +0 -0
  76. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/api.py +0 -0
  77. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/cli.py +0 -0
  78. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/constants.py +0 -0
  79. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/__init__.py +0 -0
  80. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/alignment.py +0 -0
  81. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/audio.py +0 -0
  82. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/audio_format.py +0 -0
  83. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/chroma.py +0 -0
  84. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/deps.py +0 -0
  85. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/diarization.py +0 -0
  86. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/openai_proxy.py +0 -0
  87. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/process.py +0 -0
  88. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/reranker.py +0 -0
  89. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/sse.py +0 -0
  90. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/transcription_logger.py +0 -0
  91. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/utils.py +0 -0
  92. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/vad.py +0 -0
  93. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/core/watch.py +0 -0
  94. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/daemon/__init__.py +0 -0
  95. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/daemon/cli.py +0 -0
  96. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/__init__.py +0 -0
  97. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/_branch_name.py +0 -0
  98. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/_config.py +0 -0
  99. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/_output.py +0 -0
  100. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/cleanup.py +0 -0
  101. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/cli.py +0 -0
  102. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/__init__.py +0 -0
  103. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/aider.py +0 -0
  104. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/base.py +0 -0
  105. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/claude.py +0 -0
  106. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/codex.py +0 -0
  107. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  108. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/copilot.py +0 -0
  109. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  110. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/gemini.py +0 -0
  111. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/opencode.py +0 -0
  112. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/coding_agents/registry.py +0 -0
  113. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/__init__.py +0 -0
  114. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/base.py +0 -0
  115. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/cursor.py +0 -0
  116. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/emacs.py +0 -0
  117. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/jetbrains.py +0 -0
  118. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/nano.py +0 -0
  119. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/neovim.py +0 -0
  120. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/registry.py +0 -0
  121. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/sublime.py +0 -0
  122. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/vim.py +0 -0
  123. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/vscode.py +0 -0
  124. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/editors/zed.py +0 -0
  125. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/hooks.py +0 -0
  126. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/launch.py +0 -0
  127. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/project.py +0 -0
  128. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/registry.py +0 -0
  129. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/skill/SKILL.md +0 -0
  130. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/skill/examples.md +0 -0
  131. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/__init__.py +0 -0
  132. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  133. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/base.py +0 -0
  134. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/gnome.py +0 -0
  135. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/iterm2.py +0 -0
  136. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/kitty.py +0 -0
  137. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/registry.py +0 -0
  138. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/tmux.py +0 -0
  139. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/warp.py +0 -0
  140. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/terminals/zellij.py +0 -0
  141. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/dev/worktree.py +0 -0
  142. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/docs_gen.py +0 -0
  143. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/example-config.toml +0 -0
  144. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/__init__.py +0 -0
  145. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/common.py +0 -0
  146. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/extras.py +0 -0
  147. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/hotkeys.py +0 -0
  148. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/launchd.py +0 -0
  149. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/service_config.py +0 -0
  150. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/services.py +0 -0
  151. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/install/systemd.py +0 -0
  152. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/__init__.py +0 -0
  153. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_files.py +0 -0
  154. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_filters.py +0 -0
  155. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_git.py +0 -0
  156. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_indexer.py +0 -0
  157. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_ingest.py +0 -0
  158. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_persistence.py +0 -0
  159. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_prompt.py +0 -0
  160. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_retrieval.py +0 -0
  161. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_store.py +0 -0
  162. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_streaming.py +0 -0
  163. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/_tasks.py +0 -0
  164. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/api.py +0 -0
  165. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/client.py +0 -0
  166. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/engine.py +0 -0
  167. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/entities.py +0 -0
  168. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/memory/models.py +0 -0
  169. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/opts.py +0 -0
  170. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/py.typed +0 -0
  171. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/__init__.py +0 -0
  172. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/_indexer.py +0 -0
  173. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/_indexing.py +0 -0
  174. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/_prompt.py +0 -0
  175. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/_retriever.py +0 -0
  176. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/_store.py +0 -0
  177. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/_utils.py +0 -0
  178. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/api.py +0 -0
  179. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/client.py +0 -0
  180. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/engine.py +0 -0
  181. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/rag/models.py +0 -0
  182. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  183. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/__init__.py +0 -0
  184. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  185. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  186. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  187. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  188. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  189. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  190. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  191. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  192. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  193. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  194. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  195. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  196. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  197. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  198. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/run-openwakeword.sh +0 -0
  199. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  200. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/setup-linux.sh +0 -0
  201. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  202. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/setup-macos.sh +0 -0
  203. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/setup-windows.ps1 +0 -0
  204. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  205. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/scripts/start-all-services.sh +0 -0
  206. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/__init__.py +0 -0
  207. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/cli.py +0 -0
  208. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/common.py +0 -0
  209. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/model_manager.py +0 -0
  210. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/model_registry.py +0 -0
  211. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/proxy/__init__.py +0 -0
  212. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/proxy/api.py +0 -0
  213. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/streaming.py +0 -0
  214. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/__init__.py +0 -0
  215. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/api.py +0 -0
  216. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/backends/__init__.py +0 -0
  217. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/backends/base.py +0 -0
  218. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/backends/kokoro.py +0 -0
  219. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/backends/piper.py +0 -0
  220. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/model_manager.py +0 -0
  221. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/model_registry.py +0 -0
  222. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/tts/wyoming_handler.py +0 -0
  223. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/__init__.py +0 -0
  224. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/api.py +0 -0
  225. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/backends/__init__.py +0 -0
  226. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/backends/base.py +0 -0
  227. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  228. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/backends/mlx.py +0 -0
  229. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/backends/transformers.py +0 -0
  230. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/languages.py +0 -0
  231. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/model_manager.py +0 -0
  232. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/model_registry.py +0 -0
  233. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  234. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/services/__init__.py +0 -0
  235. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/services/_wyoming_utils.py +0 -0
  236. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/services/asr.py +0 -0
  237. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/services/llm.py +0 -0
  238. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/services/tts.py +0 -0
  239. {agent_cli-0.90.0 → agent_cli-0.91.0}/agent_cli/services/wake_word.py +0 -0
  240. {agent_cli-0.90.0 → agent_cli-0.91.0}/docker/docker-compose.yml +0 -0
  241. {agent_cli-0.90.0 → agent_cli-0.91.0}/docker/memory-proxy.Dockerfile +0 -0
  242. {agent_cli-0.90.0 → agent_cli-0.91.0}/docker/rag-proxy.Dockerfile +0 -0
  243. {agent_cli-0.90.0 → agent_cli-0.91.0}/docker/transcribe-proxy.Dockerfile +0 -0
  244. {agent_cli-0.90.0 → agent_cli-0.91.0}/docker/tts.Dockerfile +0 -0
  245. {agent_cli-0.90.0 → agent_cli-0.91.0}/docker/whisper.Dockerfile +0 -0
  246. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/CNAME +0 -0
  247. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/architecture/memory.md +0 -0
  248. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/architecture/rag.md +0 -0
  249. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/assistant.md +0 -0
  250. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/autocorrect.md +0 -0
  251. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/chat.md +0 -0
  252. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/daemon.md +0 -0
  253. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/dev.md +0 -0
  254. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/diarize-live-session.md +0 -0
  255. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/index.md +0 -0
  256. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/install-extras.md +0 -0
  257. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/install-hotkeys.md +0 -0
  258. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/install-services.md +0 -0
  259. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/memory.md +0 -0
  260. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/rag-proxy.md +0 -0
  261. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/server/index.md +0 -0
  262. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/server/transcribe-proxy.md +0 -0
  263. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/server/tts.md +0 -0
  264. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/server/whisper.md +0 -0
  265. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/speak.md +0 -0
  266. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/start-services.md +0 -0
  267. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/transcribe-live.md +0 -0
  268. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/transcribe.md +0 -0
  269. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/commands/voice-edit.md +0 -0
  270. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/getting-started.md +0 -0
  271. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/iOS_Shortcut_Guide.md +0 -0
  272. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/index.md +0 -0
  273. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/installation/docker.md +0 -0
  274. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/installation/index.md +0 -0
  275. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/installation/linux.md +0 -0
  276. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/installation/macos.md +0 -0
  277. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/installation/nixos.md +0 -0
  278. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/installation/windows.md +0 -0
  279. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/logo-clean.svg +0 -0
  280. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  281. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/run_markdown_code_runner.py +0 -0
  282. {agent_cli-0.90.0 → agent_cli-0.91.0}/docs/system-integration.md +0 -0
  283. {agent_cli-0.90.0 → agent_cli-0.91.0}/example.agent-cli-config.toml +0 -0
  284. {agent_cli-0.90.0 → agent_cli-0.91.0}/justfile +0 -0
  285. {agent_cli-0.90.0 → agent_cli-0.91.0}/pyproject.toml +0 -0
  286. {agent_cli-0.90.0 → agent_cli-0.91.0}/reddit.md +0 -0
  287. {agent_cli-0.90.0 → agent_cli-0.91.0}/shell.nix +0 -0
  288. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/__init__.py +0 -0
  289. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/__init__.py +0 -0
  290. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_fix_my_text.py +0 -0
  291. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_interactive.py +0 -0
  292. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_interactive_extra.py +0 -0
  293. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_memory_add.py +0 -0
  294. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_speak.py +0 -0
  295. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_speak_e2e.py +0 -0
  296. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_transcribe.py +0 -0
  297. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_transcribe_agent.py +0 -0
  298. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_transcribe_e2e.py +0 -0
  299. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_transcribe_live.py +0 -0
  300. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_transcribe_recovery.py +0 -0
  301. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_tts_common.py +0 -0
  302. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_tts_common_extra.py +0 -0
  303. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_voice_agent_common.py +0 -0
  304. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_voice_edit.py +0 -0
  305. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_voice_edit_e2e.py +0 -0
  306. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/agents/test_wake_word_assistant.py +0 -0
  307. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/conftest.py +0 -0
  308. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/__init__.py +0 -0
  309. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/test_audio.py +0 -0
  310. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/test_audio_format.py +0 -0
  311. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/test_chroma.py +0 -0
  312. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/test_sse.py +0 -0
  313. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/test_vad.py +0 -0
  314. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/core/test_watch.py +0 -0
  315. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/__init__.py +0 -0
  316. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_cleanup.py +0 -0
  317. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_cli.py +0 -0
  318. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_coding_agents.py +0 -0
  319. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_editors.py +0 -0
  320. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_hooks.py +0 -0
  321. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_launch.py +0 -0
  322. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_project.py +0 -0
  323. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_terminals.py +0 -0
  324. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_verification.py +0 -0
  325. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/dev/test_worktree.py +0 -0
  326. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/install/__init__.py +0 -0
  327. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/install/test_extras.py +0 -0
  328. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/__init__.py +0 -0
  329. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_api_health.py +0 -0
  330. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_api_integration_liveish.py +0 -0
  331. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_client.py +0 -0
  332. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_engine.py +0 -0
  333. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_files.py +0 -0
  334. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_filters.py +0 -0
  335. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_git_integration.py +0 -0
  336. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_indexer.py +0 -0
  337. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_memory_integration.py +0 -0
  338. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_proxy_passthrough.py +0 -0
  339. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_store.py +0 -0
  340. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/memory/test_utils.py +0 -0
  341. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/mocks/__init__.py +0 -0
  342. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/mocks/audio.py +0 -0
  343. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/mocks/llm.py +0 -0
  344. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/mocks/wyoming.py +0 -0
  345. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/__init__.py +0 -0
  346. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_api.py +0 -0
  347. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_engine.py +0 -0
  348. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_history.py +0 -0
  349. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_indexer.py +0 -0
  350. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_indexing.py +0 -0
  351. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_rag_client.py +0 -0
  352. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_rag_integration_liveish.py +0 -0
  353. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  354. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_retriever.py +0 -0
  355. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_store.py +0 -0
  356. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/rag/test_utils.py +0 -0
  357. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_alignment.py +0 -0
  358. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_api.py +0 -0
  359. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_api_integration.py +0 -0
  360. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_asr.py +0 -0
  361. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_asr_recovery.py +0 -0
  362. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_audio_e2e.py +0 -0
  363. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_cli.py +0 -0
  364. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_config_cmd.py +0 -0
  365. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_daemon.py +0 -0
  366. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_diarization.py +0 -0
  367. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_diarize_live_session.py +0 -0
  368. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_docs_gen.py +0 -0
  369. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_env_vars.py +0 -0
  370. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_faster_whisper_backend.py +0 -0
  371. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_json_output.py +0 -0
  372. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_llm.py +0 -0
  373. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_llm_gemini.py +0 -0
  374. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_memory_tools.py +0 -0
  375. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_mlx_backend.py +0 -0
  376. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_process_manager.py +0 -0
  377. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_requires_extras.py +0 -0
  378. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_server_streaming.py +0 -0
  379. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_server_tts.py +0 -0
  380. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_server_whisper.py +0 -0
  381. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_services.py +0 -0
  382. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_tools.py +0 -0
  383. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_transformers_backend.py +0 -0
  384. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_tts.py +0 -0
  385. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_utils.py +0 -0
  386. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_wake_word.py +0 -0
  387. {agent_cli-0.90.0 → agent_cli-0.91.0}/tests/test_wyoming_utils.py +0 -0
  388. {agent_cli-0.90.0 → agent_cli-0.91.0}/uv.lock +0 -0
  389. {agent_cli-0.90.0 → agent_cli-0.91.0}/zensical.toml +0 -0
@@ -11,13 +11,13 @@ 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.11"
14
+ rev: "v0.15.12"
15
15
  hooks:
16
16
  - id: ruff
17
17
  args: ["--fix"]
18
18
  - id: ruff-format
19
19
  - repo: https://github.com/pre-commit/mirrors-mypy
20
- rev: "v1.20.1"
20
+ rev: "v1.20.2"
21
21
  hooks:
22
22
  - id: mypy
23
23
  additional_dependencies: ["types-PyYAML"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.90.0
3
+ Version: 0.91.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>
@@ -263,6 +263,7 @@ The setup scripts automatically install:
263
263
  - [Installation Commands](#installation-commands)
264
264
  - [Installing Optional Extras](#installing-optional-extras)
265
265
  - [Configuration](#configuration)
266
+ - [Environment variable overrides](#environment-variable-overrides)
266
267
  - [Managing Configuration](#managing-configuration)
267
268
  - [Provider Defaults](#provider-defaults)
268
269
  - [`autocorrect`](#autocorrect)
@@ -571,15 +572,36 @@ agent-cli install-extras rag memory vad
571
572
 
572
573
  ### Configuration
573
574
 
574
- All `agent-cli` commands can be configured using a TOML file. The configuration file is searched for in the following locations, in order:
575
+ All `agent-cli` commands can be configured using a TOML file.
576
+ The configuration file is searched for in the following locations, in order:
575
577
 
576
- 1. `./agent-cli-config.toml` (in the current directory)
577
- 2. `~/.config/agent-cli/config.toml`
578
+ 1. CLI flag (`--config` on agent commands, `--path` on `agent-cli config ...`)
579
+ 2. `$AGENT_CLI_CONFIG_HOME/config.toml` if set
580
+ 3. `./agent-cli-config.toml` (in the current directory)
581
+ 4. `$XDG_CONFIG_HOME/agent-cli/config.toml` if `XDG_CONFIG_HOME` is set and non-empty, otherwise `~/.config/agent-cli/config.toml`
578
582
 
579
583
  You can also specify a path to a configuration file using the `--config` option, e.g., `agent-cli transcribe --config /path/to/your/config.toml`.
580
584
 
581
585
  Command-line options always take precedence over settings in the configuration file.
582
586
 
587
+ #### Environment variable overrides
588
+
589
+ Use `AGENT_CLI_CONFIG_HOME` to redirect the user-level config to a directory of your choice:
590
+
591
+ ```bash
592
+ # use a project-scoped config
593
+ AGENT_CLI_CONFIG_HOME=./.agent-cli agent-cli chat ...
594
+ ```
595
+
596
+ Use `XDG_CONFIG_HOME` to follow XDG-style config placement when no `AGENT_CLI_CONFIG_HOME` is set:
597
+
598
+ ```bash
599
+ # follow XDG (e.g. inside a sandbox or container)
600
+ XDG_CONFIG_HOME=/workspace/.config agent-cli chat ...
601
+ ```
602
+
603
+ Config paths are resolved when `agent-cli` starts, so set these variables before invoking the command.
604
+
583
605
  #### Managing Configuration
584
606
 
585
607
  Use the `config` command to manage your configuration files:
@@ -620,11 +642,20 @@ agent-cli config edit
620
642
 
621
643
  Config files are TOML format and searched in order:
622
644
 
623
- 1 ./agent-cli-config.toml (project-local)
624
- 2 ~/.config/agent-cli/config.toml (user default)
645
+ 1 $AGENT_CLI_CONFIG_HOME/config.toml (if set)
646
+ 2 ./agent-cli-config.toml (project-local)
647
+ 3 $XDG_CONFIG_HOME/agent-cli/config.toml (if set)
648
+ 4 ~/.config/agent-cli/config.toml (user default)
649
+
650
+ Settings in [defaults] apply globally.
651
+
652
+ Use [chat] or [transcribe] for command-specific overrides.
653
+
654
+ CLI arguments override config file settings.
655
+
656
+ Set env vars before startup.
625
657
 
626
- Settings in [defaults] apply to all commands. Override per-command with sections like
627
- [chat] or [transcribe]. CLI arguments override config file settings.
658
+ Use $AGENT_CLI_CONFIG_HOME or $XDG_CONFIG_HOME to change config path.
628
659
 
629
660
  ╭─ Options ──────────────────────────────────────────────────────────────────────────────╮
630
661
  │ --help -h Show this message and exit. │
@@ -158,6 +158,7 @@ The setup scripts automatically install:
158
158
  - [Installation Commands](#installation-commands)
159
159
  - [Installing Optional Extras](#installing-optional-extras)
160
160
  - [Configuration](#configuration)
161
+ - [Environment variable overrides](#environment-variable-overrides)
161
162
  - [Managing Configuration](#managing-configuration)
162
163
  - [Provider Defaults](#provider-defaults)
163
164
  - [`autocorrect`](#autocorrect)
@@ -466,15 +467,36 @@ agent-cli install-extras rag memory vad
466
467
 
467
468
  ### Configuration
468
469
 
469
- All `agent-cli` commands can be configured using a TOML file. The configuration file is searched for in the following locations, in order:
470
+ All `agent-cli` commands can be configured using a TOML file.
471
+ The configuration file is searched for in the following locations, in order:
470
472
 
471
- 1. `./agent-cli-config.toml` (in the current directory)
472
- 2. `~/.config/agent-cli/config.toml`
473
+ 1. CLI flag (`--config` on agent commands, `--path` on `agent-cli config ...`)
474
+ 2. `$AGENT_CLI_CONFIG_HOME/config.toml` if set
475
+ 3. `./agent-cli-config.toml` (in the current directory)
476
+ 4. `$XDG_CONFIG_HOME/agent-cli/config.toml` if `XDG_CONFIG_HOME` is set and non-empty, otherwise `~/.config/agent-cli/config.toml`
473
477
 
474
478
  You can also specify a path to a configuration file using the `--config` option, e.g., `agent-cli transcribe --config /path/to/your/config.toml`.
475
479
 
476
480
  Command-line options always take precedence over settings in the configuration file.
477
481
 
482
+ #### Environment variable overrides
483
+
484
+ Use `AGENT_CLI_CONFIG_HOME` to redirect the user-level config to a directory of your choice:
485
+
486
+ ```bash
487
+ # use a project-scoped config
488
+ AGENT_CLI_CONFIG_HOME=./.agent-cli agent-cli chat ...
489
+ ```
490
+
491
+ Use `XDG_CONFIG_HOME` to follow XDG-style config placement when no `AGENT_CLI_CONFIG_HOME` is set:
492
+
493
+ ```bash
494
+ # follow XDG (e.g. inside a sandbox or container)
495
+ XDG_CONFIG_HOME=/workspace/.config agent-cli chat ...
496
+ ```
497
+
498
+ Config paths are resolved when `agent-cli` starts, so set these variables before invoking the command.
499
+
478
500
  #### Managing Configuration
479
501
 
480
502
  Use the `config` command to manage your configuration files:
@@ -515,11 +537,20 @@ agent-cli config edit
515
537
 
516
538
  Config files are TOML format and searched in order:
517
539
 
518
- 1 ./agent-cli-config.toml (project-local)
519
- 2 ~/.config/agent-cli/config.toml (user default)
540
+ 1 $AGENT_CLI_CONFIG_HOME/config.toml (if set)
541
+ 2 ./agent-cli-config.toml (project-local)
542
+ 3 $XDG_CONFIG_HOME/agent-cli/config.toml (if set)
543
+ 4 ~/.config/agent-cli/config.toml (user default)
544
+
545
+ Settings in [defaults] apply globally.
546
+
547
+ Use [chat] or [transcribe] for command-specific overrides.
548
+
549
+ CLI arguments override config file settings.
550
+
551
+ Set env vars before startup.
520
552
 
521
- Settings in [defaults] apply to all commands. Override per-command with sections like
522
- [chat] or [transcribe]. CLI arguments override config file settings.
553
+ Use $AGENT_CLI_CONFIG_HOME or $XDG_CONFIG_HOME to change config path.
523
554
 
524
555
  ╭─ Options ──────────────────────────────────────────────────────────────────────────────╮
525
556
  │ --help -h Show this message and exit. │
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import os
5
6
  import tomllib
6
7
  from pathlib import Path
7
8
  from typing import Any, Literal
@@ -10,12 +11,31 @@ from pydantic import BaseModel, field_validator
10
11
 
11
12
  from agent_cli.core.utils import console
12
13
 
13
- USER_CONFIG_PATH = Path.home() / ".config" / "agent-cli" / "config.toml"
14
+ PROJECT_CONFIG_PATH = Path("agent-cli-config.toml")
14
15
 
15
- CONFIG_PATHS = [
16
- Path("agent-cli-config.toml"),
17
- USER_CONFIG_PATH,
18
- ]
16
+
17
+ def _user_config_path() -> Path:
18
+ """Resolve the user-level config path with env-var overrides.
19
+
20
+ Precedence: AGENT_CLI_CONFIG_HOME > XDG_CONFIG_HOME > ~/.config.
21
+ Resolved once at import; set env vars before importing agent_cli.config.
22
+ """
23
+ home = os.environ.get("AGENT_CLI_CONFIG_HOME")
24
+ if home:
25
+ return Path(home).expanduser() / "config.toml"
26
+ xdg = os.environ.get("XDG_CONFIG_HOME")
27
+ if xdg:
28
+ return Path(xdg).expanduser() / "agent-cli" / "config.toml"
29
+ return Path.home() / ".config" / "agent-cli" / "config.toml"
30
+
31
+
32
+ USER_CONFIG_PATH = _user_config_path()
33
+
34
+ CONFIG_PATHS = (
35
+ [USER_CONFIG_PATH, PROJECT_CONFIG_PATH]
36
+ if os.environ.get("AGENT_CLI_CONFIG_HOME")
37
+ else [PROJECT_CONFIG_PATH, USER_CONFIG_PATH]
38
+ )
19
39
 
20
40
 
21
41
  def _normalize_provider_value(field: str, value: str) -> str:
@@ -24,12 +24,20 @@ config_app = typer.Typer(
24
24
 
25
25
  Config files are TOML format and searched in order:
26
26
 
27
- 1. `./agent-cli-config.toml` (project-local)
28
- 2. `~/.config/agent-cli/config.toml` (user default)
27
+ 1. `$AGENT_CLI_CONFIG_HOME/config.toml` (if set)
28
+ 2. `./agent-cli-config.toml` (project-local)
29
+ 3. `$XDG_CONFIG_HOME/agent-cli/config.toml` (if set)
30
+ 4. `~/.config/agent-cli/config.toml` (user default)
29
31
 
30
- Settings in `[defaults]` apply to all commands. Override per-command
31
- with sections like `[chat]` or `[transcribe]`. CLI arguments override
32
- config file settings.
32
+ Settings in `[defaults]` apply globally.
33
+
34
+ Use `[chat]` or `[transcribe]` for command-specific overrides.
35
+
36
+ CLI arguments override config file settings.
37
+
38
+ Set env vars before startup.
39
+
40
+ Use `$AGENT_CLI_CONFIG_HOME` or `$XDG_CONFIG_HOME` to change config path.
33
41
  """,
34
42
  add_completion=True,
35
43
  rich_markup_mode="markdown",
@@ -56,7 +64,7 @@ CONFIG_PATH_INIT_OPTION: Path | None = typer.Option(
56
64
  None,
57
65
  "--path",
58
66
  "-p",
59
- help="Where to create the config file (default: `~/.config/agent-cli/config.toml`).",
67
+ help="Where to create the config file (default: resolved user config path).",
60
68
  )
61
69
  FORCE_OPTION: bool = typer.Option(
62
70
  False, # noqa: FBT003
@@ -105,7 +105,7 @@ Configuration is loaded from multiple sources with the following precedence:
105
105
 
106
106
  1. **Command-line arguments** (highest priority)
107
107
  2. **Environment variables** (`OPENAI_API_KEY`, etc.)
108
- 3. **Config file** (`./agent-cli-config.toml` or `~/.config/agent-cli/config.toml`)
108
+ 3. **Config file** (`--config`/`--path`, `$AGENT_CLI_CONFIG_HOME/config.toml`, `./agent-cli-config.toml`, `$XDG_CONFIG_HOME/agent-cli/config.toml`, or `~/.config/agent-cli/config.toml`)
109
109
  4. **Default values** (lowest priority)
110
110
 
111
111
  ## Process Management
@@ -15,6 +15,7 @@ agent-cli config [OPTIONS] COMMAND [ARGS]...
15
15
  ## Description
16
16
 
17
17
  The `config` command helps you create, edit, and inspect your configuration file.
18
+ Set `AGENT_CLI_CONFIG_HOME` or `XDG_CONFIG_HOME` before startup to change the user-level config path.
18
19
 
19
20
  ## Commands
20
21
 
@@ -44,7 +45,7 @@ agent-cli config init [OPTIONS]
44
45
 
45
46
  | Option | Default | Description |
46
47
  |--------|---------|-------------|
47
- | `--path, -p` | - | Where to create the config file (default: `~/.config/agent-cli/config.toml`). |
48
+ | `--path, -p` | - | Where to create the config file (default: resolved user config path). |
48
49
  | `--force, -f` | `false` | Overwrite existing config without prompting for confirmation. |
49
50
 
50
51
 
@@ -4,10 +4,13 @@ icon: lucide/settings
4
4
 
5
5
  # Configuration
6
6
 
7
- All `agent-cli` commands can be configured using a TOML file. The configuration file is searched for in the following locations, in order:
7
+ All `agent-cli` commands can be configured using a TOML file.
8
+ The configuration file is searched for in the following locations, in order:
8
9
 
9
- 1. `./agent-cli-config.toml` (in the current directory)
10
- 2. `~/.config/agent-cli/config.toml`
10
+ 1. CLI flag (`--config` on agent commands, `--path` on `agent-cli config ...`)
11
+ 2. `$AGENT_CLI_CONFIG_HOME/config.toml` if set
12
+ 3. `./agent-cli-config.toml` (in the current directory)
13
+ 4. `$XDG_CONFIG_HOME/agent-cli/config.toml` if `XDG_CONFIG_HOME` is set and non-empty, otherwise `~/.config/agent-cli/config.toml`
11
14
 
12
15
  You can also specify a path to a configuration file using the `--config` option:
13
16
 
@@ -17,8 +20,25 @@ agent-cli transcribe --config /path/to/your/config.toml
17
20
 
18
21
  Command-line options always take precedence over settings in the configuration file.
19
22
 
20
- Option keys can be written with dashes (matching CLI flags) or underscores; both
21
- are accepted.
23
+ Option keys can be written with dashes (matching CLI flags) or underscores; both are accepted.
24
+
25
+ ## Environment variable overrides
26
+
27
+ Use `AGENT_CLI_CONFIG_HOME` to redirect the user-level config to a directory of your choice:
28
+
29
+ ```bash
30
+ # use a project-scoped config
31
+ AGENT_CLI_CONFIG_HOME=./.agent-cli agent-cli chat ...
32
+ ```
33
+
34
+ Use `XDG_CONFIG_HOME` to follow XDG-style config placement when no `AGENT_CLI_CONFIG_HOME` is set:
35
+
36
+ ```bash
37
+ # follow XDG (e.g. inside a sandbox or container)
38
+ XDG_CONFIG_HOME=/workspace/.config agent-cli chat ...
39
+ ```
40
+
41
+ Config paths are resolved when `agent-cli` starts, so set these variables before invoking the command.
22
42
 
23
43
  ## Managing Configuration
24
44
 
@@ -2,8 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import os
5
6
  import re
6
- from typing import TYPE_CHECKING
7
+ import subprocess
8
+ import sys
9
+ from pathlib import Path
7
10
  from unittest.mock import MagicMock
8
11
 
9
12
  import pytest
@@ -11,6 +14,7 @@ from click import Command
11
14
  from typer import Context
12
15
  from typer.testing import CliRunner
13
16
 
17
+ import agent_cli.config as config_module
14
18
  from agent_cli.cli import app, set_config_defaults
15
19
  from agent_cli.config import (
16
20
  GeminiASR,
@@ -21,9 +25,6 @@ from agent_cli.config import (
21
25
  normalize_provider_defaults,
22
26
  )
23
27
 
24
- if TYPE_CHECKING:
25
- from pathlib import Path
26
-
27
28
  runner = CliRunner(env={"NO_COLOR": "1", "TERM": "dumb"})
28
29
 
29
30
 
@@ -212,6 +213,108 @@ ANTHROPIC_MODEL = "claude-opus-4-6"
212
213
  assert "dev.branch_name_mode" not in config
213
214
 
214
215
 
216
+ def test_user_config_path_defaults_to_home_config(
217
+ monkeypatch: pytest.MonkeyPatch,
218
+ tmp_path: Path,
219
+ ) -> None:
220
+ """Unset env vars use ~/.config/agent-cli/config.toml."""
221
+ home = tmp_path / "home"
222
+ monkeypatch.setenv("HOME", str(home))
223
+ monkeypatch.setenv("USERPROFILE", str(home))
224
+ monkeypatch.delenv("AGENT_CLI_CONFIG_HOME", raising=False)
225
+ monkeypatch.delenv("XDG_CONFIG_HOME", raising=False)
226
+
227
+ assert config_module._user_config_path() == home / ".config" / "agent-cli" / "config.toml"
228
+
229
+
230
+ def test_user_config_path_uses_xdg_config_home(
231
+ monkeypatch: pytest.MonkeyPatch,
232
+ tmp_path: Path,
233
+ ) -> None:
234
+ """XDG_CONFIG_HOME redirects the user config below agent-cli/."""
235
+ xdg_home = tmp_path / "xdg"
236
+ monkeypatch.delenv("AGENT_CLI_CONFIG_HOME", raising=False)
237
+ monkeypatch.setenv("XDG_CONFIG_HOME", str(xdg_home))
238
+
239
+ assert config_module._user_config_path() == xdg_home / "agent-cli" / "config.toml"
240
+
241
+
242
+ def test_user_config_path_agent_cli_config_home_wins(
243
+ monkeypatch: pytest.MonkeyPatch,
244
+ tmp_path: Path,
245
+ ) -> None:
246
+ """AGENT_CLI_CONFIG_HOME takes precedence and is treated as a directory."""
247
+ agent_config_home = tmp_path / "agent-home"
248
+ monkeypatch.setenv("AGENT_CLI_CONFIG_HOME", str(agent_config_home))
249
+ monkeypatch.setenv("XDG_CONFIG_HOME", str(tmp_path / "xdg"))
250
+
251
+ assert config_module._user_config_path() == agent_config_home / "config.toml"
252
+
253
+
254
+ def test_user_config_path_empty_xdg_falls_back_to_home(
255
+ monkeypatch: pytest.MonkeyPatch,
256
+ tmp_path: Path,
257
+ ) -> None:
258
+ """Empty XDG_CONFIG_HOME is treated the same as being unset."""
259
+ home = tmp_path / "home"
260
+ monkeypatch.setenv("HOME", str(home))
261
+ monkeypatch.setenv("USERPROFILE", str(home))
262
+ monkeypatch.delenv("AGENT_CLI_CONFIG_HOME", raising=False)
263
+ monkeypatch.setenv("XDG_CONFIG_HOME", "")
264
+
265
+ assert config_module._user_config_path() == home / ".config" / "agent-cli" / "config.toml"
266
+
267
+
268
+ def test_explicit_config_path_wins_over_env_vars(
269
+ monkeypatch: pytest.MonkeyPatch,
270
+ tmp_path: Path,
271
+ ) -> None:
272
+ """An explicit CLI config path still wins over env-var config homes."""
273
+ explicit = tmp_path / "explicit.toml"
274
+ monkeypatch.setenv("AGENT_CLI_CONFIG_HOME", str(tmp_path / "agent-home"))
275
+ monkeypatch.setenv("XDG_CONFIG_HOME", str(tmp_path / "xdg"))
276
+
277
+ assert config_module._config_path(str(explicit)) == explicit.resolve()
278
+
279
+
280
+ def test_config_init_writes_to_agent_cli_config_home(tmp_path: Path) -> None:
281
+ """Config init writes to USER_CONFIG_PATH resolved once at import time."""
282
+ repo_root = Path(__file__).resolve().parents[1]
283
+ config_home = tmp_path / "agent-home"
284
+ env = os.environ.copy()
285
+ env["AGENT_CLI_CONFIG_HOME"] = str(config_home)
286
+ env.pop("XDG_CONFIG_HOME", None)
287
+ env["PYTHONPATH"] = (
288
+ f"{repo_root}{os.pathsep}{env['PYTHONPATH']}" if env.get("PYTHONPATH") else str(repo_root)
289
+ )
290
+
291
+ script = """
292
+ from typer.testing import CliRunner
293
+ from agent_cli.cli import app
294
+
295
+ runner = CliRunner(env={"NO_COLOR": "1", "TERM": "dumb"})
296
+ result = runner.invoke(app, ["config", "init", "--force"])
297
+ print(result.stdout, end="")
298
+ if result.exception:
299
+ raise result.exception
300
+ raise SystemExit(result.exit_code)
301
+ """
302
+ result = subprocess.run(
303
+ [sys.executable, "-c", script],
304
+ cwd=tmp_path,
305
+ env=env,
306
+ text=True,
307
+ capture_output=True,
308
+ timeout=10,
309
+ check=False,
310
+ )
311
+
312
+ assert result.returncode == 0, result.stdout + result.stderr
313
+ config_path = config_home / "config.toml"
314
+ assert config_path.exists()
315
+ assert "[defaults]" in config_path.read_text(encoding="utf-8")
316
+
317
+
215
318
  def test_provider_alias_normalization(config_file: Path) -> None:
216
319
  """Ensure deprecated provider names are normalized."""
217
320
  config = load_config(str(config_file))
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes