CtrlK
BlogDocsLog inGet started
Tessl Logo

coding-standards

Provides coding standards for React Native — performance patterns, consistency rules, and clean React architecture. Use when writing, modifying, or reviewing code.

61

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/coding-standards/SKILL.md
SKILL.md
Quality
Evals
Security

Expensify Coding Standards

Coding standards for the Expensify App. Each standard is a standalone file in rules/ with reasoning, examples, and applicability conditions.

Categories

CategoryPrefixFocus
PerformancePERF-*Render optimization, memo patterns, useEffect hygiene, data selection
ConsistencyCONSISTENCY-*Platform checks, magic values, unused props, ESLint discipline, localization, file naming, JSDoc
Clean React PatternsCLEAN-REACT-PATTERNS-*Composition, component ownership, state structure, prop typing, function components
UIUI-*Loading indicators, scrollable pages, styling conventions

Quick Reference

Performance

  • PERF-1 — No spread in renderItem
  • PERF-2 — Return early before expensive work
  • PERF-3 — Use OnyxListItemProvider in renderItem
  • PERF-5 — Shallow over deep comparisons
  • PERF-6 — Derive state from props
  • PERF-7 — Reset via key prop
  • PERF-8 — Handle events in handlers
  • PERF-9 — No useEffect chains
  • PERF-10 — No useEffect parent communication
  • PERF-11 — Optimize data selection
  • PERF-12 — Prevent memory leaks
  • PERF-13 — Hoist iterator-independent calls
  • PERF-14 — Use useSyncExternalStore
  • PERF-15 — Clean up async Effects
  • PERF-16 — Guard double initialization
  • PERF-17 — Pass raw source, index on demand (no pre-built digest)
  • PERF-18 — Use usePreMountDestination for RHP pre-mounting
  • PERF-19 — Collection selectors return only what the consumer uses

Consistency

Clean React Patterns

UI

  • UI-1 — Use the correct loading indicator based on navigation context
  • UI-2 — New pages must be scrollable
  • UI-3 — Do not use inline style objects

Usage

During development: When writing or modifying src/ files, consult the relevant standard files for detailed conditions, examples, and exceptions.

During review: The code-inline-reviewer agent loads all standards from this directory. See .claude/agents/code-inline-reviewer.md.

Repository
Expensify/App
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.