opiv0.11.0

CASOON Open Source

A control center for your repository.

opi turns a project's scripts into a keyboard-driven list — grouped, labelled, with the package manager detected — and puts health, security, updates and clean one key away. npm, pnpm, bun and Cargo, without configuring anything first.

curl -fsSL https://raw.githubusercontent.com/casoon/opi/main/install.sh | sh
cargo install opi
MITcrates.io 0.11.0Rust 1.85+macOS · Linux
opi listing a monorepo's scripts, switching groups, searching across all of them and running one
configuration files needed
0
ecosystems read: npm, pnpm, bun, Cargo
4
areas beside the scripts, one key or flag each
5
prebuilt targets for macOS and Linux
4

What it does

  1. Scripts first

    The start screen is the script list. Enter runs the highlighted entry, / filters across every group, and the script replaces the opi process — Ctrl-C reaches your dev server and its exit code reaches your shell.

  2. Orchestration, not reimplementation

    Health runs the tools the project already depends on — Biome, ESLint, tsc, astro check, Vitest, cargo — concurrently, and relays what they said. Output is parsed only where the format is documented.

  3. Your scripts keep their names

    health, clean and release are script names in real projects, so every built-in area is a flag or a hotkey, never a bare word.

  4. opi writes nothing

    Clean removes what you choose; updates are applied by the package manager, followed by the commit checks. No package.json and no lockfile is ever rewritten by opi itself.

Generated at build time

All examples →
opi  cargo
  7 entries · 3 groups

Development
  cargo run     Build and run the binary
Build
  cargo build   Build in release mode
  cargo check   Type-check without building
Quality
  cargo clippy  Lint with warnings denied
  cargo doc     Build and open the documentation
  cargo fmt     Format the source
  cargo test    Run the test suite

H Health   C Clean   S Security   U Updates

Captured from opi 0.11.0 on its own repository with site/captures/capture.sh, piped — the showcase has the other areas.

site/captures/list.txt

Quickstart

Install, change into a project, type opi. The full walkthrough lives in the documentation.

  1. Install the release binary with the install script, or build it with cargo install opi.
  2. Change into any directory of a project with a package.json or Cargo.toml.
  3. Run opi and pick a script — or name it: opi dev.
Usage
opi                   # navigate: ↓ ↓ Enter
opi                   # filter:   /dep ↵
opi dev               # direct, no interface
opi build --verbose   # arguments go to the script
opi blog/dev          # a workspace member's script
package.jsonOptional refinement
{
  "scripts": { "dev": "astro dev", "deploy": "wrangler deploy" },
  "scripts-info": { "dev": "Start development server" },
  "opi": {
    "scripts": {
      "dev":    { "favorite": true },
      "deploy": { "group": "Deployment", "confirm": true }
    }
  }
}