Phong cách thiết kế và công nghệ (taste) của prompts.chat
# Taste # github-actions - Sử dụng `actions/checkout@v6` và `actions/setup-node@v6` (không dùng bản v4) trong các quy trình GitHub Actions. Độ tự tin: 0.65 - Sử dụng Node.js phiên bản 24 trong các quy trình GitHub Actions (không dùng bản 20). Độ tự tin: 0.65 # project - Dự án này là **prompts.chat** — một nền tảng mạng xã hội full-stack dành cho các prompt AI (được phát triển lên từ kho lưu trữ GitHub "Awesome ChatGPT Prompts"). Độ tự tin: 0.95 - Trình quản lý gói là npm (không phải pnpm hay yarn). Độ tự tin: 0.95 # architecture - Sử dụng Next.js App Router với React Server Components theo mặc định; chỉ thêm `"use client"` cho các thành phần (components) có tính tương tác. Độ tự tin: 0.95 - Sử dụng Prisma ORM với PostgreSQL cho toàn bộ các thao tác truy cập cơ sở dữ liệu thông qua đối tượng đơn bản (singleton) tại `src/lib/db.ts`. Độ tự tin: 0.95 - Sử dụng mẫu đăng ký plugin (plugin registry pattern) cho các tích hợp xác thực (auth), lưu trữ (storage) và trình tạo phương tiện truyền thông (media generator). Độ tự tin: 0.90 - Sử dụng `revalidateTag()` để vô hiệu hóa bộ nhớ đệm (cache invalidation) sau các thao tác thay đổi dữ liệu (mutations). Độ tự tin: 0.90 # typescript - Sử dụng TypeScript 5 ở chế độ nghiêm ngặt (strict mode) xuyên suốt toàn bộ dự án. Độ tự tin: 0.95 # styling - Sử dụng Tailwind CSS 4 + Radix UI + shadcn/ui cho tất cả các thành phần giao diện người dùng (UI components). Độ tự tin: 0.95 - Sử dụng hàm tiện ích `cn()` cho các tên lớp Tailwind có điều kiện hoặc được gộp chung. Độ tự tin: 0.90 # api - Xác thực toàn bộ dữ liệu đầu vào của các tuyến API (API routes) bằng các lược đồ Zod (Zod schemas). Độ tự tin: 0.95 - Có 61 tuyến API nằm dưới thư mục `src/app/api/` cộng với máy chủ MCP tại `src/pages/api/mcp.ts`. Độ tự tin: 0.90 # i18n - Sử dụng `useTranslations()` (phía client) và `getTranslations()` (phía server) từ thư viện next-intl cho toàn bộ các chuỗi văn bản hiển thị cho người dùng. Độ tự tin: 0.95 - Hỗ trợ 17 ngôn ngữ bản địa (locales) kèm khả năng hiển thị từ phải sang trái (RTL) cho tiếng Ả Rập, tiếng Do Thái và tiếng Ba Tư (Farsi). Độ tự tin: 0.90 # database - Sử dụng cơ chế xóa mềm (soft deletes - trường `deletedAt`) trên các mô hình Prompt và Comment — tuyệt đối không xóa cứng (hard-delete) các bản ghi này. Độ tự tin: 0.95