Use this skill when installing applications, packages, tools, or services on the system. Handles Python (uv), Node/JS/TS (bun), Docker containers, and GitHub-sourced installations with mise-managed tools and ecosystem integration patterns.
Comprehensive guide for installing applications, packages, and services following Jarad's ecosystem patterns and tool preferences.
Trigger this skill when:
Inspect Current Host:
# Check OS and architecture
uname -a
lsb_release -a
arch
# Check mise-managed tools
mise ls --current
# Check available databases/services
systemctl status postgresql redis neo4j qdrant
# Check Docker network
docker network ls | grep proxy
Key Information to Note:
proxy (system-wide Traefik network)*.delo.sh for servicesUse Official Channels:
Critical Questions:
Decision Tree:
Is it available in the mise registry?
├─ Yes? → mise install <package> #easy peasy done!
Is it Python-based?
├─ CLI tool → uv tool install
├─ Library → uv pip install -g
└─ Service → Docker or uv pip install -g
Is it Node/JS/TS-based?
├─ CLI tool → bun install -g or bunx (one-offs)
├─ Library → bun add
└─ Service → Docker or native bun
Is it containerized?
└─ Follow Docker/Containerized Workflow
Is it from GitHub?
└─ Clone to ~/code and apply appropriate install method
ALWAYS use uv as the package tool
uv and pythonsomeApp, not uv run someApp~/.local/binCLI Tools:
# Use uv tool install for CLI tools
uv tool install <package-name>
# Verify installation
which <tool-name>
<tool-name> --version
Example - Installing ruff:
# Install globally as CLI tool
uv tool install ruff
# Verify
ruff --version
Libraries/Packages:
# Use uv sync first if pyproject allows
uv sync
# Use global install instead of pip install
uv pip install -g <package-name>
# If docs say "pip install -r requirements.txt", translate to:
uv pip install -r requirements.txt
Services (Python-based):
For services like FastAPI apps, Agno agents, etc.:
# Clone to ~/code if from GitHub
cd ~/code
gh repo clone <repo-url>
cd <project-name>
# Install dependencies globally or in project
uv sync
# Or use project-specific environment
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
Replace these commands:
pip install → uv pip install -gpipx install → uv tool installpython -m venv → uv venv (if venv needed)Ensure mise manages Python and uv:
# Check current versions
mise ls --current
# Install/update if needed
mise use python@latest uv@latest -g
# Verify
which python
which uv
# Explicitly invoke
mise x -- uv --version
mise x [email protected] -- python --version
Prefer bun over npm
npx or bunx for one-off commandsCLI Tools:
# Global installation with bun
bun install -g <package-name>
# Verify
which <tool-name>
<tool-name> --version
Example - Installing typescript:
# Install globally
bun install -g typescript
# Verify
tsc --version
One-off Commands:
# Use bunx for one-time executions
bunx create-react-app my-app
bunx prettier --write .
Project Dependencies:
# For project-specific packages
cd ~/code/<project-name>
bun install
bun add <package-name>
Ensure mise manages bun/node:
# Install/update globally
mise use bun@latest -g
mise use node@latest -g
# Verify
which bun
which node
bun --version
node --version
Always clone into ~/code
# 1. Clone to standard location
cd ~/code
git clone <repo-url>
cd <project-name>
# 2. Initialize with iMi (optional, if it's a project you'll develop)
imi init
# 3. Apply appropriate installation method based on type
# - Python: uv pip install -g -r requirements.txt
# - Node: bun install
# - Rust: cargo install --path .
# - Go: go install
Example - Installing a Python CLI from GitHub:
cd ~/code
git clone https://github.com/user/awesome-tool
cd awesome-tool
# Install as tool
uv tool install .
# Or if it has requirements
uv pip install -g -r requirements.txt
uv pip install -g .
Ecosystem Integration:
proxy network for Traefik integrationCritical Modifications:
# docker-compose.yml