Imported from imSamiul/samiuls-portfolio-server (
AGENTS.md). Install upstream withnpx skills add imSamiul/samiuls-portfolio-server. Copyright stays with the author.
Agent instructions
The conventions for this repository live in skills.md. Read it before writing or reviewing code here, and follow it over generic Express advice.
Short version:
- Express 5 + Mongoose 9 + TypeScript (ESM, NodeNext), run by
tsxlocally and deployed to Vercel's zero-config Express runtime. The default export insrc/app.tsis the deployment;server.tskeepsapp.listenfor local and Docker. - The layout is
src/modules/<domain>/with routes → controller → service → serializer. Named exports only,.jsextensions on relative imports, noasyncHandler(Express 5 forwards rejected promises). - Zod lives in
src/sharedand is independent from the client repo's copy. Update both sides by hand after a contract change. - No Redis. Auth stays Bearer JWT until a task explicitly asks for the httpOnly cookie migration.
- Project images and the resume PDF live in Cloudinary; nothing is read from or written to the filesystem, and no image bytes go into MongoDB.
- Chat in Bangla + English; code and comments stay English.