A Claude-Code-only MCP server that bootstraps your dev environment from one prompt — install, wire, and verify CLI tools and other MCP servers from curated recipes, and see where every MCP server lives across your scopes.
Named after the Lusitanian goddess of boundaries and crossings — erbina is the threshold a tool crosses to become part of your environment. Sibling to ataegina (goddess of rebirth), which is also erbina's proof-of-concept recipe #1.
The recipe contract is the core idea. One server, eleven tools, and a curated set of 500+ recipes spanning
cli-tools, scope-wiringmcp-servers, andprofiles that bundle them (see the Recipe gallery). Each is one YAML file held to a conformance bar — schema + linter policy + a 100%-covered offline suite, plus a weekly job that actually installs it on macOS, Linux, and Windows — and adding one is the point.
Setting up a coding-agent environment is death by a thousand cuts: you install a CLI, hand-edit a config, add an MCP server — then find out it's in the wrong scope and isn't showing up. Claude Code spreads MCP config across up to four files in two apps, with no single place that knows what's installed where (anthropics/claude-code#27458, #8288, #5963).
erbina makes setup a thing an agent does for you, and proves worked:
- It's an MCP server, so an agent must drive it. There is no human entry point — run it by hand and you get nothing. Nobody mistakes it for a manual installer that "should just work."
- Recipes, not one-shot installs. Each entry is a contract:
detect → install → configure → verify. Idempotent by construction — it
detects what's already there and skips it, and success means the tool runs,
not that a line was written to a file. Recipes also compose (
requires:prerequisites,profiles that bundle a whole set) and cover the full lifecycle:update→ re-verify → rollback,uninstall, and adoctorhealth-check over everything erbina installed. - Scope-aware. It knows about Claude Code's
local/project/userscopes, wires MCP-server recipes into the right one, and audits all three so you finally have one place that answers "what's installed, and where?" - Proven, not just written. On top of the offline suite, a weekly (and on-demand) CI job bootstraps recipes for real against live package managers on macOS, Linux, and Windows — so a renamed brew formula, a dead URL, or a bad winget id is caught, not shipped.
erbina is a single Python file run by uv (it
declares its own dependencies inline — no venv to manage).
git clone https://github.com/noahhyden/erbina
# register it with Claude Code (use --scope user to make it available everywhere)
claude mcp add erbina --scope user -- uv run --script /absolute/path/to/erbina/server.pyThen, in Claude Code, just ask: "use erbina to set up ataegina" — the agent inspects the recipe, shows you exactly what it will run, then bootstraps and verifies it.
Requirements: uv and Claude Code, on macOS, Linux, or Windows. Plus whatever a
recipe's install method needs — typically brew on macOS, winget on Windows, or
a language toolchain (cargo / go / pipx) or curl fallback elsewhere. Every
method is guarded, so only one that actually exists on your machine ever runs.
In an interactive session claude mcp add … (above) handles the trust prompt for
you. A non-interactive claude -p run has no prompt to answer, so you load the
server with --mcp-config and pre-approve erbina's tools with --allowedTools
(their names are mcp__erbina__<tool>). Write an MCP config once:
// erbina.mcp.json
{ "mcpServers": { "erbina": {
"command": "uv",
"args": ["run", "--script", "/absolute/path/to/erbina/server.py"]
} } }# read-only: discover + inspect (nothing executes)
claude -p "use erbina to list recipes, then inspect ripgrep" \
--mcp-config erbina.mcp.json --strict-mcp-config \
--allowedTools mcp__erbina__list_recipes mcp__erbina__inspect_recipe
# install for real (add mcp__erbina__bootstrap to the allowlist)
claude -p "use erbina to bootstrap the modern-unix profile" \
--mcp-config erbina.mcp.json --strict-mcp-config \
--allowedTools mcp__erbina__bootstrap--strict-mcp-config makes the run use only the servers in that file, so it
never picks up your global config. Omit --allowedTools and a headless call
can't call any tool — that's the one thing new CI users trip on.
| Tool | What it does |
|---|---|
list_recipes |
List the curated recipes erbina can bootstrap — each with a category and search tags so you can tell at a glance what it's for. |
search_recipes |
Find a recipe by keyword and/or filter (category, kind) instead of scanning the whole list — ranked by relevance. E.g. "a JSON tool" or category="kubernetes". |
list_categories |
A domain map of the registry — every category with a recipe, how many, and example tools. See what erbina covers at a glance, then drill in with search_recipes(category=…). |
inspect_recipe |
Show exactly what bootstrapping a recipe would run — the consent surface. Nothing executes. |
bootstrap |
Run a recipe: detect → install → configure → verify, idempotently. dry_run=true returns the full plan without executing. |
check_updates |
Read-only report of whether installed tools have newer versions available, for recipes that declare a version: block. Pinned tools are flagged and excluded. |
update |
Upgrade an installed tool, then re-run verify as a safety net — on failure it rolls back (if the recipe supports it) or marks the tool broken. dry_run=true shows the command first. |
pin |
Pin (or unpin) a tool so automatic updates skip it. update refuses a pinned tool unless force=true. |
audit_scopes |
Read-only report of which MCP servers are configured in local / project / user scope, where each lives, and any name shadowed across scopes. |
find_dead_mcps |
Health-check every configured MCP server and flag the ones that fail to connect — stale/dead servers, annotated with the scope to remove them from. Read-only. |
remove_mcp |
Remove an MCP server by name (e.g. a dead one), auto-resolving its scope. dry_run=true shows the claude mcp remove command without running it. |
doctor |
Health-check the CLI tools erbina has installed (its state manifest): re-run each one's detect + verify and report healthy / missing / broken. Read-only; the CLI-tool counterpart to find_dead_mcps. |
uninstall |
Reverse a cli-tool install via the recipe's uninstall: block, confirm it's gone (re-run detect), and forget it in the state manifest. dry_run=true shows the command first. For MCP servers use remove_mcp. |
The server's instructions tell the agent to always inspect (or dry-run) and show you the commands before executing — erbina shells out to package managers with real privileges (it runs as a sibling process, not under Claude Code's Bash sandbox), so consent before execution is the safety model.
A recipe is four phases an agent executes. The proof-of-concept entry,
recipes/ataegina.yaml:
detect: { command: "ataegina --version", expect_exit: 0 } # skip install if present
install: # first guard to pass wins
methods:
- { id: homebrew, when: "command -v brew", run: "brew install noahhyden/tap/ataegina" }
- { id: curl, when: "command -v curl", run: "curl -fsSL .../install.sh | sh" }
configure: { steps: [ { run: "ataegina init --yes", needs_project_dir: true, optional: true } ] }
verify: [ { command: "ataegina --version", expect_exit: 0 } ]A kind: mcp-server recipe instead wires a server into a chosen scope — its
configure step is claude mcp add <name> --scope ${scope} -- …, where ${scope}
is substituted from the scope you pass to bootstrap. See
recipes/fetch.yaml. A kind: profile recipe installs
nothing itself — it just requires: a curated set, so one prompt bootstraps the
whole bundle.
Recipes can also declare optional blocks: requires: (prerequisites bootstrapped
first), version: + update: / rollback: (auto-updates, with latest: as a
command or the { github: owner/repo } shorthand), and uninstall: (teardown).
Because each install method's when: guard runs in the host shell, methods are
cross-platform — a winget method fires only on Windows, brew/cargo/curl
only where they apply. The full schema is in SCHEMA.md.
Warning
Windows support is limited and error-prone. macOS and Linux are the
first-class targets. Most winget package ids were resolved in bulk against the
winget catalog and are only spot-checked, so some may be wrong, out of date, or
resolve to a look-alike package — a winget install can fail or, worse, install
the wrong tool. The when: guard means a bad winget method fails cleanly rather
than breaking a POSIX bootstrap, but treat Windows as best-effort: verify what
got installed. Fixes are welcome.
A recipe can opt into update checks by declaring a version: block (an installed
current command and a latest source) and, optionally, update: / rollback:
methods. Then:
check_updatescompares installed vs latest (numeric/pre-release aware, viapackaging) and reports what's out of date — it never claims an update it can't parse, skips pinned tools, and for a{ github: … }source includes a release-notes link so you can review before applying.updateapplies the upgrade and re-runsverify; if verify fails it rolls back to the recorded previous version (when the recipe declares arollback:command) or marks the tool broken and returns a plan.- erbina records what it manages in a small state manifest (
~/.erbina/state.json) — versions, install method, and pins.
Checks are agent-driven; you can also enable an opt-in SessionStart hook or a
/schedule routine so the agent checks for you and asks before applying anything.
See AUTO_UPDATE.md for the design, the version:/update:/
rollback: schema, and the trigger setup.
The curated registry today — 500+ recipes. Each links to its YAML; cli-tools
install a binary, mcp-servers wire a server into a chosen Claude Code scope, and
profiles bundle several recipes. (This list is kept in sync with recipes/ by a
test. The bulk cli-tool entries are generated from scripts/recipe_data.py.)
CLI tools — the marquee set
ataegina— collision-free dev environments per git worktreebat— a cat clone with syntax highlighting and Git integrationbottom— a cross-platform graphical process/system monitordelta— a syntax-highlighting pager for git, diff, and grep outputdifftastic— a structural (syntax-aware) diff tooldust— a more intuitive version of dueza— a modern, maintained replacement for lsfd— a fast, friendly alternative to findgh— GitHub's official command-line toolhttpie— a human-friendly command-line HTTP clienthyperfine— a command-line benchmarking tooljq— command-line JSON processorlazygit— a simple terminal UI for git commandsprocs— a modern replacement for psripgrep— blazing-fast recursive searchsd— intuitive find & replace (a friendlier sed)tealdeer— a very fast tldr client (simplified man pages)tokei— count your code, quicklyuv— an extremely fast Python package and project manageryq— a portable command-line YAML/JSON/XML processorzoxide— a smarter cd command that learns your habits
CLI tools — the full registry (500+, bulk-curated, kept in sync with recipes/ by scripts/gen_recipes.py)
ack— a grep-like search tool optimized for source codeact— run your GitHub Actions locallyag— a code-searching tool similar to ack, but faster (ag)age— a simple, modern and secure encryption toolaichat— all-in-one LLM CLI toolalex— catch insensitive, inconsiderate writingali— generate HTTP load and plot the results in real-timeangle-grinder— slice and dice logs on the command line (agrind)ansible— a radically simple IT automation platformargocd— the CLI for Argo CD, declarative GitOps continuous delivery for Kubernetesaria2— a lightweight multi-protocol and multi-source download utility (aria2c)artillery— a modern load testing and smoke testing toolkitasciidoctor— a fast, open-source text processor for converting AsciiDoc contentasciinema— record and share terminal sessionsasdf— manage multiple runtime versions with a single CLI toolast-grep— a fast and polyglot tool for code structural search, lint and rewritingatmos— universal tool for DevOps and cloud automationatuin— magical shell historyautoconf— a tool for producing configure scripts for building softwareautojump— a faster way to navigate your filesystemautomake— a tool for automatically generating Makefile.in filesautopep8— automatically formats Python code to conform to the PEP 8 style guideaws-sam-cli— build and test serverless applications with the AWS Serverless Application Model (sam)aws-vault— a vault for securely storing and accessing AWS credentialsawscli— the AWS Command Line Interface (aws)axel— a light command-line download acceleratorazure-cli— the command-line tools for managing Azure resources (az)bacon— a background rust code checkerbandit— a tool designed to find common security issues in Python codebandwhich— terminal bandwidth utilization toolbash— the GNU Bourne-Again SHellbats— Bash Automated Testing Systembc— an arbitrary-precision calculator languagebeets— the music geek's media organizer (beet)biome— a performant toolchain for web projects: format, lint and moreblack— the uncompromising Python code formatterborg— deduplicating archiver with compression and encryptionbpython— a fancy interface to the Python interpreterbroot— a new way to see and navigate directory treesbrotli— a generic-purpose lossless compression algorithmbtop— a monitor of resourcesbuf— the best way to work with Protocol Buffersbuku— a powerful bookmark manager and mini web-taggerbun— an incredibly fast JavaScript runtime, bundler, transpiler and package managercaddy— fast and extensible multi-platform web server with automatic HTTPScalcurse— a text-based calendar and scheduling applicationcarthage— a simple, decentralized dependency manager for Cocoaccache— a fast C/C++ compiler cachecdk— define cloud infrastructure using familiar programming languages (cdk)chafa— image-to-text converter for terminal graphicscheat— create and view interactive cheatsheets on the command linecheckov— prevent cloud misconfigurations by scanning infrastructure as codechezmoi— manage your dotfiles across multiple diverse machines, securelychoose— a human-friendly and fast alternative to cut and (sometimes) awkclang-format— a tool to format C, C++, Objective-C and related codecloudflared— Cloudflare Tunnel clientcmake— a cross-platform family of tools designed to build, test and package softwarecocoapods— the dependency manager for Swift and Objective-C Cocoa projects (pod)code2prompt— a CLI tool to convert your codebase into a single LLM promptcodespell— fix common misspellings in text files and source codecolima— container runtimes on macOS (and Linux) with minimal setupcolordiff— a tool to colorize diff outputcommitizen— create committing rules, bump versions and generate changelogs (cz)commitlint— lint commit messages against your commit conventioncomposer— dependency manager for PHPconcurrently— run multiple commands concurrentlyconftest— write tests against structured configuration data using OPA/Regoconsul— service networking across any cloudcookiecutter— a command-line utility that creates projects from templatescosign— container signing, verification and storage in an OCI registrycpanminus— get, unpack, build and install modules from CPAN (cpanm)cppcheck— a static analysis tool for C/C++ codecrane— a tool for interacting with remote images and registriescroc— securely send files and folders from one computer to anothercrystal— a language for humans and computers, with Ruby-like syntax and native speedcspell— a spell checker for codecsvkit— a suite of command-line tools for converting to and working with CSV (csvlook)csvtk— a cross-platform, efficient and practical CSV/TSV toolkitctop— top-like interface for container metricscurl— a command-line tool for transferring data with URLsdasel— select, put and delete data from JSON, TOML, YAML, XML and CSVdatamash— a command-line program which performs basic numeric, textual and statistical operations on input textual datadatasette— an open source multi-tool for exploring and publishing datadbmate— a lightweight, framework-agnostic database migration tooldegit— straightforward project scaffoldingdelve— a debugger for the Go programming language (dlv)deno— a modern runtime for JavaScript and TypeScriptdevspace— a client-only developer tool for fast Kubernetes developmentdirenv— unclutter your .profile with per-directory environmentsdiskonaut— terminal disk space navigatordive— a tool for exploring a docker image and layer contentsdoctl— the official command-line interface for the DigitalOcean APIdoctoc— generates a table of contents for markdown filesdog— a command-line DNS clientdoggo— a modern command-line DNS client (like dig) written in Godos2unix— text file format converter between DOS/Mac and Unix line endingsdotenv-linter— a lightning-fast linter for .env filesdoxygen— the de facto standard tool for generating documentation from annotated C++ sourcesdprint— a pluggable and configurable code formatting platformdua— a tool to conveniently learn about disk usageduckdb— an in-process SQL OLAP database management systemduf— disk usage/free utility, a better df alternativedysk— a linux utility to get information on filesystems, like df but bettereksctl— the official CLI for Amazon EKSelixir— a dynamic, functional language for building scalable and maintainable applicationsesbuild— an extremely fast JavaScript bundler and minifiereslint— find and fix problems in your JavaScript codeeva— a simple calculator REPL, similar to bcexiftool— read, write and edit meta information in a wide variety of filesfastfetch— a fast, feature-rich system information toolfastlane— the easiest way to automate building and releasing iOS and Android appsfastmod— a fast partial replacement for the codemod toolfblog— a small command-line JSON log viewerfclones— an efficient duplicate file finder and removerfend— an arbitrary-precision unit-aware calculatorffmpeg— a complete solution to record, convert and stream audio and videoffuf— fast web fuzzer written in Gofirebase-tools— the Firebase command-line interface (firebase)fish— the friendly interactive shellflac— the reference implementation of the Free Lossless Audio Codecflake8— the modular source code checker for Pythonflatbuffers— a cross-platform serialization library for memory-efficient data (flatc)flyctl— the command-line interface for Fly.iofnm— fast and simple Node.js version managerfq— jq for binary formatsfreeze— generate images of code and terminal outputfswatch— a cross-platform file change monitor with multiple backendsfx— terminal JSON viewer and processorfzf— a command-line fuzzy findergallery-dl— download image galleries and collections from several image hosting sitesgawk— the GNU implementation of the AWK programming languagegcovr— generate code coverage reports with gcc/gcovgdu— a fast disk usage analyzer with a console interface written in Gogenact— a nonsense activity generatorghostscript— an interpreter for PostScript and PDF (gs)ghq— manage remote repository clonesgifski— the highest-quality GIF encoder based on pngquantgit-absorb— automatically absorb staged changes into your recent commitsgit-cliff— a highly customizable changelog generatorgit-filter-repo— quickly rewrite git repository historygit-lfs— git extension for versioning large filesgit-town— generic, high-level git workflow supportgitleaks— detect secrets in codegitlint— a git commit message linter written in Pythongitmoji— an interactive command-line tool for using emojis on commits (gitmoji)gitu— a TUI git client inspired by Magitgitui— blazing-fast terminal UI for gitglab— an open-source GitLab CLI toolglances— a cross-platform system monitoring toolgleam— a friendly language for building type-safe systems that scaleglow— render markdown on the CLI, with stylegnuplot— a portable command-line driven graphing utilitygoaccess— a real-time web log analyzer and interactive viewergobuster— directory/file, DNS and vhost busting toolgolangci-lint— fast linters runner for Gogopass— the slightly more awesome standard unix password manager for teamsgoreleaser— deliver Go binaries as fast and easily as possiblegpg-tui— a terminal user interface for GnuPGgping— ping, but with a graphgradle— an open-source build automation tool focused on flexibility and performancegraphviz— graph visualization software (dot)grex— generate regular expressions from user-provided examplesgron— make JSON greppablegrpcurl— like cURL, but for gRPCgrype— a vulnerability scanner for container images and filesystemsgum— a tool for glamorous shell scriptshadolint— a smarter Dockerfile linterhatch— a modern, extensible Python project managerhcloud— a command-line interface for Hetzner Cloudhelix— a post-modern modal text editorhelm— the Kubernetes package managerhelmfile— deploy Kubernetes Helm charts declarativelyhexyl— a command-line hex viewerhgrep— human-friendly grep with a rich displayhlint— a tool for suggesting possible improvements to Haskell codehostctl— a CLI tool to manage /etc/hosts with easehowdoi— instant coding answers via the command linehtmlhint— the static code analysis tool you need for your HTMLhtmlq— like jq, but for HTMLhtop— an interactive process viewerhttp-server— a simple, zero-configuration command-line HTTP serverhugo— the world's fastest framework for building websiteshurl— run and test HTTP requests with plain texthwatch— a modern alternative to the watch command that records execution resultsicdiff— improved colored diff, side-by-sideimagemagick— create, edit, compose or convert digital images (magick)infracost— cloud cost estimates for Terraform in pull requestsiperf3— a TCP, UDP and SCTP network bandwidth measurement toolipython— a powerful interactive Python shellisort— a Python utility to sort imports alphabetically and automaticallyjaq— a jq clone focused on correctness, speed and simplicityjbang— unleash the power of Java for scriptingjc— convert the output of many CLI tools and file types to JSONjekyll— a blog-aware static site generator in Rubyjenv— manage your Java environmentjless— a command-line JSON viewerjnv— an interactive JSON filter using jqjo— a small utility to create JSON objectsjoshuto— a ranger-like terminal file manager written in Rustjpegoptim— utility to optimize and compress JPEG filesjson-server— get a full fake REST API with zero coding in less than 30 secondsjulia— a high-level, high-performance dynamic language for technical computingjupytext— Jupyter notebooks as markdown documents, Julia, Python or R scriptsjust— a handy command runnerk3d— little helper to run k3s in Dockerk6— a modern load testing tool for engineering teamsk9s— Kubernetes CLI to manage your clusters in stylekalker— a scientific calculator that supports math-like syntaxkdash— a simple and fast dashboard for Kuberneteskhal— a standards-based CLI and terminal calendar programkind— Kubernetes IN Dockerkmon— Linux kernel manager and activity monitorko— build and deploy Go applications on Kuberneteskompose— go from Docker Compose to Kuberneteskondo— cleans dependencies and build artifacts from your projectskopia— a fast and secure open-source backup/restore toolktlint— an anti-bikeshedding Kotlin linter with built-in formatterkube-linter— a static analysis tool that checks Kubernetes YAML and Helm chartskubeconform— a fast Kubernetes manifest validation toolkubectl— the Kubernetes command-line toolkubectx— faster switching between Kubernetes contextskubescape— a Kubernetes security platform for scanning clusters, YAML files and Helm chartskubeseal— a CLI to encrypt secrets into SealedSecrets for Kuberneteskustomize— customization of Kubernetes YAML configurationslazydocker— a simple terminal UI for docker and docker-composelefthook— a fast and powerful git hooks managerlerna— a tool for managing JavaScript projects with multiple packageslighthouse— automated auditing, performance metrics and best practices for the weblitecli— a command-line client for SQLite with auto-completion and syntax highlightinglnav— the logfile navigatorlocalstack— a fully functional local cloud stack emulating AWSlocaltunnel— expose your localhost to the world (lt)locust— a modern load testing framework, define user behaviour with Python codelolcat— rainbows and unicorns in your terminallsd— the next-gen ls commandluarocks— the package manager for Lua moduleslz4— extremely fast lossless compression algorithmmacchina— a fast, minimal and customizable system information toolmagic-wormhole— get things from one computer to another, safelymarkdownlint-cli2— a fast, flexible, configuration-based command-line interface for linting markdownmask— a CLI task runner defined by a simple markdown filemaven— a build automation and project management tool for Java (mvn)mc— a modern replacement for ls, cp, mirror and more for object storage (mc)mcfly— an intelligent shell history searchmdbook— create book-like documentation from markdown filesmdcat— cat for markdownmediainfo— display technical and tag data for video and audio filesmeson— a fast and user-friendly build systemmicro— a modern and intuitive terminal-based text editormiller— like awk, sed, cut, join and sort for CSV, TSV and JSON (mlr)minikube— run Kubernetes locallyminiserve— a small, self-contained static file servermise— the front-end to your dev envmitmproxy— an interactive HTTPS proxy for intercepting, inspecting and modifying trafficmkcert— a simple tool for making locally-trusted development certificatesmkdocs— project documentation with markdownmkvtoolnix— tools to create, alter and inspect Matroska files (mkvmerge)mob— a fast way to switch between roles when doing remote mob programmingmods— AI on the command linemongosh— the MongoDB Shell, a modern command-line interface for MongoDBmosh— the mobile shell, a remote terminal application that supports roamingmprocs— run multiple commands in parallel with a TUImtr— a network diagnostic tool combining ping and traceroutemycli— a command line client for MySQL with auto-completion and syntax highlightingmypy— optional static typing for Pythonnano— a small, friendly text editor for the terminalnavi— an interactive cheatsheet tool for the CLInbdime— tools for diffing and merging of Jupyter notebooksncdu— NCurses disk usageneovim— hyperextensible Vim-based text editor (nvim)nerdctl— contaiNERD CTL, a Docker-compatible CLI for containerdnetlify— the command-line interface for Netlifynewman— a command-line collection runner for Postmannim— an efficient, expressive, elegant statically typed compiled languageninja— a small build system with a focus on speednmap— the network mapper, a utility for network discovery and security auditingnodemon— monitor for changes and automatically restart your node appnomad— an easy-to-use, flexible, and performant workload orchestratornox— flexible test automation with Pythonnpkill— easily find and remove old and heavy node_modules foldersnpm-check-updates— upgrade your package.json dependencies to the latest versions (ncu)nuclei— fast and customizable vulnerability scanner based on simple YAML templatesnumbat— a statically typed programming language for scientific computations with unitsnushell— a new type of shellocrmypdf— adds an OCR text layer to scanned PDF filesoctave— a high-level language primarily intended for numerical computationsoha— HTTP load generator with a realtime TUIollama— get up and running with large language models locallyonefetch— a git repository summary in your terminalopa— Open Policy Agent, general-purpose policy engineopam— the OCaml package manageropentofu— an open-source Terraform-compatible infrastructure as code tooloras— OCI registry as storageormolu— a formatter for Haskell source codeouch— painless compression and decompression on the command lineov— a feature-rich terminal pageroxipng— a multithreaded lossless PNG compression optimizerpa11y— your automated accessibility testing palpacker— build automated machine imagespandoc— a universal document converterpapermill— parameterize, execute and analyze Jupyter notebooksparallel— GNU parallel, a shell tool for executing jobs in parallelparcel— the zero-configuration build tool for the webpastel— a tool to generate, analyze, convert and manipulate colorspdm— a modern Python package and dependency manager supporting the latest PEP standardspgcli— a command line interface for Postgres with auto-completion and syntax highlightingpigz— a parallel implementation of gzip for modern multi-processor machinespip-audit— audit Python environments and dependency trees for known vulnerabilitiespipdeptree— display a dependency tree of installed Python packagespipenv— Python development workflow for humanspipx— install and run Python applications in isolated environmentspkg-config— a helper tool used when compiling applications and librariesplaywright— reliable end-to-end testing for modern web appspm2— a production process manager for Node.js applications with a built-in load balancerpngquant— a command-line utility to convert 24/32-bit PNGs to 8-bit paletted PNGspnpm— fast, disk space-efficient package managerpoetry— Python packaging and dependency management made easypopeye— a Kubernetes cluster resource sanitizerpre-commit— a framework for managing multi-language pre-commit hookspresenterm— markdown terminal slideshowsprettier— an opinionated code formatterprisma— next-generation Node.js and TypeScript ORMproselint— a linter for proseprotobuf— Protocol Buffers, Google's data interchange format (protoc)protolint— a pluggable linter and fixer to enforce Protocol Buffer style and conventionspspg— a unix pager optimized for psql and other tabular outputptpython— a better Python REPLpueue— a command-line task management tool for sequential and parallel executionpulumi— infrastructure as code in your favorite languagepv— pipe viewer, monitor the progress of data through a pipepyenv— simple Python version managementpyinstaller— bundles a Python application and all its dependencies into a single packagepylint— a static code analyser for Pythonpyright— a fast static type checker for Pythonqpdf— a command-line program that does structural, content-preserving transformations on PDF filesqsv— a blazing-fast CSV data-wrangling toolkitr— a free software environment for statistical computing and graphics (R)radon— various code metrics for Python coderanger— a VIM-inspired file manager for the consolerav1e— the fastest and safest AV1 encoderrbenv— manage your app's Ruby environmentrclone— rsync for cloud storageredis— an in-memory data store; ships theredis-cliclientrelease-it— automate versioning and package publishingrestic— fast, secure, efficient backup programrich-cli— a command-line toolbox for fancy output (rich)ripsecrets— a command-line tool to prevent committing secret keys into your source coderlwrap— a readline wrapper for any commandrnr— a command-line tool to batch-rename files and directoriesrollup— a module bundler for JavaScriptrsync— a fast, versatile, remote (and local) file-copying toolrubocop— a Ruby static code analyzer and formatter, based on the community style guideruby— a dynamic, open-source programming language with a focus on simplicity and productivityruff— an extremely fast Python linter and formatterrustic— fast, encrypted and deduplicated backups powered by Rustrustscan— the modern port scanners-tui— a terminal UI for monitoring your computer's CPU temperature, frequency, power and utilizations3cmd— command-line tool for managing Amazon S3 and compatible object storessass— the reference implementation of Sass, written in Dartsbcl— Steel Bank Common Lisp, a high-performance Common Lisp compilerscc— a fast and accurate code counter with complexity calculationssccache— shared compilation cachescmpuff— numeric shortcuts for common git commandsscrapy— a fast high-level web crawling and web scraping framework for Pythonsemantic-release— fully automated version management and package publishingsemgrep— lightweight static analysis for many languagesseqkit— a cross-platform and ultrafast toolkit for FASTA/Q file manipulationserie— a rich git commit graph in your terminalserve— static file serving and directory listingserverless— build and deploy serverless applications across cloud providersshellcheck— a static analysis tool for shell scriptsshellharden— a bash syntax highlighter that encourages good coding practicesshellspec— a full-featured BDD unit testing framework for POSIX shellsshfmt— a shell parser, formatter, and interpretersilicon— create beautiful images of your source codeskopeo— work with remote container images registriessops— simple and flexible tool for managing secretssox— the Swiss Army knife of sound processing programsspectral— a flexible JSON/YAML linter for OpenAPI, AsyncAPI and morespeedtest— command-line internet bandwidth tester (speedtest.net)speedtest-cli— command line interface for testing internet bandwidth using speedtest.netsphinx— a documentation generator (sphinx-build)sqlc— generate type-safe code from SQLsqlfluff— a modular SQL linter and auto-formatter with support for multiple dialectssqlite— a small, fast, self-contained SQL database engine (sqlite3)sqlite-utils— CLI tool and Python library for manipulating SQLite databasessshuttle— a transparent proxy server that works as a poor man's VPN over sshstack— the Haskell Tool Stack, a cross-platform build tool for Haskell projectsstarship— the minimal, blazing-fast, cross-shell promptstep— a zero-trust swiss-army knife for working with certificates and CAsstern— multi pod and container log tailing for Kubernetesstow— GNU Stow, a symlink farm managerstreamlink— a CLI utility that pipes video streams into a video playerstylelint— a mighty CSS linter that helps you avoid errors and enforce conventionsstylua— an opinionated Lua code formattersubfinder— fast passive subdomain enumeration toolsvgo— Node.js tool for optimizing SVG filessvu— semantic version utilswiftformat— a command-line tool and Xcode extension for formatting Swift codeswiftlint— a tool to enforce Swift style and conventionssyft— generate a software bill of materials from container images and filesystemssysteroid— a more powerful alternative to sysctltailscale— the easiest, most secure way to use WireGuard and 2FAtailwindcss— a utility-first CSS framework CLItaplo— a versatile, feature-rich TOML toolkittask— a task runner / build tool that aims to be simpler and easier to use than maketelevision— a cross-platform, fast and extensible fuzzy findertermshark— a terminal UI for tshark, inspired by Wiresharkterraform-docs— generate documentation from Terraform modulesterragrunt— a thin wrapper for Terraform for keeping configurations DRYterrascan— detect compliance and security violations across infrastructure as codetesseract— an optical character recognition (OCR) enginetextlint— the pluggable natural language linter for text and markdowntflint— a pluggable Terraform lintertfsec— security scanner for your Terraform codethefuck— magnificent app that corrects errors in previous console commandsthrift— the Apache Thrift compiler for scalable cross-language servicestig— text-mode interface for gittilt— local Kubernetes development with no stresstimg— a terminal image and video viewertmux— a terminal multiplexertmuxinator— create and manage complex tmux sessions easilytmuxp— a session manager for tmuxtopgrade— upgrade everything with one commandtox— a generic virtualenv management and test command line tooltree— a recursive directory listing commandtree-sitter— an incremental parsing system for programming toolstrippy— a network diagnostic tool (trip)trivy— a comprehensive and versatile security scannertrunk— build, bundle and ship your Rust WASM application to the webts-node— TypeScript execution and REPL for Node.jstsx— TypeScript execute: run TypeScript & ESM in Node.jstuc— cut with a lot of features (a hopefully better cut)twine— a utility for publishing Python packages on PyPItypescript— JavaScript with syntax for typestypos— source code spell checkertypst— a new markup-based typesetting system that is powerful and easy to learnugrep— ultra-fast grep with interactive query UIusql— a universal command-line interface for SQL databasesvale— a syntax-aware linter for prosevault— manage secrets and protect sensitive datavdirsyncer— synchronize calendars and addressbooks between servers and the local filesystemvector— a high-performance observability data pipelinevercel— the command-line interface for Vercelverdaccio— a lightweight private npm proxy registryverilator— the fastest Verilog/SystemVerilog simulatorvhs— your CLI home video recorderviddy— a modern watch command with time machine and pausevifm— a file manager with curses interface, providing Vi[m]-like environmentvim— the ubiquitous, highly configurable modal text editorvirtualenv— a tool to create isolated Python environmentsvisidata— a terminal interface for exploring and arranging tabular data (vd)viu— a terminal image viewer with native support for iTerm and Kittyvivid— a generator for LS_COLORS with support for multiple color themesvolta— the hassle-free JavaScript tool managervulture— find dead code in Python programswasm-pack— build, test and publish Rust-generated WebAssemblywasmer— the leading WebAssembly runtime supporting WASI and Emscriptenwasmtime— a fast and secure runtime for WebAssemblywatchexec— run commands when files changewatchman— a file watching service from Metawebpack— a static module bundler for modern JavaScript applicationswebsocat— netcat, curl and socat for WebSocketswget— the non-interactive network downloaderwireguard-tools— the wg command-line tools for WireGuard VPN (wg)wrangler— the command-line interface for building Cloudflare Workersxcodegen— a command-line tool that generates your Xcode project from a spec and your folder structurexh— a friendly and fast tool for sending HTTP requestsxonsh— a Python-powered shellxplr— a hackable, minimal, fast TUI file explorerxsv— a fast CSV command line toolkitxz— a general-purpose data compression tool with high compression ratioyadm— yet another dotfiles manageryamllint— a linter for YAML filesyapf— a formatter for Python files from Googleyarn— fast, reliable and secure dependency management for JavaScriptyazi— blazing-fast terminal file manageryt-dlp— a feature-rich command-line audio/video downloaderzellij— a terminal workspace and multiplexerzig— a general-purpose programming language and toolchain for maintaining robust softwarezola— a fast static site generator in a single binary with everything built-inzsh— the Z shell, an extended Bourne shell with many improvementszstd— Zstandard, a fast real-time compression algorithm
Profiles — bundle several recipes; bootstrap resolves them all
data— command-line data wrangling (jq, yq, dasel, duckdb, miller, csvkit, qsv)git-power— git power-tools (gh, lazygit, delta, difftastic, git-lfs, tig, git-cliff)kubernetes— Kubernetes toolkit (kubectl, helm, k9s, kustomize, stern, kubectx, kind, minikube)modern-unix— a curated set of modern CLI replacements (ripgrep, fd, bat, eza, dust, zoxide)node-dev— Node.js / JS toolchain (fnm, pnpm, bun, esbuild, biome, tsx)python-dev— Python toolchain (uv, ruff, black, mypy, poetry, pre-commit, ipython)security— security & supply-chain scanners (trivy, grype, syft, gitleaks, ripsecrets, semgrep)
MCP servers — wire a server into a chosen Claude Code scope
context7— up-to-date library docs & code examples in context (Upstash)everything— official MCP reference/test server exercising the full protocolfetch— official MCP server for retrieving web contentfilesystem— official MCP server for scoped local file accessgit— official MCP server for Git repository operationsmemory— official MCP server for a persistent knowledge graphplaywright-mcp— browser automation via Microsoft Playwrightsequentialthinking— official MCP server for structured step-by-step reasoningtime— official MCP server for time & timezone conversions
Drop a <id>.yaml in recipes/ following SCHEMA.md. kind: cli-tool installs a binary; kind: mcp-server additionally wires it into the
chosen Claude Code scope; kind: profile just bundles others via requires:.
Keep detect cheap and verify honest (prove it runs).
Not a package manager you run by hand (that's mcpm / brew / aqua), not a
discovery registry (that's Smithery), and not a way to "rebuild my laptop
deterministically" (use Nix / chezmoi / a Brewfile — an LLM-driven setup is the
wrong tool for reproducible provisioning). erbina's niche is the intersection:
agent-run, verify-on-install recipes that span CLI tools and MCP servers,
aware of Claude Code's scopes.
erbina runs as an ordinary sibling process of Claude Code — not inside its
Bash sandbox — so a recipe's commands execute with your real privileges. The
safety model is consent before execution: inspect_recipe and
bootstrap(dry_run=true) show you the exact commands first, and the server
instructs the agent to surface that plan before any real run. Only bootstrap
recipes you've read. See SECURITY.md for the full trust model and
how to report a vulnerability.
The most useful contribution is usually a new recipe — one YAML file in
recipes/. See CONTRIBUTING.md for the ground rules and how
to smoke-test with an in-memory FastMCP client, SCHEMA.md for the
recipe contract, and CHANGELOG.md for what's landed. By
participating you agree to the Code of Conduct.
MIT. See LICENSE.
