Skip to content

waypost

Browse and run every task in a repository — whatever mix of tools defines them, in one searchable catalog.

A repository of any size runs its work through several tools at once — a build graph, a justfile, package.json scripts, a Makefile — and each answers only for itself. waypost puts all of them in one searchable list, keyed by the call chain you would actually type, and — unlike anything a browser can do — lets you press Enter.

Terminal window
bun add -g @sksizer/waypost

That installs two binaries pointing at the same tool: way, the short one to type, and waypost, the full one for when something else on your PATH already answers to way.

Terminal window
way

opens the terminal UI. waypost needs Bun: the web view runs on Bun.serve, and a Node entry point would give you a terminal UI that works and a --serve that crashes.

The terminal UI

The waypost terminal UI showing a live-collected list of 1,593 tasks across cargo, just, make, moon and other runners, with the run keymap footer.

Every task in one searchable list. Type to filter, Enter runs the selected task and hands it this terminal, Ctrl+Y copies its command instead.

The terminal UI →

The web view

The waypost web view listing every task across cargo, just, make, moon and node-scripts, light themeThe waypost web view listing every task across cargo, just, make, moon and node-scripts, dark theme

way —serve opens a page with the same catalog: a collapsible tree by call chain, sticky group headers, and copy buttons on every row. It appears instantly from the last stored probe and re-probes behind you, saying which rows are which.

The web view →

  • moon
  • mise
  • just
  • package.json
  • make
  • cargo
  • sbt
  • python
  • composer
  • deno
  • turbo
  • maven
  • swiftpm
  • gradle
  • task
  • rake
  • compose
  • actions

Execution is opt-in: some of these can only be read by asking them to run (moon query tasks evaluates the repository’s own toolchain configuration), so only runners that can be read without running anything work by default. waypost defaults to being willing to run them, since you are usually standing in your own repository, but willingness is not permission: nothing runs until you have trusted the repository once, or passed --exec for a single run — see Trust & execution and Configuration.