Skip to main content

A python CLI tool that helps developers to get and install useful AI resources

Project description

aidriven

CI codecov PyPI Python License: MIT

aidriven is a Python library that helps developers discover and manage AI-oriented IDEs and install useful AI resources such as skills, agents, and specs.


Features

  • IDE Discovery — detects locally installed AI-oriented IDEs (VS Code, Cursor, Kiro) across Windows, macOS, and Linux
  • Multi-installation support — handles multiple variants and channels (e.g., VS Code Stable and Insiders) as separate entries
  • Graceful degradation — partial or corrupted installations are returned with a reduced confidence level rather than silently dropped
  • Extensible providers — register custom IDE providers without touching built-in detection logic
  • Zero dependencies — stdlib only (pathlib, shutil, platform, subprocess, dataclasses, enum)

Installation

Requires Python 3.11+.

pip install aidriven

Or with uv:

uv add aidriven

Usage

Discover installed IDEs

from aidriven.discovery import discover_ides

result = discover_ides()

for ide in result.detected_ides:
    print(ide.identifier, ide.display_name, ide.version, ide.confidence)

Each DetectedIDE entry contains:

Field Type Description
identifier str Normalized IDE key (e.g. vscode, cursor, kiro)
display_name str Human-readable name
install_path Path Path to the installation
version str | None Resolved version string, or None if unavailable
channel str Variant channel (e.g. stable, insiders)
confidence ConfidenceLevel HIGH, MEDIUM, or LOW
detected_platform str Platform the detection ran on

Register a custom provider

from aidriven.discovery import discover_ides, ProviderRegistry

registry = ProviderRegistry()
registry.register(MyCustomIDEProvider())

result = discover_ides(registry=registry)

Development

This project uses uv for dependency management.

# Install dependencies (including dev extras)
uv sync

# Run tests with coverage
uv run pytest

# Lint
uv run ruff check .

# Format check
uv run ruff format --check .

# Type check
uv run mypy src/

# Serve docs locally
uv run mkdocs serve

Contributing

  1. Fork the repository and create a feature branch.
  2. Install dev dependencies and set up pre-commit hooks:
uv sync
uv tool install pre-commit
pre-commit install
  1. Make your changes, add tests, and ensure all checks pass:
pre-commit run --all-files
uv run pytest
  1. Open a pull request against main.

Bug reports and feature requests are welcome via GitHub Issues.


License

MIT — see LICENSE.

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

aidriven-0.2.0.tar.gz (342.7 kB view details)

Uploaded Source

Built Distribution

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

aidriven-0.2.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file aidriven-0.2.0.tar.gz.

File metadata

  • Download URL: aidriven-0.2.0.tar.gz
  • Upload date:
  • Size: 342.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aidriven-0.2.0.tar.gz
Algorithm Hash digest
SHA256 dd7f74a28aedfca10fd49738f6dbcf5eb43cb046974fb0c161e1f5420fb13c48
MD5 fdc915f5322bee3c4f530a636ecb037e
BLAKE2b-256 70b29bd8da8431db9aa919c4d29cd1af6c30a8385b3ef051bd562915c4036182

See more details on using hashes here.

Provenance

The following attestation bundles were made for aidriven-0.2.0.tar.gz:

Publisher: publish.yml on ThiagoPanini/aidriven

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

File details

Details for the file aidriven-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: aidriven-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aidriven-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e35952774b465eae92215121d1e144708b3cec9a835d4170620e421ff31231b4
MD5 45a22403f1072b50d0523d39b1d73405
BLAKE2b-256 069336f5b4791d21646e0cfadd572a971d053d34a90d24e1c6666646e169b0d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aidriven-0.2.0-py3-none-any.whl:

Publisher: publish.yml on ThiagoPanini/aidriven

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