feat(website): marketplace section (third nav volume) - #8
Conversation
f4f008d to
bef9d85
Compare
|
Follow-up hardening is now on this stacked PR, rebased onto the updated #7.
Verification: |
3c51096 to
f738f46
Compare
|
ACP compatibility is now reflected by commit |
de36ac0 to
a6559ba
Compare
- nav + sidebars: Plugin Marketplace between the user and developer manuals, zh root and /en/ - six handwritten page pairs: catalog shell with <MarketCatalog/>, installing & updating, trust & safety, submit, manifest spec, review checklist - scripts/generate-market.mjs (wired into the website build): pulls dist/catalog.json from the marketplace repo, fails on unknown schema versions, falls back to the bundled snapshot with a loud warning when unreachable; generates /market/p/<id>/ detail pages (zh + en, badges, frontend-support verdicts, install commands, sanitized README excerpts) plus the pruned catalog for the filter - MarketCatalog.vue: search + surface/source filters over badge cards - website-pages.yml: repository_dispatch(market-updated) + weekly safety-net schedule - cross-links: dsh/plugins heads to the market, publishing tails to submit, /plugin command reference to /market/ Co-Authored-By: Claude Code <noreply@anthropic.com>
a6559ba to
b78ac67
Compare
Acceptance completedThe marketplace website was reviewed from the dedicated PR preview and accepted together with the Exercised routes:
Merge preparation:
|
What
The「插件市场 / Marketplace」section on may-fly.dev, as the third nav volume between the user and developer manuals, consuming the plugin index published by Ephemeral-AI-Lab/dsh-plugins (marketplace PR: Ephemeral-AI-Lab/dsh-plugins#8).
/en/): 插件市场 · Marketplace, with static 市场/收录 groups — listing growth never touches this repo.<MarketCatalog/>), installing & updating (/plugin+ dsh CLI, npm/GitHub sources, restart semantics, allowBuilds), trust & safety (three tiers, verified semantics, "listing ≠ sandbox"), submit (PR flow + authorization evidence), manifest spec (field tables), review checklist.scripts/generate-market.mjswired into the websitebuildscript (runs in both the PR check and deploy): fetchesdist/catalog.json, fails on unknownschemaVersion, falls back to the bundled snapshot with a loud warning while the marketplace repository has not shippeddist/on main yet; generates/market/p/<id>/detail pages (zh + en: badges, frontend-support verdict table, copyable install command, sanitized README excerpt) and the pruned catalog JSON for the component.MarketCatalog.vue: client-side search (id/displayName/双语描述/tools/commands) + surface & source filters over badge cards.website-pages.yml:repository_dispatch: [market-updated](the marketplace repo'sindex-publishpings on rebuilds; set itsMARKET_NOTIFY_TOKENsecret to a PAT with mayfly access) + a weekly safety-net schedule./dsh/pluginsheads to the market,/plugins/publishingtails to submit, the/plugincommand rows now link/market/.Verification
pnpm --filter @ephemeral-ai/mayfly-website run buildgreen locally: 14 plugin detail pages × zh/en generated from the marketplace PR's catalog, zero dead links (README excerpts sanitized: HTML stripped at Vue-compile safety, relative repo links degraded to labels, paragraph-boundary truncation).Rollout
index-publishshipsdist/to its main./plugincommand).🤖 Generated with Claude Code