agent-cli 0.70.5__py3-none-any.whl → 0.71.0__py3-none-any.whl

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.
agent_cli/cli.py CHANGED
@@ -14,9 +14,32 @@ from .config import load_config, normalize_provider_defaults
14
14
  from .core.process import set_process_title
15
15
  from .core.utils import console
16
16
 
17
+ _HELP = """\
18
+ AI-powered voice, text, and development tools.
19
+
20
+ **Voice & Text:**
21
+
22
+ - **Voice-to-text** - Transcribe speech with optional LLM cleanup
23
+ - **Text-to-speech** - Convert text to natural-sounding audio
24
+ - **Voice chat** - Conversational AI with memory and tool use
25
+ - **Text correction** - Fix grammar, spelling, and punctuation
26
+
27
+ **Development:**
28
+
29
+ - **Parallel development** - Git worktrees with integrated coding agents
30
+ - **Local servers** - ASR/TTS with Wyoming + OpenAI-compatible APIs,
31
+ MLX on macOS ARM, CUDA/CPU Whisper, and automatic model TTL
32
+
33
+ **Provider Flexibility:**
34
+
35
+ Mix local (Ollama, Wyoming) and cloud (OpenAI, Gemini) backends freely.
36
+
37
+ Run `agent-cli <command> --help` for detailed command documentation.
38
+ """
39
+
17
40
  app = typer.Typer(
18
41
  name="agent-cli",
19
- help="A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.",
42
+ help=_HELP,
20
43
  context_settings={"help_option_names": ["-h", "--help"]},
21
44
  add_completion=True,
22
45
  rich_markup_mode="markdown",
@@ -56,7 +79,7 @@ def main(
56
79
  ),
57
80
  ] = False,
58
81
  ) -> None:
59
- """A suite of AI-powered tools."""
82
+ """AI-powered voice, text, and development tools."""
60
83
  if ctx.invoked_subcommand is None:
61
84
  console.print("[bold red]No command specified.[/bold red]")
62
85
  console.print("[bold yellow]Running --help for your convenience.[/bold yellow]")
agent_cli/config_cmd.py CHANGED
@@ -20,7 +20,17 @@ from agent_cli.core.utils import console
20
20
 
21
21
  config_app = typer.Typer(
22
22
  name="config",
23
- help="Manage agent-cli configuration files.",
23
+ help="""Manage agent-cli configuration files.
24
+
25
+ Config files are TOML format and searched in order:
26
+
27
+ 1. `./agent-cli-config.toml` (project-local)
28
+ 2. `~/.config/agent-cli/config.toml` (user default)
29
+
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.
33
+ """,
24
34
  add_completion=True,
25
35
  rich_markup_mode="markdown",
26
36
  no_args_is_help=True,
@@ -40,30 +50,30 @@ CONFIG_PATH_OPTION: Path | None = typer.Option(
40
50
  None,
41
51
  "--path",
42
52
  "-p",
43
- help="Path to config file. Uses auto-detection if not specified.",
53
+ help="Override auto-detection and use this config file path.",
44
54
  )
45
55
  CONFIG_PATH_INIT_OPTION: Path | None = typer.Option(
46
56
  None,
47
57
  "--path",
48
58
  "-p",
49
- help="Custom path for config file. Default: ~/.config/agent-cli/config.toml",
59
+ help="Where to create the config file (default: `~/.config/agent-cli/config.toml`).",
50
60
  )
51
61
  FORCE_OPTION: bool = typer.Option(
52
62
  False, # noqa: FBT003
53
63
  "--force",
54
64
  "-f",
55
- help="Overwrite existing config without confirmation.",
65
+ help="Overwrite existing config without prompting for confirmation.",
56
66
  )
57
67
  RAW_OPTION: bool = typer.Option(
58
68
  False, # noqa: FBT003
59
69
  "--raw",
60
70
  "-r",
61
- help="Output raw file contents (for copy-paste).",
71
+ help="Print plain file contents without syntax highlighting or line numbers.",
62
72
  )
63
73
  JSON_OPTION: bool = typer.Option(
64
74
  False, # noqa: FBT003
65
75
  "--json",
66
- help="Output as JSON for automation.",
76
+ help="Output as JSON with `path`, `exists`, and `content` fields.",
67
77
  )
68
78
 
69
79
 
@@ -149,10 +159,13 @@ def config_init(
149
159
  path: Path | None = CONFIG_PATH_INIT_OPTION,
150
160
  force: bool = FORCE_OPTION,
151
161
  ) -> None:
152
- """Create a new config file with all options commented out.
162
+ """Create a new config file with all options as commented-out examples.
153
163
 
154
- The generated config file serves as a template showing all available
155
- options. Uncomment and modify the options you want to customize.
164
+ Generates a TOML template with `[defaults]` for global settings and
165
+ command-specific sections like `[chat]`, `[transcribe]`, etc. Uncomment
166
+ and edit the options you want to customize.
167
+
168
+ Example: `agent-cli config init && agent-cli config edit`
156
169
  """
157
170
  target_path = _get_config_file(path) or USER_CONFIG_PATH
158
171
 
@@ -182,7 +195,9 @@ def config_edit(
182
195
  ) -> None:
183
196
  """Open the config file in your default editor.
184
197
 
185
- The editor is determined by: $EDITOR > $VISUAL > platform default.
198
+ Editor preference: `$EDITOR` `$VISUAL` `nano`/`vim` → `vi` (or
199
+ `notepad` on Windows). If no config exists, run `agent-cli config init`
200
+ first.
186
201
  """
187
202
  config_file = _get_config_file(path)
188
203
 
@@ -234,7 +249,11 @@ def config_show(
234
249
  raw: bool = RAW_OPTION,
235
250
  json_output: bool = JSON_OPTION,
236
251
  ) -> None:
237
- """Display the config file location and contents."""
252
+ """Display the active config file path and contents.
253
+
254
+ By default, shows syntax-highlighted TOML with line numbers. Use `--raw`
255
+ for plain output (useful for piping), or `--json` for programmatic access.
256
+ """
238
257
  config_file = _get_config_file(path)
239
258
 
240
259
  if config_file is None: