agent-cli 0.64.1__py3-none-any.whl → 0.65.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/core/deps.py CHANGED
@@ -2,12 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- import sys
6
5
  from importlib.util import find_spec
7
6
 
8
- # Dependencies that don't support Python 3.14 yet
9
- _PYTHON_314_INCOMPATIBLE = {"chromadb", "onnxruntime"}
10
-
11
7
 
12
8
  def ensure_optional_dependencies(
13
9
  required: dict[str, str],
@@ -22,18 +18,6 @@ def ensure_optional_dependencies(
22
18
  if not missing:
23
19
  return
24
20
 
25
- # Check if running on Python 3.14+ with incompatible dependencies
26
- is_py314 = sys.version_info >= (3, 14)
27
- incompatible = set(missing) & _PYTHON_314_INCOMPATIBLE
28
-
29
- if is_py314 and incompatible:
30
- msg = (
31
- f"The '{extra_name}' feature requires {', '.join(sorted(incompatible))}, "
32
- f"which {'does' if len(incompatible) == 1 else 'do'} not support Python 3.14 yet. "
33
- f"Please use Python 3.13 or earlier for this feature."
34
- )
35
- raise ImportError(msg)
36
-
37
21
  hint = install_hint or f"`pip install agent-cli[{extra_name}]`"
38
22
  msg = f"Missing required dependencies for {extra_name}: {', '.join(missing)}. Please install with {hint}."
39
23
  raise ImportError(msg)
agent_cli/dev/cli.py CHANGED
@@ -673,10 +673,6 @@ def new( # noqa: PLR0912, PLR0915
673
673
 
674
674
  @app.command("list")
675
675
  def list_envs(
676
- porcelain: Annotated[
677
- bool,
678
- typer.Option("--porcelain", "-p", help="Machine-readable output"),
679
- ] = False,
680
676
  json_output: Annotated[
681
677
  bool,
682
678
  typer.Option("--json", help="Output as JSON for automation"),
@@ -710,11 +706,6 @@ def list_envs(
710
706
  print(json.dumps({"worktrees": data}))
711
707
  return
712
708
 
713
- if porcelain:
714
- for wt in worktrees:
715
- print(f"{wt.path.as_posix()}\t{wt.branch or '(detached)'}")
716
- return
717
-
718
709
  table = Table(title="Dev Environments (Git Worktrees)")
719
710
  table.add_column("Name", style="cyan")
720
711
  table.add_column("Branch", style="green")
@@ -784,15 +775,11 @@ def _is_stale(status: worktree.WorktreeStatus, stale_days: int) -> bool:
784
775
 
785
776
 
786
777
  @app.command("status")
787
- def status_cmd( # noqa: PLR0912, PLR0915
778
+ def status_cmd( # noqa: PLR0915
788
779
  stale_days: Annotated[
789
780
  int,
790
781
  typer.Option("--stale-days", "-s", help="Highlight worktrees inactive for N+ days"),
791
782
  ] = 7,
792
- porcelain: Annotated[
793
- bool,
794
- typer.Option("--porcelain", "-p", help="Machine-readable output"),
795
- ] = False,
796
783
  json_output: Annotated[
797
784
  bool,
798
785
  typer.Option("--json", help="Output as JSON for automation"),
@@ -836,20 +823,6 @@ def status_cmd( # noqa: PLR0912, PLR0915
836
823
  print(json.dumps({"worktrees": data, "stale_days": stale_days}))
837
824
  return
838
825
 
839
- if porcelain:
840
- # Machine-readable: name\tbranch\tmodified\tstaged\tuntracked\tahead\tbehind\ttimestamp
841
- for wt in worktrees:
842
- status = worktree.get_worktree_status(wt.path)
843
- if status:
844
- print(
845
- f"{wt.name}\t{wt.branch or ''}\t"
846
- f"{status.modified}\t{status.staged}\t{status.untracked}\t"
847
- f"{status.ahead}\t{status.behind}\t{status.last_commit_timestamp or ''}",
848
- )
849
- else:
850
- print(f"{wt.name}\t{wt.branch or ''}\t\t\t\t\t\t")
851
- return
852
-
853
826
  table = Table(title="Dev Environment Status")
854
827
  table.add_column("Name", style="cyan")
855
828
  table.add_column("Branch", style="green")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.64.1
3
+ Version: 0.65.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>
@@ -33,19 +33,19 @@ Requires-Dist: pytest>=7.0.0; extra == 'dev'
33
33
  Requires-Dist: ruff; extra == 'dev'
34
34
  Requires-Dist: versioningit; extra == 'dev'
35
35
  Provides-Extra: memory
36
- Requires-Dist: chromadb>=0.4.22; (python_version < '3.14') and extra == 'memory'
36
+ Requires-Dist: chromadb>=0.4.22; extra == 'memory'
37
37
  Requires-Dist: fastapi[standard]; extra == 'memory'
38
38
  Requires-Dist: huggingface-hub>=0.20.0; extra == 'memory'
39
- Requires-Dist: onnxruntime>=1.17.0; (python_version < '3.14') and extra == 'memory'
39
+ Requires-Dist: onnxruntime>=1.17.0; extra == 'memory'
40
40
  Requires-Dist: pyyaml>=6.0.0; extra == 'memory'
41
41
  Requires-Dist: transformers>=4.30.0; extra == 'memory'
42
42
  Requires-Dist: watchfiles>=0.21.0; extra == 'memory'
43
43
  Provides-Extra: rag
44
- Requires-Dist: chromadb>=0.4.22; (python_version < '3.14') and extra == 'rag'
44
+ Requires-Dist: chromadb>=0.4.22; extra == 'rag'
45
45
  Requires-Dist: fastapi[standard]; extra == 'rag'
46
46
  Requires-Dist: huggingface-hub>=0.20.0; extra == 'rag'
47
- Requires-Dist: markitdown[docx,pdf,pptx]>=0.1.3; (python_version < '3.14') and extra == 'rag'
48
- Requires-Dist: onnxruntime>=1.17.0; (python_version < '3.14') and extra == 'rag'
47
+ Requires-Dist: markitdown[docx,pdf,pptx]>=0.1.3; extra == 'rag'
48
+ Requires-Dist: onnxruntime>=1.17.0; extra == 'rag'
49
49
  Requires-Dist: transformers>=4.30.0; extra == 'rag'
50
50
  Requires-Dist: watchfiles>=0.21.0; extra == 'rag'
51
51
  Provides-Extra: server
@@ -69,7 +69,7 @@ Requires-Dist: kokoro>=0.9.0; extra == 'tts-kokoro'
69
69
  Requires-Dist: pip; extra == 'tts-kokoro'
70
70
  Requires-Dist: soundfile>=0.12.0; extra == 'tts-kokoro'
71
71
  Provides-Extra: vad
72
- Requires-Dist: silero-vad>=5.1; (python_version < '3.14') and extra == 'vad'
72
+ Requires-Dist: silero-vad>=5.1; extra == 'vad'
73
73
  Provides-Extra: whisper
74
74
  Requires-Dist: fastapi[standard]; extra == 'whisper'
75
75
  Requires-Dist: faster-whisper>=1.0.0; extra == 'whisper'
@@ -220,6 +220,7 @@ The setup scripts automatically install:
220
220
  - [System Integration](#system-integration)
221
221
  - [macOS Hotkeys](#macos-hotkeys)
222
222
  - [Linux Hotkeys](#linux-hotkeys)
223
+ - [Claude Code Plugin](#claude-code-plugin)
223
224
  - [Prerequisites](#prerequisites)
224
225
  - [What You Need to Install Manually](#what-you-need-to-install-manually)
225
226
  - [What the Setup Scripts Install for You](#what-the-setup-scripts-install-for-you)
@@ -367,6 +368,25 @@ This script automatically:
367
368
 
368
369
  The script supports Hyprland, GNOME, KDE, Sway, i3, XFCE, and provides instructions for manual configuration on other environments.
369
370
 
371
+ ### Claude Code Plugin
372
+
373
+ The [`dev`](docs/commands/dev.md) command is also available as a **Claude Code plugin**, enabling Claude to automatically spawn parallel AI agents in isolated git worktrees when you ask it to work on multiple features.
374
+
375
+ ```bash
376
+ # Option 1: Install skill directly in your project (recommended)
377
+ agent-cli dev install-skill
378
+
379
+ # Option 2: Install via Claude Code plugin marketplace
380
+ claude plugin marketplace add basnijholt/agent-cli
381
+ claude plugin install agent-cli@agent-cli-dev
382
+ ```
383
+
384
+ Once installed, Claude Code can automatically use this skill when you ask to:
385
+ - "Work on these 3 features in parallel"
386
+ - "Spawn agents for auth and payments"
387
+ - "Delegate this refactoring to a separate agent"
388
+
389
+ See the [plugin documentation](.claude-plugin/README.md) for more details.
370
390
 
371
391
  ## Prerequisites
372
392
 
@@ -27,7 +27,7 @@ agent_cli/core/__init__.py,sha256=c_knH7u9QgjsfMIil9NP4bVizHawLUMYoQWU4H9vMlQ,46
27
27
  agent_cli/core/audio.py,sha256=43FpYe2Wu_BYK9xJ_55V4xHjHJeFwQ5aM-CQzlTryt8,15168
28
28
  agent_cli/core/audio_format.py,sha256=zk3qlYMAlKYPz1enrjihQQspl_C218v1Rbcm7Uktlew,8773
29
29
  agent_cli/core/chroma.py,sha256=Vb_ny7SzAIL9SCEGlYgYOqsdG9BgusFGMj0RUzb6W90,2728
30
- agent_cli/core/deps.py,sha256=VAJqbmBGfyd5KF1AdpahbZQ0AxsM0qxQO7YbAHYSDGI,1336
30
+ agent_cli/core/deps.py,sha256=Btky1mknzhQ9nFjkIWW_dWBL8jxfhfg4WwDMrp7xzIc,704
31
31
  agent_cli/core/openai_proxy.py,sha256=f2kqxk6bAOeN7gOzU0JnyS-RYtXUcK5Gbsa_pBmlCv0,4470
32
32
  agent_cli/core/process.py,sha256=Zay6beX4JUbkBHr6xbJxwVBjVFDABmRHQCXVPQH93r8,5916
33
33
  agent_cli/core/reranker.py,sha256=Qv5ASGUdseLzI6eQRfNeQY-Lvv4SOgLOu56CpwmszDM,3779
@@ -37,7 +37,7 @@ agent_cli/core/utils.py,sha256=MHttXeGiM9qGUNxK0s6vAHthh033TDjaruqocdtMMFY,16802
37
37
  agent_cli/core/vad.py,sha256=67-EBjY-pTOf61VhrjVdDXgaNIBwWFFFccYth_1rQmg,6569
38
38
  agent_cli/core/watch.py,sha256=MKgGxxMe0yLlu78-XXqO4ferCpu_ljNr4MAzOMDsuuo,1951
39
39
  agent_cli/dev/__init__.py,sha256=doTYiUFEBpnOxsQA69HQP9AA4QHBN0DjuHSTGRq5Xbg,551
40
- agent_cli/dev/cli.py,sha256=KH5RYAwJLSArnXDrccDmFN7OV1C9kwLHwoHWIiJfCHQ,52120
40
+ agent_cli/dev/cli.py,sha256=SWTQzyCVWHQCfILH7fcwAziFqwsIRPa6w4wIiG6i1YQ,51121
41
41
  agent_cli/dev/project.py,sha256=wJMGKTK1rmw8letrV6l6wcLU1fkQQDjCSEixAnsvyaY,18971
42
42
  agent_cli/dev/registry.py,sha256=c6t3ClyRFPvU4GGXJT79-D-qV4FqY7W_7P-tLT7LKZs,1887
43
43
  agent_cli/dev/worktree.py,sha256=Yw8jlhkf8BeKFc6pPEazGXnUIvryvYwbUmYxTluXILs,26916
@@ -173,8 +173,8 @@ agent_cli/services/asr.py,sha256=V6SV-USnMhK-0aE-pneiktU4HpmLqenmMb-jZ-_74zU,169
173
173
  agent_cli/services/llm.py,sha256=Kwdo6pbMYI9oykF-RBe1iaL3KsYrNWTLdRSioewmsGQ,7199
174
174
  agent_cli/services/tts.py,sha256=exKo-55_670mx8dQOzVSZkv6aWYLv04SVmBcjOlD458,14772
175
175
  agent_cli/services/wake_word.py,sha256=j6Z8rsGq_vAdRevy9fkXIgLZd9UWfrIsefmTreNmM0c,4575
176
- agent_cli-0.64.1.dist-info/METADATA,sha256=NtwnF8rl-kVN0Tw2P6ECUdSY5RuxhDoOHRTGrcpvOqs,151915
177
- agent_cli-0.64.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
178
- agent_cli-0.64.1.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
179
- agent_cli-0.64.1.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
180
- agent_cli-0.64.1.dist-info/RECORD,,
176
+ agent_cli-0.65.0.dist-info/METADATA,sha256=ghKc18V3O-hqAi9Gfrxa_H3QfRP9T8rd6b_YvyVsYtw,152568
177
+ agent_cli-0.65.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
178
+ agent_cli-0.65.0.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
179
+ agent_cli-0.65.0.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
180
+ agent_cli-0.65.0.dist-info/RECORD,,