| id | 145 |
|---|---|
| title | Publish mdsmith via asdf and mise registry submissions |
| status | 🔳 |
| summary | Land the asdf-plugin repo (jeduden/asdf-mdsmith) and the jdx/mise registry entry that the multi-channel release pipeline already documents but cannot trigger from this repo. Spun out of plan/130 because both tasks ship outside this repo. |
| model | opus |
The release pipeline already attaches per-platform
binaries to every vX.Y.Z GitHub release. The
smoke-test job in
release.yml
verifies the binary works through
mise use -g ubi:jeduden/mdsmith@VER. The gap left
is that asdf install mdsmith and the bare
mise use mdsmith@latest form do not yet resolve.
Neither registry knows about us yet.
mise reads our GitHub releases directly. Its
github backend already resolves
mise use github:jeduden/mdsmith@VER. The asdf:
and go: backends work too. A registry entry only
adds the shorter, prefix-less mdsmith@VER form.
asdf is different. It needs a plugin repo that
knows how to list versions and fetch the binary.
Once that plugin repo exists, the
asdf-vm/asdf-plugins index lets users skip the URL
on asdf plugin add mdsmith.
- Create the
jeduden/asdf-mdsmithrepo with the standard plugin layout:
bin/list-allcallsgit ls-remote --tagson this repo, stripsrefs/tags/, drops the^{}deref entries, and removes the leadingvso the output is plainX.Y.Zas asdf expects. No GitHub token required; works through HTTPS git.bin/downloadcurl -fLs the matching release asset.bin/installverifies it againstchecksums.txtand places the binary asbin/mdsmith.bin/list-bin-pathsprintsbin.
-
Add a CI workflow on
jeduden/asdf-mdsmith. Runasdf install mdsmith latestand assert thatmdsmith versionmatches the resolved tag. -
After one successful release cycle, file a PR to
asdf-vm/asdf-plugins. The entry letsasdf plugin add mdsmithresolve without an explicit URL. See the Blockers section before filing — adoption is the current gate. -
File a PR to mise's curated registry at
jdx/mise. Each tool gets one TOML file underregistry/(the formermise-plugins/registryis archived). Addregistry/mdsmith.tomlwith a[tools.mdsmith]section on thegithub:jeduden/mdsmithbackend and atestfield (ubi:is rejected;aqua:only works if mdsmith is already in the Aqua registry; usegithub:). The PR body must make a popularity and maintenance case. On merge,mise use mdsmith@latestresolves without a backend prefix.Filed and rejected. See the Blockers section for details and the re-submission trigger.
-
Update docs/guides/install.md to drop the "pending follow-up" badge from the asdf and short-mise sections once each registry PR merges.
-
Update the release-workflow smoke-test matrix in release.yml to exercise
asdf install mdsmith X.Y.Zandmise use mdsmith@X.Y.Zalongsideubi:. Theasdfchannel must pass (users install day one via the explicit plugin URL). Themise-registrychannel is best-effort; it warns and exits 0 until the registry PR merges.
-
jeduden/asdf-mdsmithexists with the fourbin/scripts and a green CI workflow. -
asdf plugin add mdsmithresolves without an explicit URL after the asdf-plugins PR merges. -
asdf install mdsmith X.Y.Zthenmdsmith versionprintsmdsmith vX.Y.Z. -
mise use mdsmith@X.Y.Z(no backend prefix) resolves after thejdx/miseregistry PR merges, andmdsmith versionprintsmdsmith vX.Y.Z. - docs/guides/install.md no longer flags asdf or short-form mise as pending follow-ups.
- The smoke-test matrix in
release.yml
runs
asdf install mdsmithand baremise use mdsmith@VERchannels green on a tag. Theasdfchannel is required-green; the baremise-registrychannel is best-effort until the jdx/mise registry PR merges.
The remaining work is gated on two curated upstream registries, and neither will accept mdsmith at its current adoption level:
- mise (Task 4):
jdx/mise#10320
was filed with the correct
registry/mdsmith.tomland closed unmerged on 2026-06-11 — 7 stars is below the registry's bar for new tools. The baremise use mdsmith@VERform cannot resolve until a re-submission is accepted. - asdf (Task 3): the one-successful-release-cycle
precondition is now met — the pipeline has shipped
through
v0.51.0(2026-06-20) — so the only remaining gate is adoption. No PR toasdf-vm/asdf-pluginshas been filed; that index has comparable curation expectations, so a submission now would meet the same popularity objection that closed the mise PR. Theplugins/mdsmithindex entry does not exist. - Docs (Task 5): because neither registry PR has
merged,
docs/guides/install.md
must keep flagging the bare
asdf plugin add mdsmithand baremise use mdsmith@VERforms as not-yet- resolving. The current "needs a registry entry" notes are accurate and stay until a PR lands.
In-repo work is done: the jeduden/asdf-mdsmith
plugin, its CI, and the release.yml smoke-test matrix.
The plan stays open until adoption clears the
registries' bar.
Review 2026-06-21. No in-repo actions remain. Specific verifications:
release.ymlsmoke-test matrix: theasdfchannel install script exits non-zero on failure; themise-registrychannel emits::warning::, setsskipped=truein$GITHUB_OUTPUT, then exits 0 (soft-skip, not gating).RequiredSmokeChannelsininternal/release/releasesmoke.go:{"asdf", "go", "mise", "npm", "pip"}— includes"asdf"and the explicit-URL"mise"form; excludes the bare"mise-registry"form.docs/guides/install.md: "neither registry entry exists yet" note just below the channel-comparison table, and per-section notes warning that bareasdf plugin add mdsmithand baremise use mdsmith@VERdo not yet resolve.- The
asdfandmiserelease-channel docs: their full frontmatter feedswebsite/data/channels.yamlviamdsmith-release sync-channels; both docs carry "needs a registry entry" for the bare forms.
Plan stays open until registry adoption clears.