Skip to content

feat: streamline plugin setup and delegated releases - #3081

Merged
ascorbic merged 5 commits into
mainfrom
codex/repository-level-releases
Sep 12, 2026
Merged

feat: streamline plugin setup and delegated releases#3081
ascorbic merged 5 commits into
mainfrom
codex/repository-level-releases

Conversation

@ascorbic

Copy link
Copy Markdown
Collaborator

What does this PR do?

Streamlines plugin setup and delegated publishing around one repository-level GitHub Actions workflow.

  • emdash-plugin init now validates required ownership metadata, detects npm, pnpm, Yarn, or Bun, previews the resolved project, writes new projects atomically, and generates package scripts, AGENTS.md, and one canonical plugin-authoring skill shared with Codex and Claude.
  • emdash-plugin release setup writes one workflow at the Git repository root. <slug>@<version> tags select a unique package, while manual runs accept a package ID. The first unmatched scope is connected through GitHub OpenID Connect without an Actions secret; approved tag and branch scopes are reusable by signed package profiles from the same repository.
  • Existing package-scoped approvals remain package-scoped until the publisher explicitly confirms a repository connection. Adding a branch or tag scope extends the connection instead of replacing existing scopes.
  • The publisher dashboard now presents publishing status, repository connections, legacy package workflows, release actions, and account activity as a clearer task-oriented flow.
  • Public docs, technical specifications, READMEs, the creating-plugins skill, generated Action bundle, and changesets match the new flow.

Discussion: #1590

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs — a workflow extracts catalogs on merge to main.
  • I have added and reviewed the user-facing changeset (if this PR changes a published package)
  • New features link to an approved Discussion: RFC: Attested Automated Publishing #1590
  • I have included screenshots below if this PR changes the UI

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool: OpenAI Codex (GPT-5)

Screenshots / test output

Publisher dashboard showing a pending reusable GitHub repository connection

Verified locally:

  • root package build and typecheck;
  • release-service application and UI typechecks;
  • type-aware lint and formatting;
  • 456 plugin CLI tests, 499 release-service tests, and 15 release Action tests;
  • docs build and four Playwright journeys, including Arabic mobile RTL;
  • clean npm and pnpm generated projects through install, validation, typecheck, test, and build;
  • Codex and Claude skill aliases resolve to the canonical generated skill;
  • rebuilt release Action output and git diff --check.

Publisher dashboard showing a pending reusable GitHub repository connection

@changeset-bot

changeset-bot Bot commented Sep 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 559daa6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 20 packages
Name Type
@emdash-cms/plugin-cli Minor
@emdash-cms/registry-client Minor
@emdash-cms/perf-demo-site Patch
@emdash-cms/cache-demo-site Patch
@emdash-cms/do-demo-site Patch
@emdash-cms/do-solo-demo-site Patch
@emdash-cms/admin Patch
emdash Patch
@emdash-cms/release-action Patch
@emdash-cms/release-service Patch
@emdash-cms/cloudflare Patch
@emdash-cms/sandbox-workerd Patch
@emdash-cms/fixture-perf-site Patch
@emdash-cms/auth Patch
@emdash-cms/blocks Patch
create-emdash Patch
@emdash-cms/gutenberg-to-portable-text Patch
@emdash-cms/x402 Patch
@emdash-cms/auth-atproto Patch
@emdash-cms/plugin-embeds Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

Scope check

This PR changes 2,867 lines across 52 files. Large PRs are harder to review and more likely to be closed without review.

If this scope is intentional, no action needed. A maintainer will review it. If not, please consider splitting this into smaller PRs.

See CONTRIBUTING.md for contribution guidelines.

@github-actions github-actions Bot added the review/needs-review No maintainer or bot review yet label Sep 12, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 12, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://codex-repository-level-releases.try.emdashcms.com, https://codex-repository-level-releases-emdash-playground.emdash-cms.workers.dev (commit 3a378a9)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://89febae6.try.emdashcms.com, https://89febae6-emdash-playground.emdash-cms.workers.dev 3a378a9 2026-09-12T10:10:09.561Z Visit the dashboard ↗

@pkg-pr-new

pkg-pr-new Bot commented Sep 12, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@3081

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@3081

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@3081

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@3081

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@3081

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@3081

emdash

npm i https://pkg.pr.new/emdash@3081

create-emdash

npm i https://pkg.pr.new/create-emdash@3081

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@3081

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@3081

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@3081

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@3081

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@3081

@emdash-cms/registry-moderation

npm i https://pkg.pr.new/@emdash-cms/registry-moderation@3081

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@3081

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@3081

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@3081

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@3081

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@3081

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@3081

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@3081

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@3081

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@3081

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@3081

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@3081

commit: 3a378a9

@ascorbic ascorbic added the bot:review Trigger an emdashbot code review on this PR label Sep 12, 2026
@emdashbot emdashbot Bot removed the bot:review Trigger an emdashbot code review on this PR label Sep 12, 2026
@ascorbic ascorbic added the bot:review Trigger an emdashbot code review on this PR label Sep 12, 2026
@emdashbot emdashbot Bot removed the bot:review Trigger an emdashbot code review on this PR label Sep 12, 2026
@ascorbic
ascorbic added this pull request to stack #3085 September 12, 2026 11:37
@github-actions

Copy link
Copy Markdown
Contributor

Overlapping PRs

This PR modifies files that are also changed by other open PRs:

This may cause merge conflicts or duplicated work. A maintainer will coordinate.

@ascorbic
ascorbic merged commit da171b3 into main Sep 12, 2026
85 of 88 checks passed
@ascorbic
ascorbic deleted the codex/repository-level-releases branch September 12, 2026 17:25
@emdashbot emdashbot Bot mentioned this pull request Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant