coding-standards

Expensify Coding Standards

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "coding-standards" with this command: npx skills add expensify/app/expensify-app-coding-standards

Expensify Coding Standards

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

Categories

Category Prefix Focus

Performance PERF-*

Render optimization, memo patterns, useEffect hygiene, data selection

Consistency CONSISTENCY-*

Platform checks, magic values, unused props, ESLint discipline

Clean React Patterns CLEAN-REACT-PATTERNS-*

Composition, component ownership, state structure

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

Consistency

  • CONSISTENCY-1 — No platform-specific checks in components

  • CONSISTENCY-2 — No magic numbers/strings

  • CONSISTENCY-3 — No code duplication

  • CONSISTENCY-4 — No unused props

  • CONSISTENCY-5 — Justify ESLint disables

  • CONSISTENCY-6 — Proper error handling

Clean React Patterns

  • CLEAN-REACT-PATTERNS-0 — React Compiler compliance

  • CLEAN-REACT-PATTERNS-1 — Composition over configuration

  • CLEAN-REACT-PATTERNS-2 — Components own their behavior

  • CLEAN-REACT-PATTERNS-3 — Context-free component contracts

  • CLEAN-REACT-PATTERNS-4 — No side-effect spaghetti

  • CLEAN-REACT-PATTERNS-5 — Keep state narrow

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 .

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

coding-standards

No summary provided by upstream source.

Repository SourceNeeds Review
General

coding-standards

No summary provided by upstream source.

Repository SourceNeeds Review
General

coding-standards

No summary provided by upstream source.

Repository SourceNeeds Review
General

mercadopago-subscriptions

No summary provided by upstream source.

Repository SourceNeeds Review