This is a monorepo managed with Bun workspaces containing:
/packages/mobile- React Native/Expo mobile application (@patjoe/mobile)
Run these from the project root:
bun run mobile:start- Start Expo development server for mobile appbun run mobile:android- Run mobile app on Android device/emulatorbun run mobile:ios- Run mobile app on iOS device/simulator
bun run build- Run build scripts in all workspacesbun run lint- Run ESLint in all workspacesbun run test- Run tests in all workspacesbun run format- Format all files with Prettierbun run format:check- Check formatting without making changes
- Bun v1.2.20+ - Primary package manager
- Using Bun workspaces for monorepo management
- Install dependencies:
bun install - Add packages to workspace:
bun add <package> --filter @patjoe/mobile - Remove packages from workspace:
bun remove <package> --filter @patjoe/mobile
Follow Conventional Commits v1.0.0 specification:
Format: <type>[optional scope]: <description>
Required Types:
feat:- New feature (correlates with MINOR in SemVer)fix:- Bug fix (correlates with PATCH in SemVer)
Additional Types:
build:- Build system or external dependencieschore:- Maintenance tasks, no production code changeci:- CI configuration files and scriptsdocs:- Documentation only changesstyle:- Code style changes (formatting, missing semicolons, etc)refactor:- Code change that neither fixes a bug nor adds a featureperf:- Performance improvementstest:- Adding missing tests or correcting existing testsconfig:- Configuration changesdeps:- Dependency updates
Breaking Changes: Use ! after type/scope or BREAKING CHANGE: footer (correlates with MAJOR in SemVer)
Examples:
feat: add user authenticationfix(api): resolve timeout issue in user loginfeat!: migrate to new authentication systemdocs: update installation instructionsdeps: upgrade react-native to 0.79feat(mobile): add dark mode togglefix(mobile): resolve connection timeout issue
- All workspaces use TypeScript with strict mode enabled
- Prettier configuration is shared across all workspaces
- Follow conventional commits for all changes
- Use workspace-specific scopes in commit messages when appropriate
- Each workspace maintains its own AGENTS.md for package-specific guidelines