ixt — Universal CLI Tool Isolator¶
One CLI for Python, Node, and binary tools — each in its own isolated env.
Zero third-party deps. Zero system pollution. One command, any ecosystem.
-
Day-one GitHub releases
Install a tool the day it ships its first GitHub release. No formula, registry entry, or plugin required.
-
No system runtime needed
ixt is pure Python stdlib.
uvandbunare bootstrapped on first use, so the host does not need Node, npm, or a package manager pre-installed.
Get started in 30 seconds¶
# 1. Install ixt from PyPI (package: ixt-cli)
uv tool install ixt-cli
# 2. Add ixt-managed shims to your PATH
ixt setup path
# 3. Install your first tool — any ecosystem
ixt tool install ruff # Python
ixt tool install @anthropic-ai/claude-code # Node
ixt tool install BurntSushi/ripgrep # GitHub binary
That's it. ixt setup path supports bash, zsh, fish, and PowerShell. Each tool lives in its own isolated env; run ixt environment to see the exact config, install, and cache paths for your platform.
Full installation guide CI usage
ixt has no telemetry and no background network activity. It contacts registries only for explicit commands that resolve, download, upgrade, or diagnose remote state.
Three ecosystems, one command¶
ixt auto-detects the backend from the package name — no flag, no config, no guessing.
Python tools from PyPI¶
Simple name → PyPI. ixt creates one isolated venv per tool with uv venv + uv pip install.
npm CLIs via bun¶
Scoped @scope/name → npm package. Uses bun for fast installs by default.
Binaries from GitHub Releases¶
owner/repo → GitHub Releases. Pure Python stdlib — no runtime, no compiler.
Declarative, repeatable setups¶
Snapshot your tools once, replay them everywhere — local, teammates, CI.
Exact repeatability comes from exact version pins; unpinned or ranged entries
are resolved when ixt tool apply runs.
Why ixt?¶
-
One tool, every ecosystem
Python linters, npm CLIs, Rust/Go/C binaries — all managed the same way, with the same commands.
-
Per-tool isolation
Each tool gets its own env. No dependency conflicts, ever. Uninstall is a clean
rm -rf. -
Zero configuration
The backend is auto-detected from the package name.
ixt tool install <anything>just works. -
Day-one releases
GitHub release available today, install available today. No formula, registry entry, or plugin gate.
-
Zero dependencies
Pure Python stdlib, zero PyPI packages.
uvandbuncan be bootstrapped when first needed, so the host does not need Node, npm, or a package manager pre-installed.
Where to next?¶
-
Getting started
Install ixt, verify the signature, add it to PATH, install your first tool.
-
Commands reference
Every
ixtcommand, every flag, with copy-paste examples. -
Configuration
ixt.tomlformat, version pinning, exposure rules, the mental model.
Coming from uvpipx?¶
ixt is the successor to uvpipx. Same core concepts (isolation, exposure, injection), generalized across three backends. Directory layout, metadata, and CLI all evolved — a migration script is provided.