git clone https://github.com/ryanmagoon/gamelord.git
cd gamelord
pnpm install
cd apps/desktop/native && npx node-gyp rebuild && cd ../../..
pnpm devUse <type>/<short-descriptive-name>:
feat/game-library-searchfix/audio-desyncrefactor/emulator-manager
Types: feat, fix, refactor, docs, test, chore
- Reference the issue — Use
Closes #123in the PR description - All PRs are squash-merged onto
main - CI must pass — Lint, typecheck, format, and tests all need to be green before merge
- Review comments must be resolved before merging
- TypeScript everywhere
- No
as anycasts — use proper types - No
!non-null assertions — use guard clauses - Use existing shadcn/Radix primitives from
packages/ui/before building custom interactive elements - Run
pnpm lint && pnpm typecheck && pnpm formatbefore committing
- Colocate tests next to source files (e.g.
Foo.test.tsnext toFoo.ts) - Run
pnpm testbefore pushing
Components with multiple visual states (loading, error, empty, etc.) should be standalone presentational components in packages/ui/ with Storybook stories for each state. Run pnpm storybook to browse them.