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

26 lines
1.8 KiB
Markdown

---
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).