Repository navigation
Monorepo: move the web app into apps/web - #544
Merged
Merged
Conversation
The web app joins the shells under apps/, self-contained like them: its own package.json, lockfile, node_modules, .npmrc and lint/format/ignore configs. No npm workspaces and no root package.json: hoisting would move node_modules to the root and break the paths anchored on it (tailwind content glob, the CLAUDE.md token-rules import, standalone output tracing). - Root keeps repo-wide files only: .github, .husky, renovate.json, .trivyignore, docs/ (the hub's doc pipeline writes there), README/CONTRIBUTING/LICENSE/SECURITY. - .husky stays at the root (git runs hooks there); `prepare` installs it with `cd ../.. && husky`, and the hook works inside apps/web with --relative diffs. - test.yml / release.yml build the image from apps/web; release.yml now ignores only apps/desktop and apps/mobile. - The shells' build-web.sh and desktop-release's npm cache point at apps/web. - .gitignore splits into a repo-wide root file and apps/web's own. - VS Code: tsdk and ESLint working directory point at apps/web. - CLAUDE.md: the root file is the repository layout and imports apps/web/CLAUDE.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
🦩 Flamingo Code ReviewNot reviewed yet. Reviews start when you ask, so the reviewer reads this pull request when it is ready, not when it is opened. When it is ready:
Or comment Updated 2026-10-05 09:30 UTC · workflow run |
ivan-flamingo
approved these changes
Oct 5, 2026
pavlo-flamingo
added a commit
that referenced
this pull request
Oct 5, 2026
main moved the web app into apps/web (#544) while this branch had regrouped billing-usage into subfolders, so git saw every billing file as renamed two ways. Resolved by replaying the branch in the new layout and merging there: every path only one side changed is taken verbatim from that side, and the one file both changed, schema.graphql, is main's SDL with this branch's additions spliced in.
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.
Change-Set: chore-monorepo-web-to-apps
Follow-up to #543. The web app moves under
apps/next to the desktop and mobile shells.Layout
apps/webis self-contained, like the shells: its ownpackage.json, lockfile,node_modules,.npmrcand lint/format/ignore configs.package.json. Hoisting would movenode_modulesto the root and break three things anchored on it: the Tailwind content glob, the CLAUDE.md token-rules import, and standalone output tracing..github,.husky,renovate.json,.trivyignore,docs/(the hub's doc pipeline writes there), README/CONTRIBUTING/LICENSE/SECURITY.Changes beyond the renames
Git detects 2,362 files as renames;
git log --followkeeps their history..huskystays at the root because git runs hooks there.prepareinstalls it withcd ../.. && husky, and the hook works insideapps/webwith--relativediffs.test.yml/release.yml: both build the image with-f apps/web/Dockerfile apps/web, and the lint job runs inapps/web.release.ymlnow ignores onlyapps/desktop/**andapps/mobile/**; the oldapps/**would have skipped the web itself.build-web.shscripts and thedesktop-release.ymlnpm cache point atapps/web..gitignore: split into a repo-wide root file andapps/web/.gitignore.typescript.tsdkandeslint.workingDirectoriespoint atapps/web.apps/web/CLAUDE.md. README and CONTRIBUTING commands saycd apps/web.After merging
node_modules,.next,dist,next-env.d.tsandtsconfig.tsbuildinfoleft over from the old layout, then runcd apps/web && npm ci. That reinstalls the hooks.Verification
apps/web:tsc,lint:ciand Prettier pass.npm run buildsucceeds, withserver.jsat the root ofdist/standalone, the layout the Dockerfile copies.apps/desktopnpm run build:webproduces the 107-page export fromapps/web.🤖 Generated with Claude Code
Change set
flamingo-stack/chore-monorepo-web-to-apps: this pull request is the only one in it so far. Another pull request joins by naming this one in aDepends-Online, or by carrying the sameChange-Setline.Linked by the
Depends-On/Change-Setlines in these descriptions; this block is maintained by the hub.