# AGENTS.md

## Project Overview

FitAI fitness management solution: Next.js admin web app + Expo React Native mobile app for client management, payments, attendance tracking, and notifications. Monorepo with shared packages.

## Build/Test Commands

- Admin: npm run dev/build/lint/typecheck/test (from apps/admin)
- Mobile: npm run start/build/lint/typecheck/test (from apps/mobile)
- Database: npm run build/dev/typecheck/db:push/db:studio (from packages/database)
- Single test: npm test -- --testNamePattern="test name" or npm test path/to/test.test.js

## Code Style Guidelines

- TypeScript strict mode, avoid `any` (warned by ESLint)
- React/React Native conventions with functional components
- camelCase for variables/functions, PascalCase for components
- Import order: external → internal (@fitai/\*) → relative imports
- Error handling with try/catch, use React Query for API errors
- ESLint enforced: no-unused-vars, prefer-const, no-var
- Use Zod for validation, React Hook Form for forms
- Database: Drizzle ORM with SQLite, use shared schemas
- Testing: Jest + Testing Library, write tests for critical functionality
