Skip to content

feat: add Oh My Pi (omp) provider support - #457

Open
djdembeck wants to merge 1 commit into
pbakaus:mainfrom
djdembeck:feat/add-omp-provider
Open

feat: add Oh My Pi (omp) provider support#457
djdembeck wants to merge 1 commit into
pbakaus:mainfrom
djdembeck:feat/add-omp-provider

Conversation

@djdembeck

@djdembeck djdembeck commented Jul 30, 2026

Copy link
Copy Markdown

Summary

Add Oh My Pi (omp) as a supported provider in both the CLI install/update workflow and the build system transformer pipeline.

Motivation

omp already inherits skills from .claude, .cursor, .codex, etc. on first run, but adding direct support makes the Impeccable skill available to anyone with omp installed, regardless of other providers.

Changes

  • CLI (skills.mjs): Register .omp in provider directories, aliases, display names, input order, global skills path (~/.omp/agent/skills/), and harness detection.
  • Build system: Add omp provider config, transformOmp export, universal ZIP README entry, and PROVIDER_BLOCK_TAGS registration for future <omp> conditional blocks.
  • Placeholders: Map omp to AGENTS.md config file with standard ask/command behavior matching .pi.
  • Tests: Add transformOmp spy to build test assertions.

Notes

omp's skill layout mirrors Pi's (~/.omp/agent/skills/ for global, .omp/skills/ for project). No hook artifacts or agent files are needed — omp has no native hook lifecycle or sub-agent markdown format.


Note

Low Risk
Additive provider registration across CLI and build; no changes to auth, hooks, or existing provider behavior.

Overview
Adds Oh My Pi (omp) as a full provider alongside existing harnesses, so the CLI can install/update Impeccable into .omp without relying on omp inheriting from other providers.

CLI (skills.mjs) registers .omp in detection, aliases (omp, oh-my-pi), display name, and install order. Global skills follow Pi’s layout (~/.omp/agent/skills/); project installs use .omp/skills/. ~/.omp is included in global harness hints for target inference.

Build pipeline adds an omp entry in provider config (.omp, omp block tags, frontmatter like Pi), exports transformOmp, maps omp placeholders to AGENTS.md, and lists .omp/ in the universal bundle README.

Tests extend build orchestration mocks/assertions to include transformOmp. No hooks or agent artifacts for omp in this change.

Reviewed by Cursor Bugbot for commit 3621a68. Bugbot is set up for automated code reviews on this repo. Configure here.

Register .omp as a supported provider in both the CLI install/update
workflow and the build system transformer pipeline.

CLI (skills.mjs):
- Add .omp to PROVIDER_DIRS, ALIASES, DISPLAY, INPUT_ORDER
- Map .omp global skills to ~/.omp/agent/skills/
- Detect .omp in GLOBAL_HARNESS_HINTS

Build (providers.js, utils.js, index.js, build.js):
- Add omp provider config with frontmatter and placeholder support
- Add transformOmp named export
- Add omp to universal ZIP README
- Register 'omp' in PROVIDER_BLOCK_TAGS for future <omp> blocks
@djdembeck
djdembeck requested a review from pbakaus as a code owner July 30, 2026 18:05
Copilot AI review requested due to automatic review settings July 30, 2026 18:05

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3621a68. Configure here.

{ home: '.grok', provider: '.grok' },
{ home: '.kiro', provider: '.kiro' },
{ home: '.opencode', provider: '.opencode' },
{ home: '.omp', provider: '.omp' },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing omp hash path normalizer

Medium Severity

normalizeForHash still omits omp from its provider-path regex, even though omp was registered everywhere else. Installed skill content that embeds .omp/skills/ paths will not be normalized during update/check comparisons, so equivalent installs from different methods can look stale and trigger false update prompts or unnecessary rewrites.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3621a68. Configure here.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Oh My Pi (omp) as a first-class provider across the CLI skills install/update flow and the build/transformer pipeline, so Impeccable can be installed directly into .omp without relying on inherited providers.

Changes:

  • Registers .omp in the CLI provider detection/selection flow, including aliases, display name, install ordering, and global skills path override (~/.omp/agent/skills).
  • Adds omp to the build pipeline provider config and exports transformOmp, plus placeholder/block-tag registration for future <omp> conditional blocks.
  • Extends build orchestration tests to spy on and invoke transformOmp.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/build.test.js Adds transformOmp spy/call/expectations in build orchestration tests.
scripts/lib/utils.js Registers omp placeholders and enables omp as a recognized provider block tag.
scripts/lib/transformers/providers.js Adds omp provider config (.omp, tags, display name, frontmatter fields).
scripts/lib/transformers/index.js Exports transformOmp for test spying and direct transformer access.
scripts/build.js Lists .omp/ in the universal bundle README and relies on the provider registry for assembly.
cli/bin/commands/skills.mjs Adds .omp to provider dirs/aliases/display/input order, global skills path override, and harness inference hints.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@greptile-apps

greptile-apps Bot commented Jul 30, 2026

Copy link
Copy Markdown

Greptile Summary

Adds Oh My Pi support across provider detection, installation, transformation, and bundled skills. The provider registry now includes omp, but the primary README supported-provider list does not, so users cannot discover the new option from the documented list.

Confidence Score: 4/5

The change should not merge until the supported-provider documentation reflects the newly available Oh My Pi integration.

The focused consistency check reproduced a mismatch between the registered omp provider and the README provider list.

Files Needing Attention: README.md:127 needs the omp provider added to the supported-provider list.

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex produced a proof for a posted P2 finding about OMP provider consistency, including a focused consistency-check source and pre- and post-registration logs.
  • T-Rex produced a second finding-proof for a posted P2 finding.
  • T-Rex produced a general-contract-validation-proof that compares the OMP provider registration against the README and confirms before/after state, showing OMP was absent before the PR and present after but missing from the README, indicating a defect.

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments Outside Diff (2)

  1. README.md, line 127 (link)

    P2 Supported-provider list omits OMP

    The transformer registry now supports the omp provider, but the main supported-provider list does not include it. Users relying on this list cannot discover that Oh My Pi installation is available. Add omp alongside the other providers, preferably near pi.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Artifacts

    Focused OMP provider documentation consistency check source

    • The executable Node script reads the provider registry and README support list and compares their `omp` entries, providing the repeatable check.

    OMP consistency check before PR provider registration

    • The executed check against the parent provider registry found no `omp` registration and no README entry, establishing the matching pre-change baseline.

    OMP consistency check after PR provider registration

    • The executed check against the PR code found `omp` registration present but the README list absent, confirming the documentation mismatch.

    View artifacts

    T-Rex Ran code and verified through T-Rex

    Fix in Codex Fix in Claude Code

  2. General comment

    P2 README omits the newly registered omp provider

    • Bug
      • scripts/lib/transformers/providers.js:105-111 registers omp (.omp, displayed as Oh My Pi), while README.md:127 enumerates supported providers without omp. Users following the documented provider list cannot discover or select the new provider.
    • Cause
      • The PR adds the transformer provider registration without updating the main README's supported-provider example list.
    • Fix
      • Add omp to the provider list in README.md:127, preferably adjacent to pi (for example: opencode, pi, omp, qoder).

    T-Rex Ran code and verified through T-Rex

Fix All in Codex Fix All in Claude Code

Reviews (1): Last reviewed commit: "feat: add Oh My Pi (omp) provider suppor..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants