agentsclimarketplace

Dephx reactnative

Skill ephraimd/dephx-reactnative/skills/dephx-reactnative

Use when scaffolding a new React Native / Expo mobile app, or adding a screen or feature to one — starting an Expo project, choosing the stack, structuring features, wiring navigation, data-fetching, state, storage, theming or tests, or hitting Expo build/config trouble (New Architecture, NativeWind, Reanimated worklets, CNG/prebuild, peer-dep errors). Applies to any app domain, not a specific one.From its SKILL.md

Install
npx -y skills add ephraimd/dephx-reactnative --skill dephx-reactnative

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 27 days oldThe repository was created 27 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.3 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

dephx-reactnative

Overview

A production-grade foundation for Expo / React Native apps, distilled from a shipped app. It gives you an opinionated stack, a feature-sliced architecture, the exact (fragile) config wiring, and the gotchas that otherwise cost hours — so a new app starts correct and stays testable.

Core idea: screens stay thin; logic is pure and colocated with its tests; all I/O goes through small, injectable seams. SOLID / KISS / DRY expressed as concrete RN conventions, not slogans. See references/philosophy.md.

This is domain-agnostic. Auth/session appears as the example most apps need, never as a required feature. Swap the example domain for yours.

When to use

  • Starting a new Expo app and you want a structure that scales past the first few screens.
  • Adding a feature to an app already built on this foundation (follow the same slice shape).
  • Deciding the stack (navigation, data, state, storage, styling, tests) instead of re-litigating each choice.
  • Debugging Expo-specific build/config failures (New Architecture crash on boot, styles not applying, "worklet" errors, ERESOLVE on install, edits to android/ios vanishing).

Not for: store submission / signing / release (out of scope here), Expo web-first apps, or bare (non-Expo) RN without CNG.

The stack (baseline: Expo SDK 57, RN 0.86, React 19.2, New Architecture ON)

ConcernChoice
Runtime / routingExpo + expo-router (file-based)
LanguageTypeScript, strict
Server stateTanStack Query v5 (+ persist to MMKV)
Client stateZustand (session, theme — small slices only)
HTTPAxios behind an injectable apiClient with single-flight 401 refresh
Secure storageexpo-secure-store (tokens, PIN)
Fast KV / cachereact-native-mmkv (query persist, prefs)
StylingNativeWind v4 (Tailwind) + semantic CSS-var tokens; Gluestack primitives optional
Precise numbersdecimal.js (money, quantities)
Testsjest-expo + Testing Library, colocated *.test.ts

Pin these versions when you scaffold; they interlock (see references/config-reference.md).

Workflow: scaffold a new app

  1. npx create-expo-app@latest <name> --template default (or blank-typescript), then cd <name>.
  2. Add the stack deps and apply the config quartet exactly — babel, metro, tailwind + global.css, app.config.ts, plus .npmrc, tsconfig. → references/config-reference.md.
  3. Lay down the folder structure and the src/lib spine (apiClient, secureStore, queryClient, queryKeys). → references/architecture.md, references/api-layer.md, references/state-storage.md.
  4. Wire the root layout providers (Query + persist, SafeArea, theme, auth-failure → login). → references/architecture.md.
  5. Set up theming tokens. → references/design-system.md.
  6. Build the first feature as a slice: src/features/<domain>/{api,model,ui} with colocated tests. → references/architecture.md, references/testing.md.
  7. Run on a development build (npx expo run:android / run:ios), not Expo Go — native modules require it.

Before writing any feature, read references/gotchas.md once. It prevents the common time-sinks.

Guardrails (always / never)

  • NEVER put business or formatting logic in a screen. Screens call a hook and render. Logic → model/ (pure, tested).
  • NEVER hardcode a URL, route string, color, or magic number in a component. Central constants.ts, queryKeys.ts, theme tokens.
  • NEVER hand-edit android/ or ios/ — they are generated (CNG). Change app.config.ts or write a config plugin. → references/gotchas.md.
  • NEVER add a native dependency without confirming New-Architecture support, then rebuild the dev client (not just reload).
  • NEVER leave a trailing slash on an API route string.
  • ALWAYS keep server state in TanStack Query and only session/UI state in Zustand — don't duplicate server data into a store.
  • ALWAYS access the network through apiClient (injectable deps) so logic stays testable without mocking axios/expo.
  • ALWAYS colocate a *.test.ts with pure logic; keep tsc --noEmit and jest green before moving on.

References

ReadFor
references/philosophy.mdSOLID / KISS / DRY / YAGNI as concrete RN conventions
references/architecture.mdFolder structure, feature-slice pattern, root layout wiring
references/config-reference.mdThe exact config quartet + .npmrc/tsconfig + version matrix
references/api-layer.mdapiClient, query hooks, mutations, queryKeys, OpenAPI type-gen
references/state-storage.mdZustand session, secure-store, MMKV, query persist, money
references/design-system.mdSemantic tokens, light/dark, component conventions
references/testing.mdjest-expo setup, mocks, colocation, what to test
references/gotchas.mdMistakes-learned → DO-NOT / ALWAYS checklist

What ships with it: 8 files

50.6 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.