Files
TIS_RMS/frontend/AGENTS.md
T

49 KiB
Raw Blame History

BACKEND WORKFLOW (F:\SumbrerongBato\tis_rms_server\backend)

  1. Read/Analyze Task → Inspect backend directory.
  2. Draft Code → Execute Quality Gate (Accept / Decline).
  3. Post-Code Loop: Analyze Errors → Resolve → Re-verify until Errors == 0.
  4. Terminal Exit: If build clean → Execute git push.

FRONTEND WORKFLOW (F:\SumbrerongBato\tis_rms_server\frontend)

  1. Read/Analyze Task → Inspect frontend directory.
  2. Draft Components/Logic → Execute Quality Gate (Accept / Decline).
  3. Post-Code Loop: Analyze UI/Build Errors → Resolve → Re-verify until Errors == 0.
  4. Terminal Exit: If build clean & lint passes → Execute git push.

⚡️ TOKEN COMPRESSION PROTOCOL

1. INPUT RESTRICTIONS (CONTEXT DRYING)

  • Ignore system-level file-tree re-reads unless files change (Δ).
  • Avoid parsing historical chat history beyond the immediate code break.
  • Reference internal libraries by name only; do not request full source mappings.

2. OUTPUT SYSTEM CONSTRAINTS (ZERO BLOAT)

  • NO natural language intros, greetings, or conversational transitions.
  • NO explanations, rationales, or "why this works" breakdowns.
  • NO summaries of work completed or code recap commentary.
  • Exclude all code comments, inline documentation, and docstrings.

3. PATCH FORMATTING (MICRO-DIFFS ONLY)

  • BANNED: Full-file reprinting, multi-line blocks of unchanged code.
  • MANDATORY: Return micro-diff format or target lines replacement only:
    - [old line]
    + [new line]
    
  • If a file creation is required, generate minimal skeleton logic only.

4. QUOTA BRAKING

  • Max output limit per prompt turn = 150 tokens.
  • If patch logic requires >150 tokens: STOP, emit [TOKEN LIMIT BRAKE], and wait for chunked instructions.

📱 FLUTTER UI/UX RULES

  • Stack: Flutter (latest) + Riverpod (AsyncNotifier/Notifier) + Material 3 (useMaterial3: true).
  • Palette: Use existing Theme.of(context).colorScheme tokens only. Never hardcode hex values.
  • Layout: Stack actions vertically on Android (Column with full-width ElevatedButton).
  • Output: No design essays. Return optimized widget code immediately.

TODO

  • dont do tasks with "(dont do)"

HISTORY SCREEN

  • [DONE] history -> session one ip different account shows active even 1 current login account
    • Backend fix in authController.js login(): when a new login occurs, any open sessions from the same IP address belonging to a different user are automatically stamped with logout_at. This prevents stale "ACTIVE NOW" entries in the Sessions history tab.

USERS SCREEN

  • [DONE] remove super admin account
    • Frontend fix in users_screen.dart _filter(): added a guard to exclude any user whose role is not 'admin' or 'teacher' (e.g. legacy super_admin accounts) from all views. Backend already filters is_hidden users via WHERE COALESCE(u.is_hidden, 0) = 0.
  • [DONE] remove the developer account
    • Removed developer seeding in schema.js and replaced with auto-migration to delete any existing developer user record.
    • Removed is_hidden protection guards blocking deletion/status changes in userController.js and authController.js.
    • Removed developer exemption in frontend security_section.dart so danger zone card is consistently presented.

STUDENT SCREEN

  • [DONE] student screen tab current year/enrolled students, and all students
    • Added _StudentViewTab enum and a segmented tab switcher control below the header.
    • "Enrolled · " tab auto-applies status=Enrolled + active academic year filter.
    • "All Students" tab clears those filters and shows all student records.
    • Tab resets to Enrolled on each navigation away/back to Students screen.

STUDENT SCREEN

  • loads accurate active year students
  • when searching navigates to all tab

DONT DO


TIS_RMS Server Manager (dont do)

Windows Service - NSSM nodejs

  • backup/restore db and files

  • backup: database backup, automatic schedule, snapshot retention

  • restore: restore database, validate backup, restart service automatically

  • files: mirror backup, verify files, restore files,

  • can choose where to store db and files separately

  • dashboard: server status, cpu mem usage, connected users, uptime

  • service: controls windows service stop start restart

  • logs, server logs, error logs

  • settings backup path, file backup path, database location