Skip to main content

ndo

ndo is a CLI-first command runner: define short, named shell commands ("recipes") and run them by name, with arguments, from anywhere. It ships as a single static binary — no runtime, no interpreter, no config beyond plain TOML files.

Why ndo

  • Add recipes from the CLI. ndo add <name> "<command>" --param x — no need to hand-edit a config file just to add a one-liner.
  • Central + local recipes, layered. A global recipe set (~/.ndo/central.toml) holds shortcuts you want on every machine and every project; a per-project .ndo.toml holds project-specific ones. Same name in both → the local one silently wins, no runtime noise. See Precedence for the full rationale.
  • Natural positional arguments. ndo open ./file.txt binds ./file.txt straight to the recipe's declared parameter — no flag ceremony.
  • Named lookup tables for arguments (ndo var). Expand a short alias into a full value automatically — e.g. ndo o work → opens C:\Users\dev\projects — without any special syntax in the recipe itself.
  • Single static binary, cross-platform. Linux, macOS, and Windows, amd64 and arm64. No dependency on any other task runner.

Next: install ndo and run through the quickstart.