feat(web): add open-source section to the marketing home page - #1
Merged
Conversation
Scibly is AGPLv3 and self-hostable, but nothing on the landing page said so. This adds a dedicated section between compliance and comparison, plus a teaser chip in the hero that anchors down to it. The section pairs a license card with a four-step terminal that replays a real self-hosting transcript (clone, compose up, open localhost, file an issue). Steps autoplay and stop on click. The typewriter runs entirely in CSS -- `marketing-motion.css` owns the keyframes and a `@media (scripting: enabled)` gate, so the server ships finished markup and only hides it when JS can restore it. Reduced motion drops straight to the finished line. `packages/routes` gains `external.github` so the repo, issues, and blob links stop being spelled out at each call site. The transcript is deliberately untranslated: `docker compose up` prints English in every locale. Co-Authored-By: Claude Opus 5 <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
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.
What & why
Scibly is AGPLv3 and self-hostable, and the landing page never said so. This adds an open-source section between compliance and comparison, plus a teaser chip in the hero that anchors down to it.
The section. A license card (AGPLv3, "fork it, audit it, run it") next to a terminal that replays a real self-hosting transcript across four steps:
git clone,docker compose up,open localhost:3001,gh issue create. Steps autoplay every ~4s and stop the moment you click one.The typewriter is CSS, not JS.
apps/web/src/styles/marketing-motion.cssowns thesteps()keyframes and a@media (scripting: enabled)gate, so the server ships the finished transcript and CSS only hides it when JS is around to restore it. No-JS readers get the full text,prefers-reduced-motionskips straight to the finished line, and akey={active.kind}remount is what replays the timeline on step change.packages/routesgainsexternal.github(repo,issues,file(path)) so the repo URL stops being spelled out at each call site.The terminal transcript is deliberately untranslated.
docker compose upprints English in every locale, so it is the one user-facing string that skips the i18n pipeline; everything around it ships EN and DE.Reviewer notes
boxShadowoutranks Tailwind'sactive:shadow-noneand kills the keycap press state, so tinted surfaces pass--os-lip/--tile-faceand keep the shadow in a class. Same trick ashero-compliance-strip.tsx.content-box. Under the app's global border-box the 2pxborder-rightclips the last glyph of awidth: Nchcommand.div, notp.packages/ui/src/styles/globals.css:503sets:where(p, li, dd) { text-wrap: pretty }outside every cascade layer, so it beatswhitespace-nowrapon a<p>.#open-sourcerather than straight to GitHub, since the section below carries both the repo and self-hosting CTAs. One-line change if you'd rather it jump out.min-h-[206px] sm:min-h-[224px]so steps don't jump. Dropping it on mobile removes dead space under the shortest transcript at the cost of a small layout shift.Checklist
pnpm checkpasses (typecheck + lint + format)pnpm test:unitpasses (10/10 tasks, 2,780 tests)apps/app/apps/webchanges, ranpnpm --filter @scibly/web run format:checkAlso verified
pnpm build(3/3 apps) and grepped the prerendereden.html/de.htmlforid="open-source", the localized chip copy,AGPLv3, anddocker compose up.apps/app's Playwright suite was not run: it seeds and clears the local dev database.🤖 Generated with Claude Code