A collection of oh-my-pi (omp) plugins.
Each subdirectory is a self-contained plugin published as its own npm package;
this repo is the shared source of truth (a monorepo). Plugins are extension
modules — installed via omp plugin install, not the marketplace (marketplace
installs do not load package.json omp.extensions).
| Plugin | Package | Install | What it does |
|---|---|---|---|
enforce-uv/ |
omp-enforce-uv |
omp plugin install omp-enforce-uv |
Blocks pip/pipx misuse and steers toward uv / uvx |
omp-plugins/
<plugin>/
package.json # name, version, omp.extensions manifest, repository.directory
index.ts # extension entry (ExtensionAPI factory)
… # supporting modules, tests
README.md # per-plugin docs
README.md # this file
Each package sets repository.directory to its own folder so npm links back to
the right subdirectory of this monorepo.
Plugins are plain TypeScript loaded by omp's Bun runtime — no build step.
cd <plugin>
bun test # run the plugin's suite
bun build ./index.ts --target=node > /dev/null # transpile check
omp --extension . # load once for a live smoke testFor iterative work, link it so edits go live without reinstalling:
omp plugin link ./<plugin>Each plugin publishes independently to npm:
cd <plugin>
npm version patch # or minor/major — npm versions are immutable
npm publish --access publicThen commit and push the repo. Users update with
omp plugin install <package>@latest.
MIT — see each plugin's LICENSE.