Restructure into apps/* monorepo and add marketing website - #25
Merged
Merged
Conversation
Gift-Stack
force-pushed
the
feat/monorepo-website
branch
2 times, most recently
from
July 12, 2026 18:05
12273ec to
ad0d5a6
Compare
Gift-Stack
force-pushed
the
feat/monorepo-website
branch
from
July 12, 2026 18:07
ad0d5a6 to
b823845
Compare
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
Three commits:
refactor: move desktop app to apps/desktop monorepo layout— promotes the repo to a properapps/*+packages/*layout. The desktop app movesapp/→apps/desktop/(viagit mv, full history preserved), and every path reference is updated.feat: add marketing website under apps/website— a Next.js 16 + Tailwind 4 landing page for Pontoon.fix(desktop): resolve repo root three levels up in build.rs— the move broke the Tauri sidecar build (see Verification).Restructure details
pnpm-workspace.yaml"app"→"apps/*"scripts/build-sidecar.mjsapps/desktop/src-tauri/binaries.github/workflows/release.ymlprojectPath+ rust-cacheworkspaces→apps/desktop.gitignoreapps/desktop/…; added.next,*.tsbuildinfoturbo.json.next/**(minus cache)apps/desktop/src-tauri/build.rsrerun-if-changedpaths../../→../../../README.mdI kept the package name
@pontoon/app(referenced by--filter, sopnpm dev,desktop:dev, and the release workflow keep working). Happy to rename to@pontoon/desktopin a follow-up.Website details
@pontoon/website, dark-first single-page landing. Reuses the product's exact design tokens (charcoal + the two pontoon greens, ported fromapps/desktop/src/styles.css) so the site and app read as one product. Archivo + JetBrains Mono; the hero centrepiece is a live in-code transaction-tree inspector mock. Sections: hero → features → how-it-works → panels → CTA → footer. Runs withpnpm --filter @pontoon/website dev(port 3100). Passes a WCAG pass (faint-text contrast to AA, CTA touch targets ≥44px, visible focus states, reduced-motion).Verification
pnpm install --frozen-lockfileresolves the newapps/*workspace.pnpm tsc(turbo across desktop + website + bridge) passes.next build, static prerender); typechecks cold; verified in-browser at 375 / 390 / 1440px, no console errors, no horizontal overflow.pnpm dev): Vite serves the app fromapps/desktop(5173) and the bridge runs frompackages/bridge(37631); the app UI renders and shows "Bridge connected", Status Healthy, seeded treasuries.pnpm desktop:build): the move brokebuild.rs(it resolved the repo root two levels up, so the sidecar step looked inapps/scripts/instead ofscripts/). Fixed in commit 3. After the fix, a clean build compiles the Rust app in release and producesPontoon.app(arm64,dev.entrypoint.pontoonv0.1.0) with thepontoon-bridgesidecar embedded.Note
The
bundle_dmg.shstep fails in a headless session (it drives Finder via AppleScript to style the disk image); the.appitself builds fine, and the release workflow runs on realmacos-latestrunners where DMG bundling works. Not a code issue and not changed here.