code-aide 1.11.3__tar.gz → 1.11.4__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 (50) hide show
  1. {code_aide-1.11.3 → code_aide-1.11.4}/PKG-INFO +1 -1
  2. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/__init__.py +1 -1
  3. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/install.py +28 -5
  4. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/operations.py +13 -6
  5. {code_aide-1.11.3 → code_aide-1.11.4}/.github/workflows/ci.yml +0 -0
  6. {code_aide-1.11.3 → code_aide-1.11.4}/.github/workflows/publish.yml +0 -0
  7. {code_aide-1.11.3 → code_aide-1.11.4}/.gitignore +0 -0
  8. {code_aide-1.11.3 → code_aide-1.11.4}/.gitlab-ci.yml +0 -0
  9. {code_aide-1.11.3 → code_aide-1.11.4}/.pre-commit-config.yaml +0 -0
  10. {code_aide-1.11.3 → code_aide-1.11.4}/AGENTS.md +0 -0
  11. {code_aide-1.11.3 → code_aide-1.11.4}/CLAUDE.md +0 -0
  12. {code_aide-1.11.3 → code_aide-1.11.4}/LICENSE +0 -0
  13. {code_aide-1.11.3 → code_aide-1.11.4}/README.md +0 -0
  14. {code_aide-1.11.3 → code_aide-1.11.4}/TODO.md +0 -0
  15. {code_aide-1.11.3 → code_aide-1.11.4}/pyproject.toml +0 -0
  16. {code_aide-1.11.3 → code_aide-1.11.4}/script-archive/README.md +0 -0
  17. {code_aide-1.11.3 → code_aide-1.11.4}/script-archive/amp-install.sh +0 -0
  18. {code_aide-1.11.3 → code_aide-1.11.4}/script-archive/claude-install.sh +0 -0
  19. {code_aide-1.11.3 → code_aide-1.11.4}/script-archive/cursor-install.sh +0 -0
  20. {code_aide-1.11.3 → code_aide-1.11.4}/specs/auto-migrate-deprecated-installs.md +0 -0
  21. {code_aide-1.11.3 → code_aide-1.11.4}/specs/claude-native-installer-migration.md +0 -0
  22. {code_aide-1.11.3 → code_aide-1.11.4}/specs/missing-coding-llm-cli-tools.md +0 -0
  23. {code_aide-1.11.3 → code_aide-1.11.4}/specs/pre-commit-uv-setup.md +0 -0
  24. {code_aide-1.11.3 → code_aide-1.11.4}/specs/remove-bundled-version-baseline.md +0 -0
  25. {code_aide-1.11.3 → code_aide-1.11.4}/specs/unify-upgrade-eligibility-with-shared-evaluator.md +0 -0
  26. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/__main__.py +0 -0
  27. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/commands_actions.py +0 -0
  28. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/commands_tools.py +0 -0
  29. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/config.py +0 -0
  30. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/console.py +0 -0
  31. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/constants.py +0 -0
  32. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/data/tools.json +0 -0
  33. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/detection.py +0 -0
  34. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/entry.py +0 -0
  35. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/install_types.py +0 -0
  36. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/prereqs.py +0 -0
  37. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/status.py +0 -0
  38. {code_aide-1.11.3 → code_aide-1.11.4}/src/code_aide/versions.py +0 -0
  39. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_commands_actions.py +0 -0
  40. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_commands_tools.py +0 -0
  41. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_config.py +0 -0
  42. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_console.py +0 -0
  43. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_constants.py +0 -0
  44. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_detection.py +0 -0
  45. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_install.py +0 -0
  46. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_install_types.py +0 -0
  47. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_operations.py +0 -0
  48. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_status.py +0 -0
  49. {code_aide-1.11.3 → code_aide-1.11.4}/tests/test_versions.py +0 -0
  50. {code_aide-1.11.3 → code_aide-1.11.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-aide
3
- Version: 1.11.3
3
+ Version: 1.11.4
4
4
  Summary: Manage AI coding CLI tools (Claude, Copilot, Cursor, Gemini, Amp, Codex)
5
5
  Project-URL: Homepage, https://github.com/dajobe/code-aide
6
6
  Project-URL: Repository, https://github.com/dajobe/code-aide
@@ -1,3 +1,3 @@
1
1
  """code-aide - Manage AI coding CLI tools."""
2
2
 
3
- __version__ = "1.11.3"
3
+ __version__ = "1.11.4"
@@ -16,6 +16,28 @@ from code_aide.install_types import InstallType, get_tool_install_type
16
16
  from code_aide.versions import check_script_tool, fetch_url
17
17
 
18
18
 
19
+ def run_pkg_command(
20
+ base_cmd: list,
21
+ pkg_name: str,
22
+ pkg_repo: Optional[str] = None,
23
+ **kwargs: Any,
24
+ ) -> None:
25
+ """Run a FreeBSD pkg command, falling back without -r if the repo is unavailable."""
26
+ if pkg_repo:
27
+ cmd = base_cmd + ["-r", pkg_repo, pkg_name]
28
+ try:
29
+ run_command(cmd, **kwargs)
30
+ return
31
+ except subprocess.CalledProcessError:
32
+ warning(f"Repository '{pkg_repo}' is not available. To enable it:")
33
+ warning(" See https://wiki.freebsd.org/Ports/Quarterly for instructions")
34
+ warning(" Then run: sudo pkg update")
35
+ info("Falling back to default repository...")
36
+
37
+ cmd = base_cmd + [pkg_name]
38
+ run_command(cmd, **kwargs)
39
+
40
+
19
41
  def run_install_script(
20
42
  install_url: str,
21
43
  tool_name: str,
@@ -269,11 +291,12 @@ def install_tool(tool_name: str, dryrun: bool = False, force: bool = False) -> b
269
291
  )
270
292
  return True
271
293
  try:
272
- cmd = ["sudo", "pkg", "install", "-y"]
273
- if pkg_repo:
274
- cmd.extend(["-r", pkg_repo])
275
- cmd.append(freebsd_port)
276
- run_command(cmd, check=True)
294
+ run_pkg_command(
295
+ ["sudo", "pkg", "install", "-y"],
296
+ freebsd_port,
297
+ pkg_repo=pkg_repo,
298
+ check=True,
299
+ )
277
300
  success(f"{tool_config['name']} installed successfully via FreeBSD pkg")
278
301
  info(tool_config["next_steps"])
279
302
  if "docs_url" in tool_config:
@@ -14,7 +14,12 @@ from code_aide.detection import (
14
14
  format_install_method,
15
15
  is_deprecated_install,
16
16
  )
17
- from code_aide.install import install_direct_download, install_tool, run_install_script
17
+ from code_aide.install import (
18
+ install_direct_download,
19
+ install_tool,
20
+ run_install_script,
21
+ run_pkg_command,
22
+ )
18
23
  from code_aide.install_types import (
19
24
  InstallMethod,
20
25
  InstallType,
@@ -196,11 +201,13 @@ def upgrade_tool(tool_name: str) -> UpgradeResult:
196
201
  error(f"No FreeBSD port configured for {tool_config['name']}")
197
202
  return UpgradeResult.FAILED
198
203
  pkg_repo = tool_config.get("freebsd_pkg_repo")
199
- cmd = ["sudo", "pkg", "install", "-y", "-f"]
200
- if pkg_repo:
201
- cmd.extend(["-r", pkg_repo])
202
- cmd.append(pkg_name)
203
- run_command(cmd, check=True, capture=False)
204
+ run_pkg_command(
205
+ ["sudo", "pkg", "install", "-y", "-f"],
206
+ pkg_name,
207
+ pkg_repo=pkg_repo,
208
+ check=True,
209
+ capture=False,
210
+ )
204
211
 
205
212
  elif method == InstallMethod.SYSTEM:
206
213
  error(
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