Skip to content

Read private plugin preferences from an optional local overlay - #20

Merged
mosobande merged 2 commits into
orifrom
feat/private-overlay
Oct 15, 2026
Merged

mosobande merged 2 commits into
orifrom
feat/private-overlay

Conversation

@mosobande

@mosobande mosobande commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Why

This repository is public, but some teams prefer a workflow plugin that lives in a private repository. Naming that plugin here exposes it. Its preference now lives in a file on the user's machine, and the public base lists only public plugins.

What changes

  • steps/engine.py: load_yaml('plugins.yaml') merges ~/.agent-setup/overlay.yaml when it exists. Each overlay row's job must match a public row, and its other keys (today preferred) are merged in. An unknown job stops setup with its name. The existing preferred-plugin path is unchanged: the read-access check, the per-host install, optional packs, and the fallback to the public plugin.
  • base/plugins.yaml: the private preferred block is removed. The row keeps the public qp-skills plugin.
  • README, example and the instruction-ownership decision record now say "the workflow plugin". The README gains a short "Optional private overlay" section with a neutral example. Step 6 still runs the selected plugin's own setup skill.
  • Tests use neutral fixtures (example-org/workflow). New tests cover: no overlay installs public rows only; an overlay adds preferred and drives the install and fallback path; an unknown job fails with its name.

Proof

  • mise run check exits 0: ShellCheck; gitleaks (no leaks found); 52 unit tests OK.
  • A case-insensitive git grep for the private plugin's name and its skill names prints nothing.

Rollout

Machines that should keep the private plugin need the overlay file before their next setup run. Without it they fall back to qp-skills; nothing is uninstalled. Merge this after the overlay is published on the private side.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Olúwaṣèyí Ṣóbandé added 2 commits October 15, 2026 07:24
The old step named the private plugin's setup command; keep that step
without the name, and link the overlay section.
@mosobande mosobande added the enhancement New feature or request label Oct 15, 2026
@mosobande
mosobande marked this pull request as ready for review October 15, 2026 07:42
@mosobande
mosobande merged commit 6ac2aca into ori Oct 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant