three shade
Back to work

Developer tools · Open source · 2025

Hoi

A YAML-driven command runner for engineering teams.

4,000+ installs via cargo · written in Rust

terminal
/home/projects/website.com
$
[--------------]0%
[--------------]0%
[--------------]0%
[--------------]0%
restore completedevelopment environment ready
▸ environment: localgit branch: develop

Overview

Hoi is a small command-line tool that turns team-specific workflows into memorable aliases. Drop a .hoi.yml in your repo and the commands your team actually runs (boot the containers, seed the database, roll a release) become one word each, with environment variables and multi-line chains handled for you.

Challenge

Every team ends up with the same problem: a growing pile of scripts, stale READMEs, and tribal knowledge about how to run locally. New hires learn it by pairing. Senior engineers learn it by guessing wrong once a month. Existing task runners either felt heavy (full build systems bolted onto a monorepo) or clumsy, a pile of shell functions nobody owns.

Approach

We wrote it in Rust, leaned into a single-file YAML contract, and kept the binary small and dependency-free at runtime. Recursive .hoi.yml lookup walks parent directories so monorepos and nested projects compose cleanly. A global file at $HOME/.hoi/.hoi.global.yml covers commands that cross projects. .env and .env.local are loaded with explicit precedence so secrets stay out of the yaml and out of git.

Outcome

Over 4,000 installs via cargo install hoi. Several releases shipped, no telemetry, no ads. Used daily by teams who would rather type `hoi up` than remember the exact docker-compose-and-npm incantation their project requires this week.

Stack

  • Rust
  • Cargo
  • YAML
  • Clap
  • Serde