Skip to main content

Deterministic package-manager-style resolver for AI skills

Project description

Aptitude Resolver banner

Aptitude Resolver

PyPI GitHub Python uv MCP Typer

A deterministic, package-manager-style resolver for AI skills.


Install

Install the published package as a CLI tool:

uv tool install aptitude-resolver
aptitude --help

Run it without a persistent install:

uvx aptitude-resolver --help

The package installs these console commands:

  • aptitude
  • aptitude-resolver
  • aptitude-mcp

aptitude is the command most users should run.

For MCP hosts that should launch the published package without a persistent install, use:

uvx aptitude-resolver mcp

Configure Registry Access

Registry-backed commands use the public Aptitude registry by default. Provide a read token:

export APTITUDE_READ_TOKEN=your-read-token

Override the registry URL only for local development or self-hosted registries:

export APTITUDE_SERVER_BASE_URL=http://localhost:8000
export APTITUDE_READ_TOKEN=reader-token

aptitude policy show can still inspect local policy without contacting the registry.


Usage

Launch the install-first wizard:

aptitude

Install a skill by query:

aptitude install "Postman Primary Skill"
aptitude install "Postman Primary Skill" --agent codex --scope project

Search and inspect before installing:

uvx aptitude-resolver search "Documentation Writing"
uvx aptitude-resolver inspect "Documentation Writing"

Inspect effective local policy and config layers:

aptitude policy show

Replay an existing lockfile:

aptitude sync --lock aptitude.lock.json

Show the full command and flag surface:

aptitude manifest

MCP Server

Aptitude ships a local stdio MCP server for agents and MCP-compatible apps. The recommended MCP host configuration runs the published PyPI package locally through uvx:

{
  "mcpServers": {
    "aptitude": {
      "command": "uvx",
      "args": [
        "aptitude-resolver",
        "mcp"
      ],
      "env": {
        "APTITUDE_READ_TOKEN": "your-local-read-token"
      }
    }
  }
}

The MCP server process still runs locally. uvx only resolves the published package and starts its mcp command over stdio.

The MCP server exposes tools for search, inspect, resolve, policy inspection, install destination preview, install, and lock sync. Mutating install calls require explicit agents and scope; lock sync requires an explicit filesystem target.

If Aptitude is already installed as a persistent tool, MCP hosts can also use the direct executable:

{
  "mcpServers": {
    "aptitude": {
      "command": "aptitude-mcp",
      "args": [],
      "env": {
        "APTITUDE_READ_TOKEN": "your-local-read-token"
      }
    }
  }
}

Replace APTITUDE_READ_TOKEN with a token accepted by the target Aptitude Server.


What Works Today

  • discovery-backed query resolution
  • candidate version selection
  • recursive dependency graph resolution
  • policy filtering and graph governance
  • lockfile generation and replay
  • archive-based skill materialization from verified tar.zst artifacts
  • agent-ready exports for project, global, and custom skill roots
  • local config loading from aptitude.toml
  • CLI and MCP interfaces

Source

Source and contributor documentation live in the project repository:

https://github.com/aptitude-stack/resolver

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

aptitude_resolver-0.1.10.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

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

aptitude_resolver-0.1.10-py3-none-any.whl (143.4 kB view details)

Uploaded Python 3

File details

Details for the file aptitude_resolver-0.1.10.tar.gz.

File metadata

  • Download URL: aptitude_resolver-0.1.10.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aptitude_resolver-0.1.10.tar.gz
Algorithm Hash digest
SHA256 7ab6c0e1eb057b7a403b281af5dbf5ece908dca071d2217aa4b5c8000eeb2232
MD5 048f925a80f4065fe94a0c7ba91a58cc
BLAKE2b-256 63d2c68d75bd15fc69bb8e138b57bb5dfda183463b9882e9cb8e35c4f296b0d0

See more details on using hashes here.

File details

Details for the file aptitude_resolver-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: aptitude_resolver-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 143.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aptitude_resolver-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b3465c5b6ac2e534b18c1f4ad9089f7292bea317efe9ec1fef5c2a071fd6ac10
MD5 156f66aa26e5f955dd72615eb438f0ff
BLAKE2b-256 06df198ccca756594c2bdc01d982b1d8b99dd47b7b46e99d2999288c641e2342

See more details on using hashes here.

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