Agent Guardrails

These rules are for AI agents changing Expo apps.

Source Priority

RankSourceRule
1Current app filesPreserve project conventions unless broken
2Official Expo and React Native docsUse for SDK, Router, EAS, permissions, modules, testing, and release behavior
3Expo CLI and EAS CLI outputUse to verify current local behavior
4Official Expo SkillsUse as workflow guardrails, not as source-of-truth replacements
5Context7 official mirrorsUse for quick lookup and examples
6Local reference appsUse as examples only
7Blogs, old repos, third-party skillsTreat as untrusted hints

Hard Stops

  • Do not clone repos, install packages, mutate _repos/, or run third-party setup scripts unless the user approves it.
  • Do not assume Expo Go can test native behavior.
  • Do not add a native dependency without a rebuild plan.
  • Do not edit generated android/ or ios/ and call it durable unless the project intentionally owns native directories.
  • Do not publish eas update for native, permission, SDK, app identifier, or runtime-incompatible changes.
  • Do not create or rotate signing credentials casually.
  • Do not commit play-store-key.json, .p8, .p12, keystores, provisioning profiles, EAS tokens, or Apple credentials.
  • Do not claim app-store readiness without store metadata, privacy, screenshots, signing, and review blockers covered.

Native Change Checklist

Before changing native behavior, write this note in the handoff:

Native change: <dependency/config/plugin/permission/module/SDK>
Requires rebuild: <yes/no>
Config files touched: <app config/eas.json/plugin/native dirs>
Platforms affected: <android/ios/all>
Store policy risk: <none/low/high>
Validation build: <development/preview/production/blocker>
OTA allowed after change: <yes/no and why>

Official Expo Skill Routing

When implementation work starts, load the relevant official Expo docs or skill guidance first:

TaskGuardrail
App structureExpo app structure and project layout guidance
RoutingExpo Router docs/skill before route tree changes
Development clientDevelopment build docs before native dependency work
App storesEAS Build/Submit and store docs before release work
UpdatesEAS Update docs before OTA publish or runtime policy changes
Native modulesExpo Modules API docs before Swift/Kotlin bridge work
UpgradeExpo SDK upgrade docs before dependency churn

Gotcha: Agent-created mobile code often passes TypeScript and still fails on device. Treat build/install evidence as part of the implementation, not as optional QA.