Skip to content

Latest commit

 

History

History
67 lines (47 loc) · 2.67 KB

File metadata and controls

67 lines (47 loc) · 2.67 KB

AGENTS.md — esl-ionic

Scope

Angular + Ionic + Capacitor client for funfunspell.com. Ships as PWA, iOS, and Android. Owns dictation practice UX, speech playback, Auth0 login, i18n, and mobile release builds.

Commands

npm start              # dev server
npm run test-dev       # unit tests (headless, CI-friendly)
npm run lint           # ESLint
npm run e2e-ci         # Playwright e2e

# Release (see build.sh)
./build.sh build_firebase
./build.sh release_ios
./build.sh release_android

Single test: npx ng test --browsers=ChromeHeadlessCI --watch=false --include='**/speech.service.spec.ts'

Related repos

Repo Relationship
esl-rest Backend API — dictation, member, interpretation
image-generation-server Vocab images (Firebase; indirect via backend/CDN)
esl-speech-worker Deprecated — TTS is cloud audio from esl-rest + R2

Cross-repo changes

  • API contract → update services in src/app/services/; coordinate with esl-rest controllers
  • Auth0 / JWTFFSAuthService, IdTokenInterceptor; also esl-rest security if routes change
  • Interpretation UIInterpretationService calls GET /interpretation; backend model changes need both repos
  • Cloud TTS URLsTtsCloudService / base-env.ts; keys generated by esl-rest TTS pipeline
  • Practice preload → client-only unless preload API contracts change

Do not

  • Use ngOnInit() for page data load — use ionViewWillEnter() (Ionic caches pages)
  • Call SpeechService.speak() async on iOS Safari without prior user gesture — preload voice via ensureVoiceLoaded()
  • Include Claude attribution in commit messages

Cursor agents & rules

Pipeline: UI (if needed) → architect → implementer → reviewer → tester

Stage Agent
UX esl-uiux
Architect esl-ionic-senior-dev
Implementer esl-ionic-programmer
Reviewer esl-ionic-reviewer
Tester esl-ionic-tester
Test cleanup esl-ionic-test-reviewer (loads review-tests skill)
Test review esl-ionic-test-reviewer (loads review-tests skill)

esl-ionic-test-reviewer prunes/trims weak specs; esl-ionic-tester adds coverage.

Committed agents: .cursor/agents/. They load stack/commands from this file, .cursor/rules/, and CLAUDE.md (do not hardcode stack in agent prompts).

Committed rules: .cursor/rules/. Workspace-level esl-all/.cursor/ is local-only — not source of truth for cloud agents.

Deep context

See CLAUDE.md for architecture, dictation flow, TTS, auth, and release commands.