fluffychat/.github/copilot-instructions.md
wcjord b6f368fa1f docs: add instruction docs for analytics, practice, activities, toolbar; adjust content-word scoring ratio (10:7)
- Add analytics-system.instructions.md
- Add practice-exercises.instructions.md (with three-tier design direction)
- Add conversation-activities.instructions.md
- Add toolbar-reading-assistance.instructions.md
- Update copilot-instructions.md header
- Change content-word multiplier from 9 to 7 in practice_selection_repo.dart
2026-02-15 15:49:26 -05:00

2.3 KiB

Check the relevant .github/instructions/ doc before and after coding. If it doesn't exist, create it with the user first.

client - Flutter/Dart Language Learning Chat App

Tech Stack

  • Framework: Flutter (SDK ≥3.0), Dart
  • Base: Fork of FluffyChat (package name fluffychat)
  • Protocol: Matrix Client-Server API via matrix Dart SDK
  • Subscriptions: RevenueCat
  • Backend: 2-step-choreographer (FastAPI) via PApiUrls
  • Error Tracking: Sentry
  • Routing: GoRouter

Quick Reference

Project Structure

  • lib/pages/, lib/widgets/, lib/utils/, lib/config/ — FluffyChat base code
  • lib/pangea/All Pangea language-learning code (~30 feature modules)
  • pangea_packages/ — Shared isolate packages
  • Pangea modifications in FluffyChat files marked with // #Pangea ... // Pangea#

Key Files

  • Entry point: lib/main.dart
  • Root state: lib/widgets/matrix.dart (MatrixState)
  • Pangea controller: lib/pangea/common/controllers/pangea_controller.dart
  • Routes: lib/config/routes.dart
  • API URLs: lib/pangea/common/network/urls.dart
  • HTTP client: lib/pangea/common/network/requests.dart
  • Environment: lib/pangea/common/config/environment.dart (reads .env / config.sample.json)
  • Event types: lib/pangea/events/constants/pangea_event_types.dart
  • Choreographer: lib/pangea/choreographer/choreographer.dart

Conventions

  • Package imports use package:fluffychat/...
  • Feature modules follow pattern: models/, repo/ (API calls), widgets/, utils/, constants/
  • API repo files pair with request/response models (e.g., igc_repo.dart + igc_request_model.dart + igc_response_model.dart)
  • Controllers extend ChangeNotifier or use BaseController<T> (stream-based)

Documentation

Detailed guides auto-load from .github/instructions/ when editing matching files:

File Applies To Content
modules.instructions.md lib/pangea/** Full map of ~30 feature modules
choreographer.instructions.md lib/pangea/choreographer/** Writing assistance flow (IGC, IT, text editing)
events-and-tokens.instructions.md lib/pangea/events/**,lib/pangea/extensions/** Custom Matrix events, token model, event wrappers