opi
Operations Interface — a project control center for your terminal.
Go into any repository, type opi, and get a usable interface for that
project — without configuring anything first.
Status:
0.0.1is a placeholder that reserves the crate name. The tool is not implemented yet. The first working release (0.1.0) will do one thing: make a project'spackage.jsonscripts immediately runnable.
What it will do
Its primary job is to be a better npm run. The start screen shows the
project's scripts — grouped by prefix, labelled from scripts-info, with the
package manager detected rather than typed:
casoon.dev pnpm
Scripts
─────────────────────────────────────────────────────────
Development
› dev Startet casoon.dev
dev:landings Startet die Produkt-Landingpages
Build
build Baut Website + Landingpages
build:landings Baut nur die Landingpages
Check
check Lint + Formatierung prüfen
check:fix Fehler automatisch beheben
─────────────────────────────────────────────────────────
U Updates C Clean S Secrets H Health
/ Search ? Help
Enter runs the highlighted script. That is the shortest path, and nothing is
placed in front of it — maintenance areas sit behind hotkeys.
Three speeds, all backed by the same task model:
Later releases add project health with parallel checks, dependency updates,
clean with real sizes, and secret scanning — each orchestrating an established
tool (tsc, ESLint, Biome, Vitest, Knip, No Secrets, pnpm audit, Taze) rather
than reimplementing it.
Design rules
- Zero configuration.
opimust be useful in an unmodified repository. A tool you have to configure first never gets started in someone else's project. package.jsonis the only interface. Noopi.toml, no second source of truth.scripts, optionallyscripts-info, optionally anopikey for refinement.- No task system of its own.
opidoes not define tasks with their own commands — that would put it in competition with npm scripts,just,makeand Taskfile for no gain. - Orchestration, not reimplementation.
opiis a UX layer over proven tooling.
Install
Documentation
- docs/project-state.md — what this is and where it stands
- docs/constraints.md — the boundaries the implementation respects
- docs/decisions.md — the decisions in force, and why
Terminal presentation comes from runemark, the shared presentation layer for these CLI tools.
Name
opi is unrelated to OdradekAI/opi, which
owns the opi-* crate namespace on crates.io. Installing both puts two opi
binaries in ~/.cargo/bin.
License
MIT (LICENSE).