Immutable personal behavior for Oh My Pi. The flake exports one valid OMP plugin directory for Darwin and Linux.
This repository does not install OMP or write to ~/.omp/agent. The separate nix-darwin workstation repository pins this flake, adds the plugin to the default OMP wrapper, and owns language-server packages and activation.
| Path | Capability |
|---|---|
plugin/extensions/personal-commit.ts |
Structured commit, amend, and non-mutating preview tool |
plugin/skills/commit-policy/ |
Atomic checkpoint, Conventional Commit, and causal body guidance |
plugin/skills/research-evidence/ |
Computer-science search, paper acquisition, evidence reading, metadata, and BibTeX workflow |
plugin/skills/simplified-technical-english/ |
Audited ASD-STE100 Issue 9 relationships and software-writing adaptations |
plugin/rules/personal-policy.md |
Short personal routing and checkpoint deviations from OMP defaults |
plugin/lsp/lsp.json |
Markdown Oxide selection, Marksman disablement, and the Roslyn and Svelte overrides, in a scoped plugin root |
plugin/commands/, plugin/skills/openspec-*/ |
The generated OpenSpec workflow, loaded by every repository |
The plugin contains no credentials, providers, models, agents, service configuration, or mutable caches.
Beside the plugin, this flake exposes the check that every repository holding OpenSpec artifacts runs. It is not part of the payload.
| Output | Purpose |
|---|---|
lib.openspecCheck { pkgs, src } |
Validates a repository's OpenSpec artifacts strictly and rejects a change archived with unfinished tasks |
A consuming repository adds the input and references the output, and says nothing about which commands run or which CLI version validates:
inputs.fleet.url = "github:glockyco/omp-agent-setup";
checks.openspec = fleet.lib.openspecCheck { inherit pkgs; src = ./.; };Build the immutable directory:
nix build .#A host wrapper must load both plugin capabilities and the declared extension:
plugin="$(nix build .# --no-link --print-out-paths)"
omp --plugin-dir "$plugin" --extension "$plugin"The workstation wrapper supplies fixed store paths instead of evaluating the source checkout at runtime.
Enter the pinned shell and install JavaScript development dependencies:
nix develop --command bun install --frozen-lockfileRun the release gates:
nix develop --command bun run ci
nix flake checkCI runs the flake checks on Apple Silicon macOS and x86-64 Linux. The checks inspect package shape, load the extension in isolation, execute real Git hooks, verify paper-fetch fixtures, validate generated OpenSpec adapters and archived task completeness, and validate the 53-rule STE inventory.
Renovate owns JavaScript dependencies and GitHub Actions. A separate weekly workflow owns Nix flake inputs. Both create review-only pull requests; required Darwin and Linux checks must pass before merge. See the workstation dependency-update runbook for the cross-repository release and rollback procedure.
- Change the plugin and its observable tests together.
- Run
nix develop --command bun run ciandnix flake check. - Publish one reviewed repository revision.
- Update the
personal-omp-pluginlock innix-darwin. - Build and activate the workstation generation.
- Run a real wrapped OMP session before removing or changing an older generation.
OMP continues to own authentication, preferences, sessions, history, caches, logs, and databases under its writable state directory. Herdr continues to own its generated OMP integration.
The repository records the official Issue 9 PDF source and SHA-256, and all 53 working paraphrases were audited against that copy. The PDF and complete controlled dictionary are not committed.
The skill provides unofficial STE-based guidance. It does not make AI output compliant. A qualified writer must use the official standard and dictionary for a compliance decision.
MIT covers this repository's code and original text only. Third-party standards and source material retain their own rights.