Skip to content

Expose Allium as a local marketplace plugin#11

Merged
yavorpanayotov merged 2 commits into
juxt:masterfrom
yenda:codex-allium-local-plugin
Jun 19, 2026
Merged

Expose Allium as a local marketplace plugin#11
yavorpanayotov merged 2 commits into
juxt:masterfrom
yenda:codex-allium-local-plugin

Conversation

@yenda

@yenda yenda commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • vendor the Allium plugin package under plugins/allium
  • switch the marketplace Allium entry from a remote GitHub source to ./plugins/allium
  • include both Claude and Codex plugin manifests so Codex can discover and install allium@juxt-plugins

Verification

  • node -e "JSON.parse(require('fs').readFileSync('.claude-plugin/marketplace.json','utf8')); console.log('marketplace json ok')"
  • python3 /home/yenda/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py /home/yenda/claude-plugins/plugins/allium
  • CODEX_HOME=/tmp/claude-plugins-codex-home codex plugin marketplace add /home/yenda/claude-plugins --json
  • CODEX_HOME=/tmp/claude-plugins-codex-home codex plugin list --available --json
  • CODEX_HOME=/tmp/claude-plugins-codex-home codex plugin add allium@juxt-plugins --json

Notes

This is the marketplace half of the Codex install fix. The matching Allium repo PR adds the Codex-native manifest and README instructions.

@yavorpanayotov

Copy link
Copy Markdown
Collaborator

Reviewed alongside the repo-side PR (juxt/allium#41). The approach is sound: the marketplace already vendors several plugins as local ./plugins/X entries (chalk, chill, clojure-lsp, code-map), and since Codex discovers only local entries — not remote github sources — switching Allium to ./plugins/allium is the consistent fix. Vendoring both .claude-plugin/ and .codex-plugin/ manifests and flipping the marketplace entry all look right.

One thing to fix before merge — the vendored snapshot is already behind juxt/allium@main:

Re-vendoring from current main (or a fresh release tag) before merge would keep the Codex copy from lagging the Claude Code one.

Bigger picture — vendoring drift. A local copy needs re-syncing on every Allium release or it silently rots; this PR already demonstrates that. Worth adding a small guard so it can't: a script that copies the plugin payload from a pinned juxt/allium ref, plus a CI check that fails if plugins/allium differs from that ref. Happy to help wire it up.

Thanks for driving the Codex support — the structure here is the right shape.

@yavorpanayotov

Copy link
Copy Markdown
Collaborator

Follow-up: I opened #12, which adds scripts/sync-allium.sh + a CI drift check for the vendored copy.

Two things that help here:

  1. Re-vendoring this PR can just be scripts/sync-allium.sh (from Add a sync guard for the vendored Allium plugin #12) instead of a manual copy — it vendors plugins/allium from the pinned juxt/allium ref.
  2. The pin in Add a sync guard for the vendored Allium plugin #12 is juxt/allium@229ccd0 (current main), which already includes the lspServers + doc updates this PR's snapshot was missing, and the new .codex-plugin/plugin.json (just merged via Add Codex plugin manifest allium#41). So vendoring from that ref resolves the staleness and gives Codex its manifest in one shot.

Suggested order: re-vendor plugins/allium from 229ccd0 (or scripts/sync-allium.sh once #12 lands), then merge this + #12 together so the drift check goes green.

Refresh the vendored snapshot to current juxt/allium main: picks up the
lspServers block (juxt/allium#48), the external-API pattern (#46) and the
zero-argument contract signature docs (#49). 229ccd0 also carries the
.codex-plugin/plugin.json merged via #41, matching the ref pinned by the
sync guard (juxt#12).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@yavorpanayotov yavorpanayotov marked this pull request as ready for review June 19, 2026 14:49
@yavorpanayotov yavorpanayotov merged commit fa3fde8 into juxt:master Jun 19, 2026
yavorpanayotov added a commit that referenced this pull request Jun 19, 2026
Allium is developed in juxt/allium and vendored here under plugins/allium
so Codex (which only discovers local ./plugins/X marketplace entries) can
install it. A vendored copy drifts from upstream silently — the existing
remote-source entry was already several releases behind.

Add scripts/sync-allium.sh, which vendors (or, with --check, verifies)
plugins/allium against a juxt/allium ref pinned in scripts/allium-ref.txt,
plus a CI workflow that fails when the two drift. To ship a new Allium
release: bump allium-ref.txt, run the script, commit.

Depends on #11 (which introduces plugins/allium). Until
that lands the check no-ops; the pinned ref matches the snapshot #11 should
vendor.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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