52 lines
No EOL
2.1 KiB
Markdown
52 lines
No EOL
2.1 KiB
Markdown
# Agent Instructions for Meat Farmer Monorepo
|
|
|
|
## Important instructions
|
|
- Don't try to build the code or run or compile it. Just make changes and leave the rest for the user.
|
|
- Don't run any drizzle migrations. User will handle it.
|
|
|
|
## Code Style Guidelines
|
|
|
|
### TypeScript & React Native
|
|
- **Strict TypeScript**: `strict: true` enabled in tsconfig
|
|
- **Path aliases**: Use `@/*` for local imports, `common-ui` for shared UI package
|
|
- **Component naming**: PascalCase (e.g., `MyButton`, `ImageCarousel`)
|
|
- **Function naming**: camelCase (e.g., `handleSubmit`, `getCurrentUserId`)
|
|
- **Interface naming**: PascalCase with `Props` suffix (e.g., `ButtonProps`)
|
|
|
|
don't import Text,TextInput,TouchableOpacity and other such primitive components directly from
|
|
react-native. They are available in the common-ui as MyText, MyTextInput, MyTouchableOpacity etc.
|
|
|
|
### Imports
|
|
- React imports first
|
|
- Third-party libraries second
|
|
- Local imports last
|
|
- Use absolute imports with path aliases when possible
|
|
- imports from /packages/ui are aliased as `common-ui` in apps/user-ui and apps/admin-ui
|
|
|
|
### Error Handling
|
|
- API errors handled via axios interceptors
|
|
- Use `DeviceEventEmitter` for cross-component communication
|
|
- Throw custom errors with descriptive messages
|
|
- Avoid try-catch blocks unless necessary
|
|
|
|
### Formatting & Linting
|
|
- ESLint with Expo config
|
|
- No Prettier configured - follow consistent indentation (2 spaces)
|
|
- No semicolons at end of statements
|
|
- Single quotes for strings
|
|
|
|
### Testing
|
|
- No test framework currently configured
|
|
- When adding tests, use Jest + React Native Testing Library
|
|
- Test files: `*.test.tsx` or `*.spec.tsx`
|
|
|
|
### Architecture
|
|
- Monorepo with Turbo
|
|
- Shared UI components in `packages/ui`
|
|
- Apps: `user-ui`, `admin-ui`, `inspiration-ui`, `inspiration-backend`
|
|
- Database: Drizzle ORM with PostgreSQL
|
|
|
|
## Important Notes
|
|
- **Do not run build, compile, or migration commands** - These should be handled manually by developers
|
|
- Avoid running `npm run build`, `tsc`, `drizzle-kit generate`, or similar compilation/migration commands
|
|
- Don't do anything with git. Don't do git add or git commit. That will be managed entirely by the user |