Connect your agent to your Gmail, GitHub, Notion, and 39 more services in one command.
Clinic manages collections of agent-friendly CLI tools as unified, opinionated stacks. One command turns a bare terminal into a fully agent-capable workspace — tools installed, authenticated, and visible to your AI agent.
clinic init --stack founder
That installs gws, slack, notion, linear, gh, stripe, ngrok, and jq — then generates skill files so OpenClaw, Claude Code, Gemini CLI, and other AI agents know how to use them.
Why
Every week another company ships a CLI tool designed for AI agents. Google shipped gws. GitHub has gh. Stripe, Vercel, DigitalOcean, Fly.io — all have CLIs that AI coding agents invoke.
But setting up 5-10 CLI tools means:
- Installing from different package managers (brew, npm, apt)
- Authenticating each one separately
- Manually writing skill/config files so your agent knows they exist
- Keeping everything updated
- Repeating all of this on every new machine
Clinic handles all of it.
Quick Start
curl -fsSL https://getclinic.sh/install | shThen pick a stack and go:
clinic init --stack founder
Or add tools one at a time:
clinic add gh clinic add stripe
What It Does
Installs CLI tools
Clinic delegates to native package managers — Homebrew for Go/Rust tools, npm for Node tools, official install scripts as fallback. It doesn't host binaries or reinvent package management.
Authenticates them
clinic auth <tool> runs the tool's native auth flow. In headless environments (Docker, SSH, CI), it auto-detects and uses device-code flows — giving you a URL and code to complete auth on any device with a browser.
Generates agent skill files
After installation, Clinic writes Agent Skills standard SKILL.md files to:
~/.openclaw/skills/— OpenClaw~/.claude/skills/— Claude Code~/.agents/skills/— Agent Skills open standard (Gemini CLI, Codex CLI, etc.)
These tell your AI agent what tools are available, how to use them, and that they're authenticated. The agent can start using them immediately without any extra configuration.
Health checks
$ clinic doctor
Tool Version Auth Skill Status
──── ─────── ──── ───── ──────
gh 2.88.1 ✓ ok ✓ ✓ ok
stripe 1.25.0 ✗ no ✓ ⚠ auth needed
jq 1.8.1 n/a ✓ ✓ ok
Supported Tools & Stacks
Browse all available tools and curated stacks at getclinic.sh/tools.
Or from the CLI:
clinic list --all # See all available tools clinic stacks # See available stacks
Commands
clinic init [--stack <name>] Set up a workspace with a curated stack
clinic add <tool> Add a single tool
clinic remove <tool> Remove a tool from your workspace
clinic list [--all] List installed or available tools
clinic search <query> Search available tools by name, description, or category
clinic doctor Health check all tools
clinic auth <tool> Authenticate a tool
clinic auth --status Show auth status for all tools
clinic generate Regenerate skill files
clinic update [<tool>] Update lockfile versions
clinic upgrade [<tool>] Upgrade one or all installed tools via their package managers
clinic stacks Browse available stacks
clinic shellenv Print PATH setup for shell profile
clinic self-update Update clinic itself to the latest release
clinic nuke Uninstall all managed tools and remove all traces of Clinic
clinic version Print version
How It Works
Clinic is a single Go binary. It maintains a lockfile at ~/.clinic/clinic.json tracking what's installed and how. Tools are installed globally via their native package managers — Clinic orchestrates but doesn't own the installations.
Skill files are the same format everywhere — the Agent Skills open standard with YAML frontmatter. One SKILL.md works with OpenClaw, Claude Code, Gemini CLI, Codex CLI, and any other compliant agent.
Existing tools
If you already have a tool installed, clinic add detects it, skips installation, and generates the skill files. It works regardless of how the tool was originally installed.
Headless auth
In environments without a browser (Docker, SSH, CI), clinic auth auto-detects and uses device-code or no-localhost flows. You get a URL and code — open it on your phone or laptop to complete auth.
Development
# Build make build # Run tests in a Docker container (clean Linux environment) make test-build # Build the test container make test-shell # Interactive shell in a fresh container make test-smoke # Quick smoke test make test-run CMD="add jq" # Run a specific command
License
Apache 2.0