Multi-runner task browser
State: open/verified · Kind: module · Audience: user
Summary
Section titled “Summary”waypostputs every task a repository can run — moon, just, package.json scripts, make, and cargo — into one searchable, runnable catalog, reached through a terminal UI, a live web view, and a scriptable CLI.- Built on
@sksizer/detect-runnersfor discovery; adds a trust-gated execution model, a probe cache for slow runners, and layered configuration on top.
Statement
Section titled “Statement”A repository of any size runs its work through several task tools at once, each of which only
answers for itself. waypost discovers tasks across every runner in a repository, keys them by the
call chain a developer would actually type, and lets a developer search and run any of them from a
single place — the way terminal UI, way --serve’s web view, or way query from a script.
Because discovering some runners (moon, mise) means executing their own configuration, waypost gates
execution behind a per-repository trust grant it asks for once and remembers, independent of the
allowExec willingness setting.
What it provides
Section titled “What it provides”- A terminal UI (
way): fuzzy/exact search, per-runner tabs, a services-only filter, and parameterized task launch spawned from an argument vector, never a shell. way query <terms>: the same search and ranking as a single command line per match, for scripts.way --serve: a live web view of the same catalog with search, copy buttons, and re-probe on refresh.- A trust-gated execution gate (
way trust) layered over@sksizer/sdlc-tool’spolicyExecGate, with per-repository consent that a repository cannot grant itself. - Layered configuration (
way config) and a probe cache (way clean) so slow runners don’t block the UI on first paint. way dev: run a checkout’s own source in place of the installed copy, via@sksizer/cli-tool/devlink.
Underlying implementation
Section titled “Underlying implementation”- packages/ts/waypost/src/cli.ts — argument parsing and subcommand dispatch
- packages/ts/waypost/src/tui.ts — the terminal UI
- packages/ts/waypost/src/serve.ts and src/web/ — the web view
- packages/ts/waypost/src/devlink.ts — checkout-over-install resolution
Locations
Section titled “Locations”packages/ts/waypost/src/packages/ts/waypost/bin/way.js