NXT

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-app on 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.0 marks the cutover commit on main (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 tooling

For 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 to main is 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 via create-nextbuild setup git-profile. Commits show Verified on GitHub.
  • legacy/v1-archive has no production tail — the V1 Convex deployments it pointed at are deleted (see Data). The branch is reference-only.

On this page