# Start development (run both in separate terminals)
npm run dev:backend # Terminal 1: Start Convex backend
npm run dev # Terminal 2: Start Expo app
# Code quality
npm run lint # Check for linting errors
npm run format # Auto-format all files
npm run typecheck # Check TypeScript types
# Git workflow
git checkout dev
git pull origin dev
git checkout -b feature/POLY-123-description
# ... make changes ...
git add .
git commit -m "feat: add feature" # Pre-commit hooks auto-run
git push -u origin feature/POLY-123-description
# Open PR on GitHub- Install Expo Go on your phone
- Run
npm run dev - Scan QR code:
- iOS: Use Camera app
- Android: Use Expo Go app
- Create branch:
feature/POLY-XXX-description - Add code in
frontend/app/orbackend/convex/ - Update types in
packages/shared/types/if needed - Commit with conventional format:
feat: add X - Open PR with Linear issue key
- Create branch:
fix/POLY-XXX-description - Fix the bug
- Commit:
fix: resolve X - Open PR
Edit packages/shared/types/ - automatically available in frontend and backend
import { formatPrice, isCalPolyEmail } from '@polybuys/shared';Metro bundler issues?
cd frontend
npm start -- --clearConvex not syncing?
npm run dev:backend
# Check backend/.env.local has CONVEX_DEPLOYMENT from `npx convex dev`
# Check frontend/.env.local EXPO_PUBLIC_CONVEX_URL points to your Convex Cloud URLType errors after pulling?
npm install
npm run typecheckPre-commit hooks not running?
npm install
npx husky installREADME.md- Project overviewdocs/contributing.md- Detailed contribution guideCHANGELOG.md- Track changes.github/PULL_REQUEST_TEMPLATE.md- PR templatefrontend/app/- App screensbackend/convex/- Backend functionspackages/shared/- Shared code
- Pre-commit hooks auto-format your code
- Use TypeScript for type safety
- Check Linear for assigned issues
- Ask in team chat if stuck!