Add new agent and prompt files for API contract, backend security, mobile app, SDET, sleuth debugging, system architecture, web frontend, and regression testing
Build and Push Reader Image / docker (push) Successful in 1m12s
Build and Push Reader Image / docker (push) Successful in 1m12s
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Project Guidelines
|
||||
|
||||
## Code Style
|
||||
- Dùng TypeScript strict, ưu tiên typing tường minh cho props, API payload và server helpers.
|
||||
- Tách rõ Server Component và Client Component. Chỉ thêm `"use client"` khi cần state/effect/event handler.
|
||||
- Giữ naming theo dự án: route tiếng Việt dạng kebab-case (`dang-nhap`, `the-loai`, `tim-kiem`, `tu-sach`), component file dạng kebab-case.
|
||||
- Dùng TailwindCSS utility + component trong `components/ui`; không tự ý đổi pattern UI nếu chưa cần.
|
||||
|
||||
## Architecture
|
||||
- `app/`: Next.js App Router pages + route handlers.
|
||||
- `components/`: UI/domain components tái sử dụng.
|
||||
- `lib/`: tầng truy cập dữ liệu, auth, context, helper dùng chung.
|
||||
- `prisma/`: schema PostgreSQL; MongoDB model nằm trong `lib/models/`.
|
||||
- App dùng kiến trúc hybrid DB: PostgreSQL (dữ liệu cấu trúc) + MongoDB (nội dung chương).
|
||||
- API user-facing thường đi qua proxy routes trong `app/api/**` và `READER_API_ORIGIN`.
|
||||
|
||||
## Build and Test
|
||||
- Cài đặt: `pnpm install`
|
||||
- Dev server: `pnpm dev`
|
||||
- Lint: `pnpm lint`
|
||||
- Build production: `pnpm build`
|
||||
- Chạy production: `pnpm start`
|
||||
- Prisma: `npx prisma db push` (hoặc `npx prisma migrate dev`) và `npx prisma generate`
|
||||
- Kiểm tra kết nối DB/AI nếu cần: `node test-db.js`, `node test-ai.js`
|
||||
|
||||
## Conventions
|
||||
- Ưu tiên dùng helper sẵn có trong `lib/server-api.ts` cho gọi backend ở server side.
|
||||
- Luồng auth đi qua NextAuth config trong `lib/auth.ts`; không tạo cơ chế xác thực song song trừ khi có yêu cầu rõ ràng.
|
||||
- Khi sửa API route proxy (`app/api/**`), luôn giữ nguyên behavior forward headers/token nếu route đang bảo vệ quyền.
|
||||
- Không mở rộng phạm vi thay đổi sang backend Python trong repo khác nếu yêu cầu chỉ thuộc web repo.
|
||||
|
||||
## Pitfalls
|
||||
- Thiếu biến môi trường (`DATABASE_URL`, `MONGODB_URI`, `NEXTAUTH_SECRET`, `READER_API_ORIGIN`) sẽ gây lỗi khó chẩn đoán.
|
||||
- Nếu Prisma Client chưa generate, import từ `@prisma/client` có thể fail.
|
||||
- Nếu `reader-api` chưa chạy đúng origin, các route `/api/*` proxy sẽ lỗi upstream.
|
||||
- `next.config.mjs` đang cho phép bỏ qua lỗi type ở build; vẫn cần giữ chất lượng type khi sửa code.
|
||||
|
||||
## Key References
|
||||
- Tổng quan setup và môi trường: `README.md`
|
||||
- Auth + session callbacks: `lib/auth.ts`
|
||||
- App shell và providers: `app/layout.tsx`
|
||||
- API helper và error model: `lib/server-api.ts`
|
||||
- Proxy mod route pattern: `app/api/mod/[...path]/route.ts`
|
||||
- Data model quan hệ: `prisma/schema.prisma`
|
||||
Reference in New Issue
Block a user