refactor(www): move the marketing and design sites to the host build - #123
Merged
Merged
Conversation
The landing page and the design-system site are cloud-company surfaces
rather than open-core product surface, so they move to the host repository
and this app keeps only what a self-hosted deployment needs.
- `/` now hands off to the studio. The route shell stays here because a
host cannot add a second `/` route without colliding with this one;
instead `_marketing/index.tsx` renders `features/www/marketing-home-slot`,
which hosts replace the same way as the other extension points.
- `features/www/landing` and the whole `features/design` + `routes/design`
tree move out. `hero-shader` stays as `components/hero-shader` because
the auth pages use it, and `lib/waitlist` / `lib/paths` stay because the
studio and auth flows depend on them.
- `source.config.ts` keeps only the product-docs collection. A host that
adds documentation surfaces replaces this config wholesale, since two
`mdx()` instances would clobber each other's `.source` output.
- Drop `features/www/{button,logo,refraction-stripes,section,navbar,hero}`
and the `voidhash-gradient-*` cluster, which were reachable only from the
unreferenced `hero/hero.tsx` that this change removes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Too many files changed for review (162 files, 100 file limit). Bypass the limit by tagging |
|
Thank you for following the naming conventions for pull request titles! 🙏 |
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.
Stacked on
feat/platform-independence(the branch this submodule is currently pinned to), not onoss.The landing page and the design-system site are cloud-company surfaces rather than open-core product surface, so they move to the host repository.
/docsstays here — self-hosters want bundled product docs. Companion PR invoidhash-monoadds the moved code.What leaves this repo
features/www/landing/(sections, paywall-build animation, asteroids easter egg, agent icons,marketing-nav-config).features/design/(components + 174 MDX content files) androutes/design/. The stale duplicatefeatures/design/source.config.tsis dropped; the live config isfeatures/source.config.ts, which is what Vite loads.What stays, and why
routes/_marketing/{route,index}.tsxremain as a ~10-line shell. They have to: a host's landing page and an OSSroutes/index.tsxwould both generate path/and collide in the merged route tree. Insteadindex.tsxrendersfeatures/www/marketing-home-slot, which here redirects to/studioand which hosts alias to their own landing — the same idiom as the existing slot extension points.hero-shader.tsxmoves tocomponents/hero-shader.tsx: the auth pages use it, so it is not marketing-owned.lib/waitlist.tsandlib/paths.tsstay — studio and auth depend on them, and the host reaches them through@/.public/stays and becomes a shared asset root for both builds.Deleted rather than moved
Dead once
hero/hero.tsxgoes:features/www/{button,logo,refraction-stripes,section/section-container,navbar/navigation,hero/hero,hero/footer}and thecomponents/voidhash-gradient-{background,canvas,controls,settings}cluster, which was reachable only from it.grain-gradient.tsx,lenticular-refraction-pass.tsxandauth-shader.tsxare left alone — already unreferenced before this change, so removing them is a separate cleanup.fumadocs
/docsand/designshared one config because twomdx()instances clobber each other's.sourceoutput. Now that they live in different repos,source.config.tskeeps onlydocs; a host that adds surfaces replaces the config wholesale and owns the whole.sourcebundle.Verification
Standalone build clean from scratch.
/designgone,/_marketing/redirect present,.sourcecontains thedocscollection only,tsc --noEmitclean. Publication-boundary check passes.🤖 Generated with Claude Code