GradientPeak is a product monorepo for the web app, mobile app, shared UI, backend APIs, and core training logic.
apps/webcontains the active web product.apps/mobilecontains the mobile product.packages/apicontains backend procedures and server-side application logic.packages/corecontains shared domain logic and calculations.packages/uicontains reusable UI components.packages/dbcontains database-related code and local data tooling.
Install dependencies:
pnpm installStart local development:
pnpm devUse package-specific entrypoints when you only need one surface:
pnpm --filter web dev
pnpm --filter mobile dev
pnpm self-host:upRun the main validation commands before opening a PR:
pnpm check-types
pnpm lint
pnpm test- Create a focused branch for one change.
- Make the smallest change that solves the problem.
- Run the relevant checks locally.
- Open a PR with a short summary of the user-facing outcome.
- Keep orchestration and review in the root checkout.
- For medium and large efforts, use one Worktrunk worktree per bounded lane under
~/GradientPeak/.worktrees/<branch>. - Keep all GradientPeak worktrees inside the repo-local
.worktrees/directory. - Use branch names shaped like
spec/<spec-slug>/<lane>for multi-lane efforts. - Require merge packets and a fan-in owner before integrating parallel lane outputs.
apps/web/README.mdcovers web-specific setup and commands.apps/mobile/README.mdcovers mobile-specific setup, testing, and E2E entrypoints.packages/db/README.mdcovers database ownership and local DB tooling.
Environment files should live with the owning app or package, not at the repo root.
- Keep shared business logic in
packages/corewhen it should work across apps. - Keep backend and data access changes aligned with
packages/apiandpackages/db. - Prefer small, reviewable changes over broad refactors.
- Treat the README as a high-level guide, not a full internal handbook.
- Production web deployment now targets the TanStack Start app in
apps/web.