Files
eryao/AGENTS.md
T

2.7 KiB

Project AGENTS Router

Root AGENTS.md is routing + cross-domain policy only. Do not place backend/frontend implementation details here.

Scope

  • Applies to repository root and cross-domain tasks.
  • Subdomain rules: backend/AGENTS.md, apps/AGENTS.md.
  • If rules conflict, use the stricter one.

Rule Order

  1. System / developer / platform safety instructions
  2. Workspace runtime rules (AGENTS.md + rules/*)
  3. This file (routing + project-level constraints)
  4. Subdomain rules (backend/apps)

Mandatory Routing

  • backend/** must follow backend/AGENTS.md.
  • apps/** must follow apps/AGENTS.md.
  • Cross-domain changes must satisfy all relevant subdomain rules.
  • infra/** follows this file plus infra/ conventions.

Project-Wide Constraints

  • Default development branch is dev; do not develop directly on main.
  • Never push unless explicitly requested by the user.
  • Keep AGENTS layered and lean: shared rules at root, domain rules in sub-AGENTS.
  • No Error Swallowing: All exceptions must propagate or be converted to typed errors. Never catch an exception, log it, and silently continue. This destroys debuggability.

Protocol Source of Truth

docs/protocols/ is the single source of truth for protocol and data format.

  • Update protocol docs before changing data/API/UI contracts.
  • Document compatibility strategy (backward-compatible vs migration).
  • Keep frontend/backend implementations aligned with documented protocol.

Database Access

When viewing data in the database, use supabase mcp tools (supabase_execute_sql, supabase_list_tables, etc.) instead of direct queries or other methods.

Image Handling

When reading images, use understand_image tool instead of Read tool, especially when the model supports multimodal capabilities. Only use Read tool for non-image files.

Mobile Automation

Use Midscene Skills for mobile UI automation.

When to trigger

If the user asks to open app, navigate pages, tap, input text, scroll, verify UI, reproduce bug, or run mobile tests → treat as executable automation, not just explanation.

Platform

  • iOS → use Midscene iOS (requires WebDriverAgent at http://localhost:8100/status)
  • Android → use Midscene Android (requires adb devices available)

If platform not specified:

  • Use current project platform if obvious
  • Otherwise ask

Preconditions

  • iOS: WDA must be ready
  • Android: device/emulator must be connected

If not ready → stop and report missing requirement

Execution

  • Perform actual UI actions via Midscene Skills
  • Do not only describe test plan
  • Capture result (screen state / success / failure step)

Output

Return:

  • success or failure
  • first failing step (if any)
  • key observation