Back to the catalog

Bailout patterns and strict lint setup behind the react-compiler skill.

Bundle OKF 0.1 · 2 conceitos · jesussfl/cambialy-mobile-app

Open source Repository Open in the app JSON README (API)

About

# Bailout patterns and strict lint setup behind the react-compiler skill.

- [React Compiler Exceptions](exceptions.md) - Five patterns drop the surrounding function out of compilation, often silently.
- [React Compiler Lint Setup](lint-setup.md) - Since late 2025, the compiler's lint rules live in `eslint-plugin-react-hooks` v6+.

Details

Kind
OKF bundles
Topic
Developer tools
Publisher
jesussfl
Origin
okf_github
Category
dados
Version
0.1
Stars
1
Last push
2026-09-01T22:24:52Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-09-08 02:18:52
Updated
2026-09-08 02:18:52
Origin id
jesussfl/cambialy-mobile-app:.agents/skills/react-compiler/references/index.md

README

# Cambialy

Cambialy is a Venezuelan currency exchange and rate calculator app. It is live on Google Play as `com.cambialy.app`.

## Stack

- Expo SDK 57 (`expo` `~57.0.8`)
- React Native `0.86.0` with the New Architecture
- React `19.2.3`
- TypeScript `~6.0.3`
- Expo Router `~57.0.8` with typed routes enabled
- TanStack Query for server state
- Zustand for client state
- Unistyles for styling

## Getting started

Install dependencies with pnpm, then start the development server:

```bash
pnpm install
pnpm start
```

Run the native app on a connected device or configured simulator/emulator:

```bash
pnpm ios
pnpm android
```

The `ios` and `android` commands use Expo's native run commands and require the corresponding local platform tooling and a connected or configured target.

## Development workflow

1. Install dependencies with `pnpm install`.
2. Start Metro with `pnpm start`.
3. Open a native target with `pnpm ios` or `pnpm android`.
4. Run the quality checks before handing off changes.

The app's user-facing copy is Spanish; this README documents the developer workflow in English.

## Quality checks

```bash
pnpm lint
npx tsc --noEmit
```

There is currently no test script, and Jest is not installed. The existing test files under `src/features/exchange/utils/__tests__/` therefore cannot currently run.

## Environment variants

`APP_ENV` selects the app identity: name, bundle identifier/package, and URL scheme. `NODE_ENV` selects which `.env` file is loaded.

## Project structure

- `src/app/` is a thin Expo Router shell; routes delegate to feature screens.
- `src/features/<feature>/` contains feature screens, components, hooks, stores, utilities, and types.
- `src/api/` owns server state through TanStack Query.
- Zustand owns client state.
- Styling uses Unistyles only. Do not use Tailwind utilities or `className`.
- `ios/` and `android/` are generated by Expo prebuild and gitignored. Put native configuration changes in `app.config.ts` or `plugins/`, not in generated projects.

`src/app/_layout.tsx` is the application composition root. Feature screens own feature behavior, while shared UI primitives belong in `src/components/ui/`.

Spec-driven change proposals live in `openspec/`.

More