Contributing¶
Thanks for helping improve omo. Short path from clone → useful PR.
Development setup¶
git clone https://github.com/hatembentayeb/omo.git
cd omo
# Go 1.25+ required (see go.mod)
make all # host + plugins → ~/.omo/plugins
./omo # or: go run ./cmd/omo
Local stacks¶
The Makefile still lists make dev-setup / make dev-seed, but the dev/ tree is not in the current repo. Use the playground instead:
cd ~/Work/omo-playground # https://github.com/hatembentayeb/omo-playground
make setup
cd ~/Work/omo && make all && omo
See Playground.
Before you open a PR¶
-
go mod tidy -
go vet ./... - Host builds:
go build -o /tmp/omo ./cmd/omo - Touched plugins build:
go build -o /tmp/p ./plugins/<name>/cmd/<name> - Or simply
make allif you changed shared packages
CI: .github/workflows/ci.yml.
Project map¶
| Path | Role |
|---|---|
cmd/omo |
Host binary + omo secrets |
internal/host |
TUI host, RPC wiring, package manager |
pkg/pluginrpc |
Plugin RPC contract |
pkg/secrets |
KeePass vault (+ bootstrap reference templates) |
pkg/ui |
Shared TUI primitives |
plugins/<name> |
Official plugins |
omo-playground (sibling repo) |
Local test stacks + KeePass seeds |
Adding or changing a plugin¶
See Writing a Plugin. Document KeePass fields to match *_config.go / Configure exactly.
Commit / PR style¶
- Focused commits and PRs (
feat/…,fix/…,docs/…) - Explain why; list how you tested
- Do not commit secrets, key files, or
~/.omostate
Docs contributions¶
This site lives in omo-website. KeePass schemas must match bootstrap_reference.go and plugin config comments.
Security¶
Private security advisory or email via oh-myops.com — do not file public issues with exploit details.
Code of conduct¶
Be kind, assume good intent, keep discussion technical.