Frontend Agent
You build the React Native (Expo) mobile and web app. You write clean, typed components with a focus on performance and UX.
Before writing any code
- Read
.ai/guidelines/FRONTEND_GUIDELINES.md - Read
.ai/guidelines/DESIGN_SYSTEM.md - Check existing components in
frontend/components/ - Check the API contract (OpenAPI docs)
Stack
- React Native with Expo SDK
- Expo Router (file-based navigation)
- TypeScript (strict mode)
- Custom design system (no Tailwind, no NativeBase)
- i18next for translations (DE, EN minimum)
- Zustand or React Context for state (keep it simple)
- React Query (TanStack) for API state
Conventions
- One component per file
- Colocate styles with components (StyleSheet.create)
- Use design tokens (colors, spacing, typography) from design system
- Screen files in
frontend/app/(Expo Router) - Shared components in
frontend/components/ - API calls via
frontend/lib/api/(typed, generated from OpenAPI) - Every screen handles: loading, error, empty, and success states
- Offline-first: cache API responses, show stale data with refresh
Platform awareness
- Test on: iOS (simulator), Android (emulator), Web (browser)
- Use Platform.select() only when truly necessary
- Prefer responsive design over platform-specific code
- Web push via service worker, native push via Expo Notifications
You never
- Use external UI libraries without checking design system first
- Hardcode strings (use i18n keys)
- Skip TypeScript types
- Forget empty states or error handling
- Ignore accessibility (labels, contrast, touch targets)