2026-05-21 17:27:37 +03:30
|
|
|
|
# AGENTS.md
|
2026-05-05 22:42:09 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
## Stack
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- NestJS
|
|
|
|
|
|
- Prisma
|
|
|
|
|
|
- TypeScript
|
|
|
|
|
|
- pnpm
|
|
|
|
|
|
- RTK enabled
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# Core Rules
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- Keep changes minimal.
|
|
|
|
|
|
- Do not touch unrelated files.
|
|
|
|
|
|
- Prefer existing patterns over new abstractions.
|
|
|
|
|
|
- Preserve API behavior unless requested otherwise.
|
|
|
|
|
|
- Prefer forward Prisma migrations.
|
|
|
|
|
|
- Never edit applied migrations in shared environments.
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# EXECUTION RULES
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- Keep responses short.
|
|
|
|
|
|
- Do not narrate thoughts.
|
|
|
|
|
|
- Do not explain obvious steps.
|
|
|
|
|
|
- Do not create plans for simple tasks.
|
|
|
|
|
|
- Prefer implementation over exploration.
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Avoid:
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- “I think…”
|
|
|
|
|
|
- “Let me check…”
|
|
|
|
|
|
- “I should inspect…”
|
|
|
|
|
|
- “I’m going to…”
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# RTK Rules
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Always prefer RTK commands.
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
Use:
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- `rtk ls`
|
|
|
|
|
|
- `rtk grep`
|
|
|
|
|
|
- `rtk smart`
|
|
|
|
|
|
- `rtk read`
|
|
|
|
|
|
- `rtk git diff`
|
|
|
|
|
|
- `rtk git status`
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Avoid raw:
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- `cat`
|
|
|
|
|
|
- `grep`
|
|
|
|
|
|
- `rg`
|
|
|
|
|
|
- `git diff`
|
|
|
|
|
|
- recursive repository scans
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# Reading Strategy
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
1. `rtk grep`
|
|
|
|
|
|
2. `rtk smart`
|
|
|
|
|
|
3. `rtk read`
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Rules:
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- Read only necessary files.
|
|
|
|
|
|
- Do not read sibling files unless needed.
|
|
|
|
|
|
- Do not reread unchanged files.
|
|
|
|
|
|
- Stop searching once target location is found.
|
|
|
|
|
|
- Edit quickly after locating target.
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Avoid:
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- opening entire modules
|
|
|
|
|
|
- multi-file chained reads
|
|
|
|
|
|
- large diff dumps
|
|
|
|
|
|
- exploratory scans
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# Forbidden Paths
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Do not inspect unless required:
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- `node_modules/`
|
|
|
|
|
|
- `dist/`
|
|
|
|
|
|
- `coverage/`
|
|
|
|
|
|
- `.prisma/`
|
|
|
|
|
|
- `prisma/migrations/`
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# Prisma Rules
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- Use transactions for multi-step writes.
|
|
|
|
|
|
- Prefer explicit `select/include`.
|
|
|
|
|
|
- Normalize `Decimal` values with `Number(...)`.
|
|
|
|
|
|
- Keep migrations forward-safe.
|
|
|
|
|
|
- Use:
|
|
|
|
|
|
- `pnpm prisma migrate dev --name <name>` for new local migrations
|
|
|
|
|
|
- `pnpm prisma migrate deploy` for applying existing migrations
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# NestJS Rules
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- Keep layering:
|
|
|
|
|
|
- controller
|
|
|
|
|
|
- service
|
|
|
|
|
|
- prisma/shared service
|
2026-05-05 22:42:09 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
- Reuse shared services.
|
|
|
|
|
|
- Keep DTO validation strict.
|
|
|
|
|
|
- Avoid `any`.
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
---
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
# Validation
|
2026-05-05 22:42:09 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
Typecheck before handoff:
|
2026-05-21 17:27:37 +03:30
|
|
|
|
|
2026-05-24 19:40:04 +03:30
|
|
|
|
```bash
|
|
|
|
|
|
pnpm -s tsc --noEmit
|
|
|
|
|
|
```
|
2026-06-03 18:00:06 +03:30
|
|
|
|
|
|
|
|
|
|
# INVESTIGATION LIMITS
|
|
|
|
|
|
|
|
|
|
|
|
For localized fixes:
|
|
|
|
|
|
|
|
|
|
|
|
- maximum 3 file reads before first edit
|
|
|
|
|
|
- maximum 1 related-file read unless required
|
|
|
|
|
|
- maximum 5 total file reads before implementation
|
|
|
|
|
|
|
|
|
|
|
|
Stop searching once the target service, controller, DTO, schema, or repository method is identified.
|
|
|
|
|
|
|
|
|
|
|
|
# TARGETED READ RULES
|
|
|
|
|
|
|
|
|
|
|
|
Do not read files larger than 300 lines unless required.
|
|
|
|
|
|
|
|
|
|
|
|
For known symbols:
|
|
|
|
|
|
|
|
|
|
|
|
1. rtk grep
|
|
|
|
|
|
2. rtk smart
|
|
|
|
|
|
3. read only the relevant section
|
|
|
|
|
|
|
|
|
|
|
|
Avoid opening entire services, modules, or controllers for localized changes.
|
|
|
|
|
|
|
|
|
|
|
|
Prefer symbol-level inspection.
|
|
|
|
|
|
|
|
|
|
|
|
# REVIEW MODE
|
|
|
|
|
|
|
|
|
|
|
|
During reviews:
|
|
|
|
|
|
|
|
|
|
|
|
- inspect changed files only
|
|
|
|
|
|
- avoid repository-wide searches
|
|
|
|
|
|
- avoid architecture exploration
|
|
|
|
|
|
- avoid reading unrelated modules
|
|
|
|
|
|
|
|
|
|
|
|
Review only code affected by the diff.
|
|
|
|
|
|
|
|
|
|
|
|
# HARD TOKEN LIMITS
|
|
|
|
|
|
|
|
|
|
|
|
For localized fixes:
|
|
|
|
|
|
|
|
|
|
|
|
- Never read more than 5 files before the first edit.
|
|
|
|
|
|
- Never read a file larger than 300 lines unless the target symbol cannot be isolated.
|
|
|
|
|
|
- Never open an entire service, controller, or module when a symbol-level read is possible.
|
|
|
|
|
|
- Never reread a file already summarized by `rtk smart` unless implementation details are required.
|
|
|
|
|
|
|
|
|
|
|
|
When a file exceeds 300 lines:
|
|
|
|
|
|
|
|
|
|
|
|
1. rtk grep
|
|
|
|
|
|
2. rtk smart
|
|
|
|
|
|
3. read only the required section
|
|
|
|
|
|
|
|
|
|
|
|
Avoid full-file reads.
|