feat: convert to composer-plugins pnpm+moon monorepo with Changesets and SDK upgrade train#8
Open
wittjosiah wants to merge 7 commits into
Open
feat: convert to composer-plugins pnpm+moon monorepo with Changesets and SDK upgrade train#8wittjosiah wants to merge 7 commits into
wittjosiah wants to merge 7 commits into
Conversation
- Plugin metadata now lives in dx.yml (package.plugins[0]); `#meta` is synthesized from it at build time by the composer vite plugin, typed via @dxos/app-framework/meta. Removes src/meta.ts; vite.config no longer passes meta. - Port source to the current @dxos API: echo schema (Type.makeObject + DXN, HiddenAnnotation, Type.InstanceType, Type.getTypename), Operation key as DXN + Ref output, composable/composableProps from @dxos/react-ui. - Pin effect to 3.21.3 to match @dxos/echo (dedupes the Schema type identity). - Add missing deps: @dxos/context, @storybook/react-vite. NOTE: @dxos/* deps pinned to pkg.pr.new build 9586e449a7 for out-of-band end-to-end validation; re-pin to a released main build before landing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Track the latest pkg.pr.new build in lockstep (echo-db -> echo-client) and align affected imports. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…and SDK upgrade-train workflows - restructure: packages/* workspace (excalidraw → packages/excalidraw); root package.json, tsconfig.base.json, pnpm-workspace.yaml with catalogs.dxos named catalog (all @dxos/* pinned in lockstep via catalog:dxos) - toolchain: .prototools pins node/pnpm/moon/proto matching dxos monorepo conventions; .moon/workspace.yml, toolchains.yml, tasks/node.yml (shared typecheck/build/dev/preview tasks) - changesets: independent mode (.changeset/config.json); scripts/changeset-all.mjs for coordinated SDK-bump releases; scripts/set-sdk.mjs to rewrite the dxos catalog - workflows: ci.yml (moonrepo/setup-toolchain + moon run :build); sdk-nightly.yml (nightly pkg.pr.new upgrade PR); sdk-npm-release.yml (dispatch → pin npm version + release-together PR); release.yml (push to release branch → Changesets version + dx registry publish, guarded against pkg.pr.new pins) - docs: RELEASING.md (full SDK upgrade-train and release process); AGENTS.md (canonical agent guide ported from dxos CLAUDE.md); CLAUDE.md symlink → AGENTS.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Picks up Config2 schema changes: PluginMeta icon/screenshot shapes are
now object-only ({key, hue?} and {light?, dark?}).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the dx.yml-driven virtual #meta approach with Config2: - dx.config.ts: defineConfig with icon/screenshot as object shapes - src/meta.ts: Plugin.getMetaFromConfig(config) — real source module - package.json: add `source` condition to #meta imports entry - tsconfig.json: add #meta → src/meta.ts path mapping - .moon/tasks/node.yml: swap dx.yml input for dx.config.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…/Plugin.Meta - dx.config.ts: defineConfig → Config2.make, plugin.id → plugin.key, publish.outdir → outputDirectory - migrate meta.id → meta.profile.key across source (Plugin.Meta unification) - react-surface: replace custom predicate + role array with AppSurface.oneOf(AppSurface.object(...)) (typed role tokens) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
packages/*workspace; excalidraw plugin moved topackages/excalidraw/; rootpackage.json,tsconfig.base.jsoncatalogs.dxosnamed catalog: all@dxos/*pinned in lockstep viacatalog:dxosinpnpm-workspace.yaml;scripts/set-sdk.mjsrewrites the whole catalog in one command.prototoolspins node/pnpm/moon/proto matching the dxos monorepo;.moon/withworkspace.yml,toolchains.yml,tasks/node.yml(sharedtypecheck/build/dev/previewtasks).changeset/config.json;scripts/changeset-all.mjsfor coordinated SDK-bump releases; write changeset files directly (deterministic, no interactive TUI)ci.yml—moonrepo/setup-toolchain+moon run :buildon PR/pushsdk-nightly.yml— nightly: resolve latest dxos main SHA,set-sdk.mjs pkg-pr-new, open/update SDK upgrade PRsdk-npm-release.yml— manual dispatch: pin catalog to npm version + release-together changeset → PRrelease.yml— push toreleasebranch → Changesets version +dx registry publishper plugin; guarded againstpkg.pr.newpinsRELEASING.md(full operational process + SDK upgrade-train);AGENTS.md(canonical agent guide ported from dxos CLAUDE.md);CLAUDE.md→AGENTS.mdsymlinkTest plan
proto installthenpnpm install— lockfile resolvescatalog:dxoscorrectlymoon run :build— typecheck + vite build + manifest all passmoon run excalidraw:dev— dev server startsnode scripts/set-sdk.mjs npm 0.9.0— rewritespnpm-workspace.yamldxos catalog,pnpm installresolves new versions🤖 Generated with Claude Code