2.4 KiB
2.4 KiB
Repository Guidelines
Project Structure & Module Organization
app/holds Expo Router screens, layouts, and route groups.components/,hooks/,utils/, andconstants/contain shared UI, logic, helpers, and values.ble/contains Bluetooth-related flows and device integration code.assets/stores images and fonts;global.csscovers web styling.@share/hosts shared modules used across apps in the workspace.android/is the generated native project afterexpo prebuild.scripts/provides maintenance tools;dist/is build output.
Build, Test, and Development Commands
Use bun as the package manager (package.json packageManager).
bun installinstalls dependencies.bun run startruns Expo dev server with.env.development.bun run start:testorbun run start:prodswitch env files.bun run android,bun run ios,bun run webstart platform builds.bun run prebuild:androidgenerates the Android native project.bun run lintruns ESLint with Prettier rules.bun run build:development:androidorbun run build:production:iostriggers EAS builds.bun run update:productionpublishes OTA updates.bun run export:icp:androidorbun run export:icp:iosgenerates ICP source bundles.
Coding Style & Naming Conventions
- TypeScript is strict;
@/maps to repo root viatsconfig.json. - Prettier settings in
.prettierrc: 2-space indent, single quotes, no semicolons. - ESLint enforces sorted imports and unused import cleanup; run
bun run lint. - File names should be kebab-case; avoid
react-nativeTextin favor of@/components/ui.
Testing Guidelines
- No automated test runner is configured. If adding tests, place them next to modules or in
__tests__/, add scripts inpackage.json, and document how to run them.
Commit & Pull Request Guidelines
- Commits typically use a short type prefix (
feat:,fix:,refactor:,add:,update:) and a concise summary. - PRs should include a description, testing notes (device/simulator and platform), and screenshots or recordings for UI changes.
Configuration & Environment
- Environment files live in
.env.*and are loaded withdotenvin scripts. - Build profiles and OTA channels live in
eas.json; do not commit secrets.
rule
Always use Context7 MCP when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask.