Skip to main content

Manage AI coding CLI tools (Claude, Copilot, Cursor, Gemini, Amp, Codex)

Project description

code-aide

An aide for your AI coding tools.

Manages installation, upgrade, removal, and version tracking of AI coding CLI tools: Claude Code, Copilot, Cursor, Gemini, Amp, Codex, OpenCode, and Kilo.

Installation

# Run without installing (requires uv)
uvx code-aide status

# Install persistently
uv tool install code-aide

# Or use pipx
pipx install code-aide

Usage

# List available tools and their status
code-aide list

# Show detailed status for installed tools
code-aide status

# Show compact one-line-per-tool status
code-aide status -c

# Install specific tools
code-aide install claude gemini

# Install all default tools
code-aide install

# Install with automatic prerequisite installation (Node.js, npm)
code-aide install -p

# Upgrade installed tools (no args = only out-of-date tools)
code-aide upgrade [NAMES]

# Remove tools
code-aide remove [NAMES]

# Check upstream for latest versions (dry-run)
code-aide update-versions -n

# Update version cache
code-aide update-versions -y

Supported Tools

Tool Command Install Type Default
Cursor CLI agent Direct download Yes
Claude CLI (Claude Code) claude Script Yes
Gemini CLI gemini npm Yes
OpenCode opencode npm No
Kilo CLI kilo npm No
Amp (Sourcegraph) amp Script No
Codex CLI codex npm No
Copilot CLI copilot npm No

How Version Data Works

code-aide uses a two-layer version data model:

  1. Bundled tool definitions (in data/tools.json): Install methods, URLs, npm packages, version args, and SHA256 checksums. Updated by releasing new versions of code-aide.

  2. User's local version cache (~/.config/code-aide/versions.json): Written by code-aide update-versions. Provides latest versions, dates, and updated SHA256 checksums.

Run code-aide update-versions to get the latest version data without waiting for a new code-aide release.

Features

  • Zero external dependencies (Python stdlib only)
  • SHA256 verification for script-based installations
  • Automatic prerequisite detection and installation (Node.js, npm)
  • Detects install method (Homebrew, npm, system package, script, direct download)
  • PATH configuration validation and warnings
  • Supports Linux and macOS

Requirements

  • Python 3.11+
  • No external Python dependencies

Development

  1. Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Install dependencies: uv sync
  3. Install pre-commit hooks: uv tool install pre-commit && pre-commit install
  4. Run tests: uv run pytest tests/ -v
# Run from development checkout
uv run python -m code_aide status
uv run python -m code_aide install copilot

# Run a specific test
uv run pytest tests/test_install.py::TestDetectOsArch -v

Release

publish.yml publishes to PyPI when a Git tag matching v* is pushed.

  1. Update the version string in src/code_aide/__init__.py (__version__). pyproject.toml reads it automatically via Hatchling.
  2. Run checks:
    • uv run pytest tests/ -v
    • uv build
  3. Commit the release version bump:
    • git add src/code_aide/__init__.py
    • git commit -m "Bumped version to X.Y.Z"
  4. Write useful commit messages before tagging:
    • Start subject lines with an action verb in past tense (Added, Changed, Fixed, Removed).
    • Keep subjects user-facing so auto-generated release notes are meaningful.
    • Group related changes into focused commits instead of one broad commit.
    • Example: Fixed timeout handling in status command
  5. Tag and push:
    • git tag vX.Y.Z
    • git push origin main
    • git push origin vX.Y.Z
  6. Confirm GitHub Actions:
    • CI should pass.
    • Publish workflow should upload to PyPI and create GitHub Release notes.
    • Release notes should include generated notes plus a commit summary from the previous tag to the current tag.

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

code_aide-1.11.3.tar.gz (77.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

code_aide-1.11.3-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file code_aide-1.11.3.tar.gz.

File metadata

  • Download URL: code_aide-1.11.3.tar.gz
  • Upload date:
  • Size: 77.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for code_aide-1.11.3.tar.gz
Algorithm Hash digest
SHA256 bd8ab2e7bb6cf33b6dfc8d25d6bb844f0c496fdd1ff8f58af9034d7d07b9e8f9
MD5 bb6900d6a7e63b6f8da14e9d4098bf21
BLAKE2b-256 89e139fde040dd77b73e40f746fc7f9f5a5e0c9a64ed6907e4fa63c2af6e4f5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for code_aide-1.11.3.tar.gz:

Publisher: publish.yml on dajobe/code-aide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file code_aide-1.11.3-py3-none-any.whl.

File metadata

  • Download URL: code_aide-1.11.3-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for code_aide-1.11.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f8016751ebb69068649aee3827e234a21d2c43d8a656d71a82933311ce8b0003
MD5 6f06cdbbc41bb7ae076076d4d884a968
BLAKE2b-256 8b908da2204617107ea50ab2a6bab43f64027e5858dcc82f1a1b9b5fa0ba2e14

See more details on using hashes here.

Provenance

The following attestation bundles were made for code_aide-1.11.3-py3-none-any.whl:

Publisher: publish.yml on dajobe/code-aide

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page