Repository navigation
Description
Summary
Track the repo migration from the current staged -> main publish model to a model where:
mainis the long-term human-authored default/source branchmarketplaceis the long-term published/materialized branch that tools resolve
This should happen in two phases. In the initial phase, the repo should continue operating exactly as it does today for contributors, while also publishing to marketplace. In the later phase, contributor flow moves from staged to main and the legacy publish-only role of main is removed.
Problem
Today contributors are expected to branch from staged and open PRs against staged, while automation materializes plugin content and force-pushes that output to main.
Because GitHub presents main as the default branch, contributors often branch from or target main by mistake. Since main contains materialized plugin content, those PRs become noisy and difficult to review.
The goal is to preserve compatibility for existing clients in the short term, while moving toward a cleaner long-term model where contributors work against main and tools consume published artifacts from marketplace.
Current State
publish.ymlpublishes on push tostaged, materializes plugin files, and force-pushes tomain- PR-target enforcement rejects PRs against
mainand directs contributors tostaged - Most PR validation workflows are scoped to
staged - Generated install URLs currently assume published artifacts live on
main - GitHub Pages deploys from workflow-built artifacts; it does not commit generated files back into the repo
Proposed Rollout
Phase 1: Add marketplace without changing contributor flow
Keep the repo operating "as normal":
- contributors still branch from and target
staged mainremains the legacy published branch for older clients- automation also publishes the materialized output to
marketplace
Work in this phase:
- Parameterize source/published refs in publish automation and scripts
- Keep the existing
staged -> mainpublish behavior intact - Update tool-facing published refs so new consumers can resolve
marketplace - Split links into:
- source-content links that can stay on the source/default branch
- published-artifact links that must resolve from
marketplace
- Decide whether GitHub Pages continues deploying from the legacy
mainpublication in Phase 1 or switches earlier - Verify generated outputs are correct in both
mainandmarketplaceduring the compatibility window - Update GitHub Copilot CLI to resolve this marketplace from
marketplace - Update VS Code tooling/integration to resolve this marketplace from
marketplace - Update Visual Studio tooling/integration to resolve this marketplace from
marketplace - Coordinate the rollout/release window for those tooling changes so Phase 2 has a clear dependency gate
Phase 2: Move contributor flow from staged to main
After the client transition window:
- Make
mainthe human-authored source/default branch - Retarget PR validation workflows from
stagedtomain - Remove or invert automation that warns against PRs targeting
main - Update contributor docs, templates, and remediation text to direct PRs to
main - Retarget website-related validation and deployment orchestration to the final
mainsource-branch flow - Remove the legacy
staged -> mainpublish path - Keep
marketplaceas the only published/materialized branch tools should resolve
Repo Areas Likely To Change
.github/workflows/publish.yml.github/workflows/check-pr-target.yml- PR validation workflows currently scoped to
staged .github/workflows/build-website.yml.github/workflows/deploy-website.yml.github/pull_request_template.mdCONTRIBUTING.mdAGENTS.mdeng/materialize-plugins.mjseng/constants.mjseng/update-readme.mjs- Generated or contributor-facing docs that encode the old branch contract
Notes / Risks
- Phase 1 should minimize contributor disruption by keeping the existing repo workflow intact
- Not all links need to move; top-level source files and docs can continue to resolve from the source/default branch
- The critical link changes are marketplace metadata and any path that expects materialized plugin contents
- If tool-facing published refs keep pointing at
main, clients may continue consuming the legacy branch instead ofmarketplace - GitHub Pages is mainly a deployment-trigger/orchestration question, not a generated-files-written-back-to-git problem
- The CLI, VS Code, and Visual Studio changes are cross-repo dependencies and should be tracked here as rollout prerequisites even if implementation happens elsewhere
Acceptance Criteria
- Phase 1 can publish materialized output to both
mainandmarketplacewithout changing contributor flow - New tool-facing published refs can resolve from
marketplace - CLI has shipped support for resolving this marketplace from
marketplace - VS Code has shipped support for resolving this marketplace from
marketplace - Visual Studio has shipped support for resolving this marketplace from
marketplace - Phase 2 cleanly moves contributor flow to
main - The final steady state is
mainfor source content andmarketplacefor published/materialized content
Activity
utkarsh232005 commentedon Apr 17, 2026
after finishing Phase 2 (deleting the automated data from main) before these external tools are updated and released, those tools will break immediately because they will find human source code where they expect machine-readable plugin files.
aaronpowell commentedon Apr 19, 2026
There will be a period of time between phase 1 and phase 2 where tooling updates are rolled out and used, with the expectation that people are updating (most of these tools are auto-updating anyway). After a period of time, likely a few weeks, phase 2 will be undertaken. This minimises the risk of breakages in tooling.
utkarsh232005 commentedon Apr 20, 2026
@aaronpowell
Could you clarify the expected PR cadence for these phases? Specifically:
Should each bullet point in the task list be handled in its own PR, or are you looking for one consolidated PR per phase?
Also, confirming that Phase 1 requires no changes to how contributors currently interact with the staged branch
marketplaceas a second published/materialized branch #1568aaronpowell commentedon Jun 25, 2026
Phase 2 complete. main is now the contributor branch, marketplace is the published artifact branch, staged is retired. Publish confirmed working, tooling confirmed on marketplace.