Repo overview
Where the code lives, branch layout, monorepo structure
Everything ships from one private GitHub repository. There is no second repo for backend, AI, data scripts, or deployment. The repo is a monorepo — multiple packages, one install, one source of truth.
At a glance
- Repository:
wearenxt/nxt-appon GitHub - SSH clone:
git@github.com-nxt:wearenxt/nxt-app.git - Active branch:
main— production source of truth - Archived branch:
legacy/v1-archive— the original V1 codebase, frozen, retrievable forever - V2 tag:
v1.0.0marks the cutover commit onmain(the version naming is historical — V1 lived on the now-archived branch)
Repository layout
apps/
mobile/ Expo SDK 55 React Native app (iOS + Android)
web/ Next.js 16 marketing site (Vercel)
docs/ Fumadocs site (this site)
packages/
backend/ Convex functions, schema, crons, AI prompts
core/ Design tokens, brand metadata, legal config, env helpers
data-contract/ Canonical TypeScript types + zod schemas shared by all apps
i18n/ Locale catalogs (English today)
testing/ Shared test utilities (web + mobile)
eslint-config/ Lint rules
.runbooks/ Operational playbooks (categorize-school, backfill-college-data, ...)
docs/ Markdown product docs (vision, copy-and-tone, design system)
.create-nextbuild/ Scaffold manifest used by upgrade toolingFor local-setup commands, see Local setup.
Technical detail
- No separate repos. Earlier proposals to split AI/ML or data scripts out were rejected — single-repo keeps types end-to-end and avoids cross-repo coordination on releases.
- Conventional commits. Body wraps at 100 chars. Pre-push hook runs
pnpm check(typecheck + lint + format + workspace consistency + module boundaries + i18n) — same gate CI runs. Direct push tomainis allowed today; PR review is not enforced by branch protection. - Commit signing. SSH signing keys are kept under
~/.ssh/keys/nextbuild/clients/nxt/and configured viacreate-nextbuild setup git-profile. Commits show Verified on GitHub. legacy/v1-archivehas no production tail — the V1 Convex deployments it pointed at are deleted (see Data). The branch is reference-only.