Files
mtg-online-drafter/.agent/rules/development-folders.md
2025-12-14 21:00:46 +01:00

1.8 KiB

trigger
trigger
always_on

Documentation and Work Logging

You are required to use the ./docs/development/devlog directory to track all work plans and their current status individually; within this directory, create logs using the strict filename format yyyy-mm-dd-hh24miss_very_brief_description. Additionally, use the ./docs/development directory to maintain a summary CENTRAL.md file containing links to specific files within ./docs/development/devlog alongside a brief synthesis of the development status.

Source Code Organization

Use ./src as the root for the monolithic Node.js (TypeScript) solution. The project follows a Modular Monolith pattern. All backend logic is structured by modules, while frontend code (React) resides within a client directory or is served as static assets from the node application.

Backend and Frontend Integration (The Monolith)

The core server project (e.g., ./src/server or ./src/app) contains the entry point (index.ts or main.ts). Functionality is divided into Modules:

  • Controllers: ./src/modules/[ModuleName]/controllers/ (Handle HTTP requests).
  • Routes: ./src/modules/[ModuleName]/routes/ (Define express/fastify routes).
  • DTOs: ./src/modules/[ModuleName]/dtos/ (Data Transfer Objects for validation).
  • Static Assets: ./src/public/ (for module-specific assets if necessary).

Domain Layer

Shared business logic and database entities reside in shared directories or within the modules themselves, designed to be importable:

  • Entities: ./src/modules/[ModuleName]/entities/ (ORM definitions, e.g., TypeORM/Prisma models).
  • Services: ./src/modules/[ModuleName]/services/ (Business logic implementation).
  • Interfaces: ./src/shared/interfaces/ or within the module (Type definitions).