Guide du developpeur
Cette section documente l'architecture interne de Nekobot et les patterns a suivre pour contribuer au projet.
Architecture generale
Le bot est construit en TypeScript avec discord.js et utilise une architecture modulaire :
src/
app/ -> Point d'entree (bootstrap, register-commands)
config/ -> Configuration (env, constants, logger)
core/ -> Client Discord, intents, permissions
infrastructure/-> Services techniques (cron, notifier, health HTTP)
shared/ -> Code partage (types, DB, services logs, erreurs)
modules/ -> Modules metier (1 dossier = 1 feature)Chaque module suit la meme structure :
commands/: commandes slash Discordhandlers/: event handlers Discordjobs/: taches cron planifieesservices/: logique metierrepositories/: acces base de donnees (Prisma)types/: interfaces et DTOs
Stack technique
| Composant | Technologie |
|---|---|
| Runtime | Node.js 22 |
| Langage | TypeScript (strict) |
| Framework | discord.js v14 |
| Base de donnees | PostgreSQL 16 + Prisma ORM |
| Scheduler | node-cron |
| Logging | Pino |
| Tests | Vitest |
| Process mgr | pm2 |
| CI/CD | GitHub Actions |
Pages de reference
- Architecture detaillee : arborescence, flux de donnees, relations Prisma
- Ajouter une commande : structure, interface, enregistrement
- Ajouter un cron : registerCron, constantes, cheat sheet
- Ajouter un handler : pattern, filtres, enregistrement
- Ajouter un module : checklist complete
- Services et repositories : patterns et exemples
- Logging : Pino, SystemLog, AuditLog, notifier
- Tests : Vitest, mocks globaux, couverture
- Modeles Prisma : toutes les tables
- CI/CD : workflows, Dependabot
- Deploiement : VPS, pm2, Docker, securite
