@gokbeyinac
Lời nhắc để bắt đầu một dự án thiết kế web. Lời nhắc này là điểm khởi đầu cho mọi dự án thiết kế trong quy trình làm việc của tôi.
Bạn là giám đốc sáng tạo cấp cao tại một studio thiết kế nổi tiếng với sự táo bạo, trải nghiệm web dựa trên ý kiến. Tôi đang giới thiệu cho bạn về một dự án mới. **Khách hàng:** company_name **Ngành:** industry **Trang web hiện có:** if_there_is_one_or_delete_this_line **Định vị:** [Example: "The most expensive interior design studio in Istanbul that only works with 5 clients/year"] **Đối tượng mục tiêu:** [Who are they? What are they looking for? What are the motivations?] **Giai điệu:** [3-5 adjective: eg. "confident, minimal, slow-paced, editorial"] **Chống tham chiếu:** [Ví dụ: "Không có bố cục SaaS chung, không có cảm giác chụp ảnh sẵn, không có mồi Dribbble"] **Tài liệu tham khảo:** [2-3 site URL or style direction] **Các trang chính:** [Homepage, About, Services, Contact — or others] Trước khi viết bất kỳ mã nào, hãy đề xuất: 1. Concept thiết kế trong 2-3 câu (“ý tưởng lớn”) 2. Chiến lược bố cục trên mỗi trang (hành vi cuộn, cách tiếp cận dạng lưới) 3. Kiểu chữ và hướng màu sắc 4. Một tương tác chữ ký xác định cá tính của trang web 5. Các quyết định về ngăn xếp công nghệ (hoạt ảnh, thư viện) có lý luận KHÔNG viết mã. Trình bày khái niệm để tôi xem xét.
Lời nhắc này sẽ giúp bạn xây dựng trang web của mình theo từng trang sau lời nhắc bắt đầu
Dựa trên ý tưởng đã được phê duyệt, hãy xây dựng trang [Homepage/About/etc.]. Hạn chế: - Thành phần React một tệp với Tailwind - Ưu tiên thiết bị di động, đáp ứng - Ngân sách hiệu suất: không có thư viện trên 50kb trừ khi hợp lý - [Specific interaction from Phase 1] phải là khoảnh khắc ấn tượng - Sử dụng kỹ năng thiết kế frontend để đảm bảo chất lượng thiết kế Cho tôi xem thành phần. Tôi sẽ xem xét trước khi chuyển sang trang tiếp theo.
Lời nhắc này sẽ giúp bạn tinh chỉnh và hoàn thiện quá trình lặp lại thiết kế.
Xem lại page hiện tại theo các tiêu chí sau: - Phần anh hùng có tạo phản ứng cảm xúc rõ ràng trong <3 giây không? - Hệ thống phân cấp kiểu chữ có rõ ràng ở mọi điểm dừng không? - Tương tác là có mục đích hay trang trí? - Điều này có giống như reference_site_x về chất lượng nhưng khác biệt về bản sắc không? Đề xuất 3 cải tiến cụ thể bằng lý luận, sau đó thực hiện chúng.
Lời nhắc này hướng dẫn Claude thu thập thông tin toàn bộ cơ sở mã và trích xuất mọi mã thông báo, mẫu và thành phần liên quan đến thiết kế vào kho lưu trữ thô. Nó tạo ra một bản kiểm tra JSON có cấu trúc, chưa phải là một hệ thống thiết kế, chỉ là nguyên liệu thô. Chạy cái này trước khi có bất kỳ tổ chức hoặc tài liệu nào xảy ra. Khi nào nên sử dụng: Ngay từ đầu, khi bạn có cơ sở mã đang hoạt động nhưng không có hệ thống thiết kế được ghi lại.
Bạn là kỹ sư hệ thống thiết kế cấp cao đang tiến hành kiểm tra pháp lý đối với cơ sở mã hiện có. Nhiệm vụ của bạn là trích xuất mọi quyết định thiết kế được nhúng trong mã - rõ ràng hoặc ẩn ý.
## Bối cảnh dự án
- **Khung:** [Next.js / React / etc.]
- **Phương pháp tạo kiểu:** [Tailwind / CSS Modules / Styled Components / etc.]
- **Thư viện thành phần:** [shadcn/ui / custom / MUI / etc.]
- **Vị trí cơ sở mã:** [path or "uploaded files"]
## Phạm vi trích xuất
Phân tích toàn bộ cơ sở mã và trích xuất nội dung sau vào báo cáo JSON có cấu trúc:
### 1. Hệ màu
- Mọi giá trị màu được sử dụng (biến hex, rgb, hsl, css, lớp Tailwind)
- Nhóm theo: chính, phụ, trọng âm, trung lập, ngữ nghĩa (thành công/cảnh báo/lỗi/thông tin)
- Cờ không nhất quán (ví dụ: 3 màu xám khác nhau được sử dụng cho đường viền)
- Lưu ý các biến thể độ mờ và ánh xạ chế độ tối nếu có
- Trích xuất các định nghĩa biến CSS thực tế và các giá trị dự phòng của chúng
### 2. Kiểu chữ
- Họ phông chữ (phông chữ được tải, ngăn xếp dự phòng, nhập Google Fonts)
- Kích thước phông chữ (mỗi kích thước duy nhất được sử dụng, trong các lớp px/rem/Tailwind)
- Trọng lượng phông chữ được sử dụng cho mỗi họ phông chữ
- Chiều cao dòng được ghép nối với từng cỡ chữ
- Giá trị khoảng cách chữ
- Kiểu văn bản dưới dạng kết hợp được sử dụng (ví dụ: "heading-large" = Inter 32px/700/1.2)
- Quy tắc kiểu chữ đáp ứng (kích thước thiết bị di động và máy tính để bàn)
### 3. Khoảng cách & Bố cục
- Thang đo khoảng cách (mỗi giá trị lề/phần đệm/khoảng cách được sử dụng)
- Chiều rộng vùng chứa và chiều rộng tối đa
- Hệ thống lưới (cột, máng, breakpoint)
- Định nghĩa điểm dừng
- Các lớp chỉ mục Z và mục đích của chúng
- Giá trị bán kính đường viền
### 4. Kho linh kiện
Đối với mỗi thành phần có thể tái sử dụng được tìm thấy:
- Tên thành phần và đường dẫn file
- Giao diện đạo cụ (các loại TypeScript nếu có)
- Các biến thể trực quan (kích thước, màu sắc, trạng thái)
- Khoảng cách nội bộ và kích thước mã thông báo được sử dụng
- Phụ thuộc vào các thành phần khác
- Số lượng sử dụng trên toàn bộ codebase (gần đúng)
### 5. Chuyển động & Hoạt hình
- Thời lượng chuyển tiếp và chức năng thời gian
- Khung hình chính hoạt hình
- Chuyển đổi trạng thái di chuột/tiêu điểm/hoạt động
- Mẫu chuyển trang
- Hoạt ảnh dựa trên cuộn (nếu sử dụng bất kỳ thư viện nào như Framer Motion, GSAP)
### 6. Hình tượng & Nội dung
- Hệ thống biểu tượng (Lucide, Heroicons, SVG tùy chỉnh, v.v.)
- Kích thước biểu tượng được sử dụng
- Các biến thể Favicon và logo
### 7. Báo cáo mâu thuẫn
- Các giá trị trùng lặp phải là mã thông báo (ví dụ: `#1a1a1a` được sử dụng 47 lần nhưng không phải là một biến)
- Các mẫu xung đột (ví dụ: một số nút sử dụng kích thước dựa trên phần đệm, một số khác sử dụng chiều cao cố định)
- Thiếu trạng thái (các thành phần không có trạng thái di chuột/tiêu điểm/bị vô hiệu hóa)
- Khoảng cách về khả năng tiếp cận (thiếu vòng lấy nét, độ tương phản màu không đủ)
## Định dạng đầu ra
Trả về một đối tượng JSON có cấu trúc này:
{
"màu sắc": { "primary": [], "secondary": [], ... },
"kiểu chữ": { "families": [], "scale": [], "styles": [] },
"khoảng cách": { "scale": [], "containers": [], "breakpoints": [] },
"thành phần": [ { "name": "", "path": "", "props": {}, "variants": [] } ],
"chuyển động": { "durations": [], "easings": [], "animations": [] },
"biểu tượng": { "system": "", "sizes": [], "count": 0 },
"sự không nhất quán": [ { "type": "", "description": "", "severity": "high|medium|low" } ]
}
KHÔNG cố gắng tổ chức hoặc cải thiện bất cứ điều gì.
KHÔNG đề xuất tên mã thông báo hoặc cơ cấu lại.
Chỉ cần trích xuất những gì tồn tại, chính xác như nó vốn có.Thực hiện kiểm tra JSON thô từ Giai đoạn 1 và biến nó thành một hệ thống mã thông báo có cấu trúc, được đặt tên với hệ thống phân cấp rõ ràng (nguyên thủy → ngữ nghĩa → thành phần). Đây là nơi thực tế lộn xộn của cơ sở mã được tổ chức thành một ngôn ngữ thiết kế phù hợp. Claude cũng sẽ gắn cờ những gì cần đổi tên, hợp nhất hoặc không dùng nữa.
Bạn là một kiến trúc sư hệ thống thiết kế. Tôi đang cung cấp cho bạn JSON kiểm tra thiết kế thô từ cơ sở mã hiện có. Công việc của bạn là biến sự hỗn loạn này thành một kiến trúc mã thông báo có cấu trúc. ## Đầu vào [Paste the Phase 1 JSON output here, or reference the file] ## Phân cấp mã thông báo Thiết kế hệ thống token 3 tầng: ### Cấp 1 — Mã thông báo nguyên thủy (giá trị thô) Được đặt tên, giá trị bất biến. Không có ý nghĩa ngữ nghĩa. - Màu sắc: `color-gray-100`, `color-blue-500` - Khoảng cách: `space-1` đến `space-N` - Cỡ chữ: `font-size-xs` đến `font-size-4xl` - Bán kính: `radius-sm`, `radius-md`, `radius-lg` ### Cấp 2 — Mã thông báo ngữ nghĩa (ý nghĩa theo ngữ cảnh) Ánh xạ nguyên thủy đến mục đích. Những thay đổi này giữa các chủ đề. - `color-text-primary` → `color-gray-900` - `color-bg-surface` → `color-white` - `color-border-default` → `color-gray-200` - `spacing-section` → `space-16` - `font-heading` → `font-size-2xl` + `font-weight-bold` + `line-height-tight` ### Cấp 3 — Mã thông báo thành phần (trong phạm vi thành phần) - `button-padding-x` → `spacing-4` - `button-bg-primary` → `color-brand-500` - `card-radius` → `radius-lg` - `input-border-color` → `color-border-default` ## Quy tắc hợp nhất 1. Hợp nhất các giá trị trong phạm vi 2px của nhau (ví dụ: 14px và 15px → chọn một giá trị, lưu ý giá trị nào) 2. Thiết lập tỷ lệ khoảng cách nhất quán (khuyến nghị cơ sở 4px, độ lệch cờ) 3. Giảm bảng màu xuống tổng số 60 mã thông báo (gắn cờ nội dung không được dùng nữa) 4. Bình thường hóa tỷ lệ kích thước phông chữ theo cấp số hợp lý 5. Tạo các cài đặt trước hoạt ảnh được đặt tên từ các giá trị một lần ## Định dạng đầu ra Cung cấp: 1. **Bản đồ mã thông báo hoàn chỉnh** trong JSON — cả ba cấp độ đều có tham chiếu 2. **Bảng di chuyển** — giá trị hiện tại → tên mã thông báo mới → tệp nào sử dụng nó 3. **Danh sách khấu hao** — các giá trị cần xóa cùng với các giá trị thay thế được đề xuất 4. **Nhật ký quyết định** — mọi phán quyết mà bạn đưa ra (lý do bạn hợp nhất X vào Y, v.v.) Với mỗi quyết định, hãy giải thích sự đánh đổi. Tôi có thể không đồng ý với sự hợp nhất của bạn lựa chọn, vì vậy tính minh bạch quan trọng hơn sự tự tin.
Tạo tài liệu chi tiết cho từng thành phần trong hệ thống thiết kế. Đây không chỉ là bảng đạo cụ — nó bao gồm các nguyên tắc sử dụng, ví dụ nên/không, yêu cầu về khả năng truy cập và mã thông báo cụ thể mà mỗi thành phần sử dụng. Đầu ra trở thành phần thành phần của CLAUDE.md.
Bạn là người viết tài liệu về hệ thống thiết kế, tạo ra đặc tả thành phần cho tệp CLAUDE.md. Tài liệu này sẽ được sử dụng bởi các trợ lý mã hóa AI (Claude, Cursor, Copilot) để tạo mã UI nhất quán. ## Bối cảnh - **Hệ thống mã thông báo:** [Paste or reference Phase 2 output] - **Thành phần của tài liệu:** [Component name, or "all components from inventory"] - **Khung:** [Next.js + React + Tailwind / etc.] ## Đối với từng Component, Document: ### 1. Tổng quan - Tên thành phần (PascalCase) - Mô tả một dòng - Danh mục (Điều hướng/Đầu vào/Phản hồi/Bố cục/Hiển thị dữ liệu) ### 2. Giải phẫu - Liệt kê mọi phần trực quan (ví dụ: Nút = vùng chứa + nhãn + biểu tượng bên trái + biểu tượng bên phải) - Phần nào là tùy chọn và bắt buộc - Quy tắc lồng nhau (những gì có thể/không thể vào bên trong thành phần này) ### 3. Thông số đạo cụ Đối với mỗi chỗ dựa: - Tên, loại, giá trị mặc định, bắt buộc/tùy chọn - Giá trị cho phép (nếu enum) - Mô tả ngắn gọn về những gì nó điều khiển trực quan - Ví dụ sử dụng ### 4. Các biến thể trực quan - Các biến thể kích thước có giá trị mã thông báo chính xác (phần đệm, cỡ chữ, chiều cao) - Các biến thể màu có tham chiếu mã thông báo chính xác - Các biến thể trạng thái: mặc định, di chuột, hoạt động, tập trung, vô hiệu hóa, đang tải, lỗi - Đối với MỖI trạng thái: chỉ định mã thông báo nào thay đổi và giá trị nào ### 5. Bản đồ tiêu thụ token Thành phần: Nút ├── nền → nút-bg-variant → màu-thương hiệu-shade ├── màu văn bản → nút-văn bản-variant → màu trắng ├── đệm-x → nút đệm-x-size → khoảng cách-{n} ├── đệm-y → nút đệm-y-size → khoảng cách-{n} ├── bán kính đường viền → bán kính nút → bán kính-md ├── cỡ chữ → nút-font-size → cỡ chữ-{n} ├── font-weight → nút-font-weight → font-weight-nửa đậm └── chuyển đổi → thời lượng chuyển động nhanh + chuyển động dễ dàng-mặc định ### 6. Nguyên tắc sử dụng - Khi nào nên sử dụng (và khi nào KHÔNG sử dụng - đề xuất các lựa chọn thay thế) - Số phiên bản tối đa trên mỗi khung nhìn (ví dụ: "chỉ 1 CTA chính cho mỗi phần") - Nguyên tắc nội dung (độ dài nhãn, viết hoa, sử dụng biểu tượng) ### 7. Khả năng tiếp cận - Thuộc tính ARIA bắt buộc - Mẫu tương tác bàn phím - Quy tắc quản lý tập trung - Hành vi của trình đọc màn hình - Tỷ lệ tương phản tối thiểu được đáp ứng theo mã thông báo mặc định ### 8. Ví dụ về mã Cung cấp ví dụ về mã sẵn sàng sao chép-dán bằng cách sử dụng cơ sở mã thực tế các mẫu (đường dẫn nhập, quy ước className, v.v.) ## Định dạng đầu ra Markdown, được cấu trúc với các tiêu đề cho mỗi phần. Điều này sẽ trực tiếp được chèn vào tệp CLAUDE.md.
Đây là lời nhắc lắp ráp cuối cùng. Nó lấy tất cả các kết quả đầu ra từ Giai đoạn 1-3 và biên dịch chúng thành một tệp CLAUDE.md duy nhất, sẵn sàng sản xuất. Tệp được cấu trúc để trợ lý AI có thể phân tích cú pháp một cách hiệu quả — với các quy tắc rõ ràng, bảng mã thông báo, thông số thành phần và phần "Tham khảo nhanh" để biết thông tin cần thiết nhất.
Bạn đang biên soạn tệp tham chiếu hệ thống thiết kế CLAUDE.md chính xác. Tệp này sẽ nằm trong thư mục gốc của dự án và đóng vai trò là nguồn duy nhất của sự thật cho bất kỳ trợ lý AI (hoặc nhà phát triển con người) nào đang làm việc trên cơ sở mã này. ## Đầu vào - **Cấu trúc mã thông báo:** [Phase 2 output] - **Tài liệu về thành phần:** [Phase 3 output] - **Siêu dữ liệu dự án:** - Tên dự án: name - Nhóm công nghệ: [Next.js 14+ / React 18+ / Tailwind 3.x / etc.] - Phiên bản nút: version - Trình quản lý gói: [npm / pnpm / yarn] ## Cấu trúc CLAUDE.md Biên dịch tệp cuối cùng với các phần này THEO THỨ TỰ NÀY: ### 1. Nhận dạng dự án - Tên dự án, mô tả, định vị - Tóm tắt ngăn xếp công nghệ (một bảng) - Tổng quan về cấu trúc thư mục (src/layout) ### 2. Thẻ tham khảo nhanh Một bảng tóm tắt ngắn gọn - thông tin cần thiết thường xuyên nhất trong nháy mắt: - Màu chính có giá trị hex (tối đa 6) - Ngăn xếp phông chữ - Thang đo khoảng cách (thể hiện trực quan: 4, 8, 12, 16, 24, 32, 48, 64) - Điểm dừng - Giá trị bán kính đường viền - Giá trị bóng - Bản đồ chỉ số Z ### 3. Design Token — Tham khảo đầy đủ Được tổ chức theo cấp (Nguyên thủy → Ngữ nghĩa → Thành phần). Mỗi mục nhập mã thông báo: tên, giá trị, biến CSS, lớp Tailwind tương đương. Sử dụng bảng để có thể quét được. ### 4. Hệ thống kiểu chữ - Bảng tỷ lệ loại (tên, kích thước, trọng lượng, chiều cao dòng, khoảng cách chữ, cách sử dụng) - Quy tắc đáp ứng - Chiến lược tải phông chữ ### 5. Hệ màu - Bảng màu đầy đủ với mô tả mẫu màu (tên, hex, ngữ cảnh sử dụng) - Bảng ánh xạ màu ngữ nghĩa - Ánh xạ chế độ tối (nếu có) - Ghi chú tuân thủ tỷ lệ tương phản ### 6. Hệ thống bố cục - Đặc điểm lưới - Chiều rộng thùng chứa - Hệ thống khoảng cách với tỷ lệ trực quan - Hành vi điểm dừng ### 7. Thư viện thành phần [Insert Phase 3 output for each component] ### 8. Chuyển động & Hoạt hình - Bảng đặt trước được đặt tên (tên, thời lượng, nới lỏng, cách sử dụng) - Quy tắc: khi nào nên tạo hiệu ứng động, khi nào không - Hạn chế về hiệu suất ### 9. Quy ước mã hóa - Các mẫu đặt tên file - Đơn hàng nhập khẩu - Mẫu cấu trúc tập tin thành phần - Quy ước sắp xếp lớp CSS (nếu là Tailwind) - Các mô hình quản lý nhà nước được sử dụng ### 10. Quy tắc & ràng buộc Những quy tắc cứng rắn không bao giờ được phá vỡ: - "Không bao giờ sử dụng màu hex nội tuyến - luôn là mã thông báo tham chiếu" - "Tất cả các yếu tố tương tác phải có trạng thái tiêu điểm rõ ràng" - "Mục tiêu cảm ứng tối thiểu: 44x44px" - "Tất cả hình ảnh phải có văn bản thay thế" - "Không có giá trị chỉ số z nào nằm ngoài thang đo được xác định" - [Add project-specific rules] ## Yêu cầu về định dạng - Sử dụng bảng đánh dấu cho tất cả ánh xạ mã thông báo/giá trị - Sử dụng các khối mã cho tất cả các mẫu mã - Giữ mỗi phần khép kín (có thể đọc được mà không cần cuộn sang các phần khác) - Đính kèm mục lục ở trên cùng với các liên kết neo - Độ dài dòng tối đa: 100 ký tự để dễ đọc - Thích các giá trị rõ ràng hơn các tham chiếu "xem ở trên" ## Quy tắc quan trọng Tập tin này phải là AUTHORITATIVE. Nếu có sự mơ hồ giữa CLAUDE.md và mã thực tế CLAUDE.md phải được cập nhật thành phù hợp với thực tế - không bao giờ ngược lại. Tài liệu này ghi lại LÀ gì, không phải những gì NÊN LÀ (đó là một lộ trình riêng).
Sử dụng lời nhắc này định kỳ (hàng tháng hoặc sau khi bổ sung tính năng chính) để giữ CLAUDE.md đồng bộ hóa với cơ sở mã thực tế. Nó thực hiện sự khác biệt giữa hệ thống thiết kế được ghi lại và mã hiện tại, đánh dấu sự trôi dạt.
Bạn là người kiểm tra hệ thống thiết kế đang thực hiện kiểm tra đồng bộ hóa. So sánh tài liệu hệ thống thiết kế CLAUDE.md hiện tại với tài liệu codebase thực tế và tạo ra một báo cáo trôi dạt. ## Đầu vào - **CLAUDE.md:** paste_or_reference_file - **Cơ sở mã hiện tại:** path_or_uploaded_files ## Kiểm tra: 1. **Mã thông báo mới không có giấy tờ** - Giá trị màu trong mã không có trong CLAUDE.md - Giá trị khoảng cách được sử dụng nhưng không được xác định - Kích thước hoặc trọng lượng phông chữ mới 2. **Mã thông báo không được dùng nữa vẫn còn trong mã** - Mã thông báo được ghi nhận là không dùng nữa nhưng vẫn được sử dụng - Số lần sử dụng còn lại trên mỗi mã thông báo không dùng nữa 3. **Thành phần mới không có giấy tờ** - Các thành phần được tạo sau lần cập nhật CLAUDE.md cuối cùng - Thiếu phần thư viện thành phần 4. **Các thành phần được sửa đổi** - Đạo cụ đã thay đổi (thêm/xóa/đổi tên) - Các biến thể mới không được ghi lại - Thay đổi trực quan (các mã thông báo khác nhau được tiêu thụ) 5. **Tài liệu tham khảo bị hỏng** - CLAUDE.md tham chiếu các mã thông báo không còn tồn tại - Đường dẫn tập tin đã thay đổi - Nhập đường dẫn đã lỗi thời 6. **Vi phạm quy ước** - Mã vi phạm quy tắc CLAUDE.md (màu nội tuyến, trạng thái tiêu điểm bị thiếu, v.v.) - Đếm và vị trí từng loại vi phạm ## Đầu ra Một báo cáo giảm giá với: - **Số liệu thống kê tóm tắt:** X mã thông báo mới, Y không được dùng nữa, thành phần Z được sửa đổi - **Các mục hành động** được ưu tiên theo mức độ nghiêm trọng (phá vỡ → không nhất quán → thẩm mỹ) - **Các phần CLAUDE.md đã cập nhật** sẵn sàng để sao chép-dán (chỉ những phần đã thay đổi)
Sử dụng lời nhắc này khi cơ sở mã đã thay đổi kể từ khi FORME.md cuối cùng được viết. Nó thực hiện sự khác biệt giữa tài liệu và mã hiện tại, sau đó chỉ tạo ra các phần cần cập nhật chứ không phải toàn bộ tài liệu từ đầu.
Bạn đang cập nhật tệp tài liệu FORME.md hiện có để phản ánh những thay đổi trong cơ sở mã kể từ lần cuối nó được viết. ## Đầu vào - **FORGME.md hiện tại:** paste_or_reference_file - **Cơ sở mã được cập nhật:** upload_files_or_provide_path - **Những thay đổi đã biết (nếu có):** [e.g., "We added Stripe integration and switched from REST to tRPC" — or "I don't know what changed, figure it out"] ## Nhiệm vụ của bạn 1. **Phân tích khác biệt:** So sánh tài liệu với mã hiện tại. Xác định những gì mới, những gì đã thay đổi và những gì đã bị xóa. 2. **Đánh giá tác động:** Đối với mỗi thay đổi, hãy xác định: - Phần FORME.md nào bị ảnh hưởng - Cho dù thay đổi là về mặt thẩm mỹ (đã đổi tên tệp) hay về cấu trúc (luồng dữ liệu mới) - Liệu các tương tự hiện có vẫn còn tồn tại hay cần cập nhật 3. **Tạo bản cập nhật:** Đối với từng phần bị ảnh hưởng: - Viết văn bản THAY THẾ (không phải toàn bộ tài liệu, chỉ những phần đã thay đổi) - Đánh dấu rõ ràng: section_name → [REPLACE FROM "..." TO "..."] - Giữ nguyên giọng điệu, hệ thống tương tự và phong cách như bản gốc 4. **Bổ sung mới:** Nếu có hệ thống/tính năng hoàn toàn mới: - Viết các tiểu mục mới theo cấu trúc và giọng điệu tương tự - Tích hợp chúng vào đúng vị trí trong tài liệu - Cập nhật phần Hình ảnh lớn nếu mô tả tổng thể hệ thống thay đổi 5. **Mục nhập nhật ký thay đổi:** Thêm mục nhập ngày tháng ở đầu tài liệu: "### Đã cập nhật date — [one-line summary of what changed]" ## Quy tắc - KHÔNG viết lại những phần chưa thay đổi - KHÔNG phá vỡ các tương tự hiện có trừ khi hệ thống cơ bản thay đổi - Nếu một công nghệ được thay thế, hãy cập nhật tương tự "phi hành đoàn" (hoặc tương đương) - Giữ nguyên giọng nói — nếu bản gốc là bình thường, hãy giữ bình thường - Gắn cờ bất cứ điều gì bạn không chắc chắn: "Tôi nhận thấy [X] nhưng không thể xác định liệu [Y]"
Một hệ thống nhắc nhở để tạo tài liệu dự án bằng ngôn ngữ đơn giản. Lời nhắc này tạo ra tệp [FORME].md (hoặc bất kỳ tên tùy chỉnh nào) một tài liệu sống giải thích toàn bộ dự án của bạn bằng ngôn ngữ đơn giản. Nó được thiết kế dành cho những người sáng lập, chủ sở hữu sản phẩm và nhà thiết kế không chuyên về kỹ thuật, những người cần hiểu sâu về hệ thống kỹ thuật mà họ chịu trách nhiệm mà không cần đọc mã. Tài liệu này không làm mọi thứ trở nên ngu ngốc. Nó làm cho những điều phức tạp trở nên dễ đọc thông qua phép loại suy, tường thuật và cấu trúc.
Bạn là một nhà văn kỹ thuật cấp cao chuyên tạo ra các hệ thống phức tạp dễ hiểu đối với những người không phải là kỹ sư. Bạn có năng khiếu so sánh, tường thuật và biến sơ đồ kiến trúc thành những câu chuyện. Tôi cần bạn phân tích dự án này và viết một tài liệu toàn diện tệp có tên `FORME.md` giải thích mọi thứ về dự án này trong ngôn ngữ đơn giản. ## Bối cảnh dự án - **Tên dự án:** name - **Công dụng của nó (một câu):** [e.g., "A SaaS platform that lets restaurants manage their own online ordering without paying commission to aggregators"] - **Vai trò của tôi:** [e.g., "I'm the founder / product owner / designer — I don't write code but I make all product and architecture decisions"] - **Ngăn xếp công nghệ (nếu bạn biết):** [e.g., "Next.js, Supabase, Tailwind" or "I'm not sure, figure it out from the code"] - **Sân khấu:** [MVP / v1 in production / scaling / legacy refactor] ## Cơ sở mã [Upload files, provide path, or paste key files] ## Cấu trúc tài liệu Viết FORME.md với các phần này theo thứ tự sau: ### 1. Bức tranh lớn (Tổng quan dự án) Bắt đầu bằng phần tóm tắt dài 3-4 câu mà ai cũng có thể hiểu được. Sau đó cung cấp: - Việc này giải quyết được vấn đề gì và cho ai - Cách người dùng tương tác với nó (hành trình của người dùng bằng từ ngữ đơn giản) - Tương tự "nếu đây là một nhà hàng" (hoặc tương tự) cho toàn bộ hệ thống ### 2. Kiến trúc kỹ thuật - Blueprint Giải thích cách hệ thống được thiết kế và TẠI SAO những lựa chọn đó được thực hiện. - Vẽ kiến trúc bằng sơ đồ văn bản đơn giản (hộp và mũi tên) - Giải thích từng lớp/dịch vụ chính giống như bạn đang đi tham quan tòa nhà: "Đây là nhà bếp (lớp API) - tất cả công việc thực sự đều diễn ra ở đây. Đơn hàng đến từ quầy lễ tân (frontend), được xử lý tại đây, và kết quả được lưu trữ trong tủ hồ sơ (cơ sở dữ liệu)." - Đối với mọi quyết định về kiến trúc, hãy trả lời: "Tại sao lại như vậy mà không phải là giải pháp thay thế rõ ràng?" - Làm nổi bật bất kỳ lựa chọn thông minh hoặc bất thường nào mà nhà phát triển đã thực hiện ### 3. Cấu trúc cơ sở mã - Hệ thống lưu trữ Lập bản đồ tổ chức tập tin và thư mục của dự án. - Hiển thị cây thư mục (2-3 cấp cao nhất) - Với mỗi thư mục chính, giải thích: - Những gì sống ở đây (nói một cách dễ hiểu) - Khi nào ai đó cần mở thư mục này - Làm thế nào nó liên quan đến các thư mục khác - Gắn cờ mọi quy ước đặt tên không rõ ràng - Xác định "điểm vào" — các tệp nơi mọi thứ bắt đầu ### 4. Kết nối & Luồng dữ liệu - Cách mọi thứ giao tiếp với nhau Theo dõi cách dữ liệu di chuyển trong hệ thống. - Chọn 2-3 hành động cốt lõi của người dùng (ví dụ: "người dùng đăng ký", "người dùng đặt hàng") - Đối với mỗi hành động, hãy thực hiện ĐẦY ĐỦ hành trình theo từng bước: "Khi người dùng nhấp vào 'Đặt hàng', đây là những gì diễn ra sau hậu trường: 1. Nút kích hoạt một chức năng trong [file] — hãy coi nó như rung chuông 2. Âm thanh chuông đó truyền đến api_route — nhà bếp nghe thấy mệnh lệnh 3. Nhà bếp kiểm tra với [database] — chúng ta có nguyên liệu không? 4. Nếu có, nó sẽ gửi lại xác nhận - người phục vụ mang hóa đơn" - Giải thích các kết nối dịch vụ bên ngoài (thanh toán, email, API) và điều gì sẽ xảy ra nếu chúng không thành công - Mô tả quy trình xác thực (làm thế nào ứng dụng biết bạn là ai?) ### 5. Lựa chọn công nghệ - Hộp công cụ Đối với mọi công nghệ/thư viện/dịch vụ quan trọng được sử dụng: - Nó là gì (một câu, không có biệt ngữ) - Cụ thể nó làm công việc gì trong dự án này - Tại sao nó được chọn thay vì các lựa chọn thay thế (hãy cụ thể: "Chúng tôi sử dụng Supabase thay vì Firebase vì...") - Bất kỳ hạn chế hoặc sự đánh đổi nào bạn nên biết - Ý nghĩa về chi phí (cấp miễn phí? trả phí? dựa trên mức sử dụng?) Định dạng dưới dạng bảng: | Công nghệ | Nó làm gì ở đây | Tại sao cái này | Hãy coi chừng | |----------|-------------------|-------------|--------------| ### 6. Môi trường & Cấu hình Giải thích cách thiết lập mà không thừa nhận kiến thức kỹ thuật: - Những biến môi trường nào tồn tại và mỗi biến môi trường kiểm soát những gì (bằng ngôn ngữ đơn giản) - Các môi trường khác nhau hoạt động như thế nào (phát triển, dàn dựng và sản xuất) - "Nếu bạn cần thay đổi [X], bạn nên cập nhật [Y] — nhưng hãy cẩn thận vì [Z]" - Mọi bí mật/khóa và dịch vụ nào chúng kết nối (KHÔNG phải giá trị thực tế) ### 7. Bài học rút ra — Những câu chuyện chiến tranh Đây là phần có giá trị nhất. Tài liệu: **Lỗi & cách sửa lỗi:** - Các lỗi lớn gặp phải trong quá trình phát triển - Nguyên nhân gây ra chúng (giải thích đơn giản) - Chúng đã được sửa như thế nào - Làm thế nào để tránh những vấn đề tương tự trong tương lai **Cạm bẫy & bom mìn:** - Những điều tưởng chừng đơn giản nhưng thực chất lại phức tạp - "Nếu bạn cần thay đổi [X], hãy cẩn thận vì nó cũng ảnh hưởng đến [Y] và [Z]" - Nợ kỹ thuật đã biết và tại sao nó tồn tại **Khám phá:** - Khám phá các công nghệ hoặc kỹ thuật mới - Điều gì đã làm tốt và điều gì chưa tốt - "Nếu được bắt đầu lại, tôi sẽ..." **Trí tuệ kỹ thuật:** - Thực tiễn tốt nhất xuất hiện từ dự án này - Các mẫu đã được chứng minh là đáng tin cậy - Các kỹ sư giàu kinh nghiệm nghĩ như thế nào về những vấn đề này ### 8. Thẻ tham khảo nhanh Một bảng cheat ở cuối: - Cách chạy dự án cục bộ (từng bước, giả sử không thiết lập) - Các URL chính (sản xuất, dàn dựng, bảng quản trị, bảng điều khiển) - Ai/đi đâu khi có chuyện gì xảy ra - Các lệnh thông dụng nhất ## Quy tắc viết - KHÔNG THỂ THƯƠNG MẠI 1. **Không có thuật ngữ khó giải thích.** Mọi thuật ngữ kỹ thuật đều có ý nghĩa ngay lập tức giải thích bằng ngôn ngữ đơn giản hoặc tương tự trong lần sử dụng đầu tiên. Bạn có thể sử dụng thuật ngữ kỹ thuật sau đó, nhưng người đọc phải hiểu nó trước. 2. **Sử dụng phép loại suy một cách tích cực.** So sánh hệ thống với các nhà hàng, bưu điện, thư viện, nhà máy, dàn nhạc - bất cứ điều gì tạo nên nhấp chuột vào khái niệm. Sự tương tự phải nhất quán trong một phần (đừng chuyển từ nhà hàng sang bệnh viện khi đang giải thích). 3. **Kể câu chuyện TẠI SAO.** Đừng chỉ ghi lại những gì tồn tại. Giải thích tại sao các quyết định được đưa ra, những lựa chọn thay thế nào được xem xét, và những sự đánh đổi nào đã được chấp nhận. "Chúng tôi chọn X vì Y, mặc dù điều đó có nghĩa là chúng ta không thể dễ dàng thực hiện Z sau này." 4. **Hãy hấp dẫn.** Sử dụng giọng điệu đàm thoại, các câu hỏi tu từ, hài hước nhẹ nhàng khi thích hợp. Tài liệu này phải là một cái gì đó ai đó thực sự MUỐN đọc chứ không phải thứ họ bị ép buộc. Nếu một phần nhàm chán, hãy viết lại nó cho đến khi nó không còn nhàm chán nữa. 5. **Thành thật về các vấn đề.** Gắn cờ nợ kỹ thuật, các vấn đề đã biết, và các quyết định "chúng tôi làm điều này vì áp lực thời gian". Tài liệu này sẽ hữu ích hơn khi nó trung thực hơn là khi nó bóng bẩy. 6. **Bao gồm "điều gì có thể xảy ra" cho mọi hệ thống chính.** Không phải để sợ hãi mà là để chuẩn bị. "Nếu dịch vụ thanh toán ngừng hoạt động, đây là những gì sẽ xảy ra và đây là những gì phải làm." 7. **Sử dụng tiết lộ lũy tiến.** Bắt đầu mỗi phần với phiên bản đơn giản, sau đó đi sâu hơn. Người đọc có thể dừng lại tại bất kỳ thời điểm nào và vẫn có một sự hiểu biết hữu ích. 8. **Định dạng để có thể quét được.** Sử dụng tiêu đề, từ khóa in đậm, ngắn gọn đoạn văn và dấu đầu dòng cho danh sách. Nhưng hãy sử dụng văn xuôi (không phải đạn) để giải thích và kể chuyện. ## Giai điệu mẫu SAI - khô khan và nặng về biệt ngữ: "Ứng dụng triển khai kết xuất phía máy chủ với tốc độ tăng dần tái tạo tĩnh, sử dụng Bộ định tuyến ứng dụng Next.js với React Server Các thành phần cho TTFB tối ưu." ĐÚNG - rõ ràng và hấp dẫn: "Khi ai đó truy cập trang web của chúng tôi, máy chủ sẽ tạo trang trước đó gửi nó - giống như một nhà hàng chuẩn bị bữa ăn cho bạn trước khi bạn đến thay vì bắt đầu lại từ đầu khi bạn ngồi xuống. Đây được gọi là 'kết xuất phía máy chủ' và đó là lý do tại sao các trang tải nhanh. Chúng tôi sử dụng Next.js Bộ định tuyến ứng dụng cho việc này, giống như hệ thống quy trình làm việc của nhà bếp quyết định món nào được chuẩn bị trước và món nào được nấu theo yêu cầu." SAU - liệt kê không có ngữ cảnh: "Các phần phụ thuộc: React 18, Next.js 14, Tailwind CSS, Supabase, Stripe" QUYỀN - giải thích về nhóm: "Hãy coi nhóm công nghệ của chúng ta như một nhóm, mỗi thành viên có một chuyên môn: - **React** là công cụ thiết kế bối cảnh — nó xây dựng mọi thứ bạn nhìn thấy trên màn hình - **Next.js** là trình quản lý giai đoạn — nó điều phối thời điểm và cách thức mọi thứ xuất hiện - **Tailwind** là bộ phận trang phục — nó xử lý tất cả các kiểu dáng hình ảnh - **Supabase** là nhân viên lưu trữ hồ sơ — nó lưu trữ và truy xuất tất cả dữ liệu của chúng tôi - **Stripe** là nhân viên thu ngân — nó xử lý mọi thứ về tiền bạc một cách an toàn"
Tạo tài liệu bàn giao thiết kế đóng vai trò là hướng dẫn triển khai trực tiếp cho các tác nhân mã hóa AI. Không giống như các ghi chú chuyển giao truyền thống mô tả "cảm giác" của một thiết kế, tài liệu này cung cấp các thông số kỹ thuật có thể phân tích cú pháp bằng máy mà không có sự mơ hồ. Mọi giá trị đều rõ ràng, mọi trạng thái đều được xác định, mọi trường hợp cạnh đều có quy tắc.
1# Ghi chú bàn giao thiết kế — AI-First, con người có thể đọc được23### Tài liệu bàn giao có cấu trúc được tối ưu hóa cho các tác nhân triển khai AI (Claude Code, Cursor, Copilot) trong khi vẫn rõ ràng cho các nhà phát triển con người45---67## Về lời nhắc này89**Mô tả:** Tạo tài liệu bàn giao thiết kế đóng vai trò là hướng dẫn triển khai trực tiếp cho các tác nhân mã hóa AI. Không giống như các ghi chú chuyển giao truyền thống mô tả "cảm giác" của một thiết kế, tài liệu này cung cấp các thông số kỹ thuật có thể phân tích cú pháp bằng máy mà không có sự mơ hồ. Mọi giá trị đều rõ ràng, mọi trạng thái đều được xác định, mọi trường hợp cạnh đều có quy tắc. Tài liệu được cấu trúc sao cho tác nhân AI có thể đọc từ trên xuống dưới và triển khai mà không cần đặt câu hỏi làm rõ — trong khi nhà phát triển con người cũng có thể đọc nó một cách tự nhiên.10...+586 dòng nữa
Kiểm tra một cách có hệ thống một thiết kế được xây dựng dựa trên thông số kỹ thuật dự định của nó trên các trình duyệt, thiết bị và trường hợp biên. Đây là QA của nhà thiết kế không phải kiểm tra chức năng mà là độ trung thực hình ảnh và chất lượng tương tác. Tạo danh sách vấn đề được phân loại với các bước sao chép chính xác và các bản sửa lỗi được đề xuất
Bạn là một chuyên gia QA cấp cao với con mắt của một nhà thiết kế. Công việc của bạn là tìm mọi sự khác biệt về hình ảnh, lỗi tương tác và vấn đề phản hồi trong phần này thực hiện. ## Đầu vào - **URL trực tiếp hoặc bản dựng cục bộ:** [URL / how to run locally] - **Tham khảo thiết kế:** [Figma link / design system / CLAUDE.md / screenshots] - **Trình duyệt mục tiêu:** [e.g., "Chrome, Safari, Firefox latest + Safari iOS + Chrome Android"] - **Điểm dừng mục tiêu:** [e.g., "375px, 768px, 1024px, 1280px, 1440px, 1920px"] - **Khu vực ưu tiên:** [optional — "especially check the checkout flow and mobile nav"] ## Danh sách kiểm tra kiểm tra ### 1. Kiểm tra độ trung thực trực quan Đối với mỗi trang/phần, hãy xác minh: - [ ] Khoảng cách khớp với mã thông báo hệ thống thiết kế (không "đủ gần") - [ ] Kiểu chữ: đúng phông chữ, độ dày, kích thước, chiều cao dòng, màu sắc ở mọi điểm ngắt - [ ] Màu sắc khớp chính xác với mã thông báo thiết kế (kiểm tra bằng bộ chọn màu, không phải bằng mắt) - [ ] Giá trị bán kính đường viền là chính xác - [ ] Đặc tả bóng phù hợp - [ ] Kích thước và căn chỉnh biểu tượng - [ ] Tỷ lệ khung hình và cắt xén hình ảnh - [ ] Giá trị độ mờ được sử dụng ### 2. Hành vi ứng phó Tại mỗi điểm dừng, hãy kiểm tra: - [ ] Bố cục dịch chuyển chính xác (không chồng chéo, không có phần tử mồ côi) - [ ] Văn bản vẫn có thể đọc được (không bị cắt bớt để che giấu ý nghĩa) - [ ] Chạm vào mục tiêu ≥ 44x44px trên thiết bị di động - [ ] Cuộn ngang không xuất hiện ngoài ý muốn - [ ] Hình ảnh có tỷ lệ thích hợp (không kéo giãn hoặc tạo pixel) - [ ] Điều hướng chuyển đổi chính xác (hamburger, ngăn kéo, v.v.) - [ ] Phương thức và lớp phủ hoạt động ở mọi kích thước khung nhìn - [ ] Các bảng có chiến lược di động (cuộn, xếp chồng hoặc ẩn cột) ### 3. Chất lượng tương tác - [ ] Trạng thái di chuột tồn tại trên tất cả các phần tử tương tác - [ ] Quá trình chuyển đổi khi di chuột diễn ra suôn sẻ (không phải tức thời) - [ ] Trạng thái tiêu điểm hiển thị trên tất cả các thành phần tương tác (điều hướng bàn phím) - [ ] Trạng thái hoạt động/nhấn cung cấp phản hồi - [ ] Trạng thái bị vô hiệu hóa có thể phân biệt được bằng mắt và không thể nhấp được - [ ] Trạng thái tải xuất hiện trong các hoạt động không đồng bộ - [ ] Hoạt ảnh mượt mà (không bị giật, không bị dịch chuyển bố cục) - [ ] Kích hoạt hoạt ảnh cuộn ở đúng vị trí - [ ] Quá trình chuyển đổi trang (nếu có) diễn ra suôn sẻ ### 4. Các trường hợp biên nội dung - [ ] Văn bản rất dài trong tiêu đề, nút, nhãn (nó ngắt dòng hay cắt ngắn?) - [ ] Văn bản rất ngắn (bố cục có bị thu gọn không?) - [ ] Dự phòng không có hình ảnh (hình ảnh bị hỏng hoặc thiếu dữ liệu) - [ ] Trạng thái trống cho tất cả danh sách/lưới/bảng - [ ] Một mục trong danh sách/lưới (bố cục có còn hợp lý không?) - [ ] Hơn 100 mục (nó có phân trang hay bị hỏng không?) - [ ] Ký tự đặc biệt trong dữ liệu nhập của người dùng (dấu, biểu tượng cảm xúc, văn bản RTL) ### 5. Kiểm tra nhanh khả năng truy cập - [ ] Tất cả hình ảnh đều có văn bản thay thế - [ ] Độ tương phản màu ≥ 4,5:1 đối với văn bản nội dung, ≥ 3:1 đối với văn bản lớn - [ ] Đầu vào biểu mẫu có nhãn được liên kết (không chỉ phần giữ chỗ) - [ ] Thông báo lỗi được thông báo tới trình đọc màn hình - [ ] Thứ tự tab hợp lý (theo thứ tự trực quan) - [ ] Bẫy lấy nét hoạt động theo chế độ (không thể tab phía sau) - [ ] Đã tồn tại liên kết chuyển sang nội dung - [ ] Không có thông tin nào được truyền tải chỉ bằng màu sắc ### 6. Hiệu suất Tác động trực quan - [ ] Không thay đổi bố cục trong khi tải trang (CLS) - [ ] Hình ảnh tải dần dần (làm mờ hoặc khung xương, không bật lên) - [ ] Phông chữ không gây ra FOUT/FOIT (flash của văn bản không được định kiểu/ẩn) - [ ] Nội dung trong màn hình đầu tiên hiển thị nhanh - [ ] Ảnh động không gây sụt khung hình trên các thiết bị tầm trung ## Định dạng đầu ra ### Báo cáo vấn đề | # | Trang | Vấn đề | Danh mục | Mức độ nghiêm trọng | Trình duyệt/Thiết bị | Ảnh chụp màn hình Mô tả | Sửa đề xuất | |---|------|-------|----------|----------|--------------|----------------------|-------| | 1 | ... | ... | Trực quan/Đáp ứng/Tương tác/A11y/Hiệu suất | Quan trọng/Cao/Trung bình/Thấp | ... | ... | ... | ### Thống kê tóm tắt - Tổng số vấn đề: X - Quan trọng: X | Cao: X | Trung bình: X | Thấp: X - Theo danh mục: Trực quan: X | Đáp ứng: X | Tương tác: X | A11y: X | Hiệu suất: X - Top 5 vấn đề cần khắc phục đầu tiên (tác động cao nhất) ### Định nghĩa mức độ nghiêm trọng - **Nghiêm trọng:** Chức năng hoặc bố cục bị hỏng khiến việc sử dụng không thể thực hiện được - **Cao:** Vấn đề hiển hiện rõ ràng ảnh hưởng đến trải nghiệm người dùng - **Trung bình:** Đáng chú ý khi kiểm tra kỹ, không cản trở việc sử dụng - **Thấp:** Vấn đề nhỏ về đánh bóng, cách khắc phục dễ dàng
Chạy phân tích tập trung vào hiệu suất của trang web được xây dựng và đưa ra các đề xuất tối ưu hóa có thể thực hiện được. Đây không chỉ là "chạy Lighthouse" mà còn diễn giải kết quả, ưu tiên khắc phục theo tỷ lệ tác động trên nỗ lực và cung cấp các giải pháp sẵn sàng triển khai. Viết cho một nhà thiết kế cần truyền đạt các vấn đề về hiệu suất cho các nhà phát triển.
Bạn là một chuyên gia về hiệu suất web. Phân tích trang web này và cung cấp đề xuất tối ưu hóa mà một nhà thiết kế có thể hiểu và nhà phát triển có thể triển khai ngay. ## Đầu vào - **URL trang web:** url - **Các vấn đề đã biết hiện tại:** [optional — "slow on mobile", "images are huge"] - **Điểm mục tiêu:** [optional — "LCP under 2.5s, CLS under 0.1"] - **Lưu trữ:** [Vercel / Netlify / custom server / don't know] ## Khu vực phân tích ### 1. Đánh giá các chỉ số quan trọng của trang web Đối với mỗi số liệu, hãy giải thích: - **Nó đo lường những gì** (bằng ngôn ngữ đơn giản) - **Điểm hiện tại** (tốt / cần cải thiện / kém) - **Điều gì gây ra tỷ số** - **Cách khắc phục** (các bước cụ thể, có thể thực hiện được) Số liệu: - LCP (Nội dung có nội dung lớn nhất) — "nội dung chính xuất hiện nhanh như thế nào?" - FID/INP (Tương tác với lần sơn tiếp theo) — "nó phản hồi các lần nhấp chuột nhanh như thế nào?" - CLS (Thay đổi bố cục tích lũy) — "nội dung có nhảy lung tung trong khi tải không?" ### 2. Tối ưu hóa hình ảnh - Liệt kê mọi hình ảnh lớn hơn mức cần thiết - Đề xuất thay đổi định dạng (PNG→WebP, không nén→nén) - Xác định việc triển khai hình ảnh đáp ứng bị thiếu - Gắn cờ hình ảnh đang tải trong màn hình đầu tiên mà không có gợi ý ưu tiên - Đề xuất ứng viên lười tải ### 3. Tối ưu hóa phông chữ - Kích thước tệp phông chữ và chiến lược tải - Cơ hội tập hợp con (bạn có cần tất cả 800 glyph không?) - Chiến lược hiển thị (hoán đổi, tùy chọn, dự phòng) - Đề xuất Tự lưu trữ so với CDN ### 4. Phân tích JavaScript - Phân tích kích thước gói (cái gì nặng?) - Tỷ lệ phần trăm JavaScript không được sử dụng - Tập lệnh chặn kết xuất - Tác động kịch bản của bên thứ ba ### 5. Phân tích CSS - Phần trăm CSS không được sử dụng - Bảng định kiểu chặn kết xuất - Cơ hội trích xuất CSS quan trọng ### 6. Lưu vào bộ nhớ đệm & phân phối - Tiêu đề bộ đệm hiện có và chính xác không? - Sử dụng CDN - Đã bật tính năng nén (gzip/brotli)? ## Định dạng đầu ra ### Tóm tắt nhanh (dành cho khách hàng/các bên liên quan) 3-4 câu: hiện trạng, vấn đề lớn nhất, mong đợi cải thiện. ### Lộ trình tối ưu hóa | Ưu tiên | Vấn đề | Tác động | Nỗ lực | Cách khắc phục | |----------|-------|--------|--------|----------| | 1 | ... | Cao | Thấp | specific_steps | | 2 | ... | ... | ... | ... | ### Cải thiện điểm số mong đợi | Số liệu | Hiện tại | Sau khi thắng nhanh | Sau khi tối ưu hóa hoàn toàn | |--------|----------|-----------------|-----------------------| | Hiệu suất | ... | ... | ... | | LCP | ... | ... | ... | | CLS | ... | ... | ... | ### Đoạn mã triển khai Đối với 5 cách khắc phục hàng đầu, hãy cung cấp mã hoặc cấu hình sẵn sàng sao chép-dán.
Tạo danh sách kiểm tra toàn diện, dành riêng cho dự án trước khi ra mắt, bao gồm mọi danh mục mà nhà thiết kế nên xác minh trước khi đi vào hoạt động. Không phải là một danh sách chung chung, nó được điều chỉnh phù hợp với yêu cầu, tính năng và yêu cầu về công nghệ của dự án cụ thể.
Bạn là một chuyên gia sẵn sàng ra mắt. Tạo ra một cách toàn diện
danh sách kiểm tra trước khi ra mắt được điều chỉnh cho phù hợp với dự án cụ thể này.
## Bối cảnh dự án
- **Dự án:** [name, type, description]
- **Ngăn xếp công nghệ:** [framework, hosting, services]
- **Tính năng:** key_features_that_need_verification
- **Loại khởi chạy:** [soft launch / public launch / client handoff]
- **Miền:** [is DNS already configured?]
## Tạo danh sách kiểm tra Bao gồm:
### Chức năng
- Tất cả các luồng người dùng quan trọng đều hoạt động từ đầu đến cuối
- Tất cả các biểu mẫu gửi chính xác và hiển thị phản hồi phù hợp
- Luồng thanh toán hoạt động (nếu có) - thử nghiệm với hộp cát thực
- Xác thực hoạt động (đăng nhập, đăng xuất, đặt lại mật khẩu, hết hạn phiên)
- Thông báo email gửi chính xác (kiểm tra thư mục thư rác)
- Tích hợp của bên thứ ba phản hồi chính xác
- Xử lý lỗi có hiệu quả (điều gì xảy ra khi mọi thứ bị hỏng?)
### Nội dung & Sao chép
- Không còn lorem ipsum
- Tất cả các liên kết đều hoạt động (không có 404)
- Trang pháp lý tồn tại (chính sách bảo mật, điều khoản, sự đồng ý cookie)
- Thông tin liên hệ là chính xác
- Năm bản quyền hiện tại
- Liên kết truyền thông xã hội trỏ đến hồ sơ chính xác
- Tất cả hình ảnh đều có văn bản thay thế
- Favicon được đặt (tất cả các kích cỡ)
### Quét phần giữ chỗ trực quan 🔴
Quét toàn bộ cơ sở mã và trang web được triển khai để tìm nội dung trực quan giữ chỗ
cái đó phải được thay thế trước khi ra mắt. Đây là một danh mục TIÊU CHUẨN - một
hình ảnh giữ chỗ trên một trang web trực tiếp còn nguy hiểm hơn lỗi đánh máy.
**Quét cơ sở mã — tìm kiếm các mẫu sau:**
- URL chứa: `placeholder`, `via.placeholder.com`, `placehold.co`,
`picsum.photos`, `unsplash.it/random`, `dummyimage.com`, `placekitten`,
`placebear`, `fakeimg`
- Tên file chứa: `placeholder`, `dummy`, `sample`, `example`,
`temp`, `test-image`, `default-`, `no-image`
- Giá trị mặc định của Next.js/Vercel: `public/next.svg`, `public/vercel.svg`,
`public/thirteen.svg`, `app/favicon.ico` (nếu vẫn là mặc định của Next.js)
- Hình ảnh bản mẫu khung vẫn còn trong thư mục `public/`
- Kích thước được mã hóa cứng không có hình ảnh thực: `width={400} height={300}`
được ghép nối với div màu xám hoặc thiếu src
- Mẫu giữ chỗ SVG: SVG nội tuyến được sử dụng làm hình ảnh tạm thời
(thường là hình chữ nhật màu xám có biểu tượng ở giữa)
**Kiểm tra cấp độ thành phần:**
- Các thành phần hình đại diện quay trở lại biểu tượng người dùng chung — là dự phòng
được thiết kế hay nó là mặc định của thư viện?
- Các thành phần thẻ có `image?: string` prop — nội dung hiển thị khi không
hình ảnh được thông qua? Đó là trạng thái trống được thiết kế hay bố cục bị hỏng?
- Phần anh hùng/biểu ngữ - hình nền cuối cùng hay mẫu nhà phát triển?
- Lưới sản phẩm/danh mục đầu tư — là tất cả các mục sử dụng hình ảnh thực hoặc một số
vẫn sử dụng cùng một hình ảnh thử nghiệm lặp đi lặp lại?
- Thành phần logo — đây là tệp logo cuối cùng hay phần giữ chỗ văn bản?
- Hình ảnh OG (thẻ meta `og:image`) — đây là nội dung được thiết kế hay
mặc định khung/lưu trữ?
**Kiểm tra của bên thứ ba và CDN:**
- Hình ảnh được tải từ CDN chỉ dành cho phát triển (ví dụ: `picsum.photos`)
- Hình mờ trên ảnh stock vẫn hiển thị (tìm kiếm hình ảnh >500kb
có thể là cổ phiếu chưa được mua)
- Hình ảnh có `lorem` hoặc `test` trong văn bản thay thế
**Định dạng đầu ra:**
Tạo một bảng chứa mọi phần giữ chỗ được tìm thấy:
| # | Đường dẫn tệp | Dòng | Loại | Giá trị hiện tại | Mức độ nghiêm trọng | Cần hành động |
|---|----------|------|------|--------------|----------|---------------|
| 1 | `src/app/page.tsx` | 42 | URL hình ảnh | `via.placeholder.com/800x400` | 🔴 Quan trọng | Thay thế bằng hình ảnh anh hùng |
| 2 | `public/favicon.ico` | — | Khung mặc định | Favicon mặc định của Next.js | 🔴 Quan trọng | Thay thế bằng favicon thương hiệu |
| 3 | `src/components/Card.tsx` | 18 | Thiếu dự phòng | Không có hình ảnh = bố cục bị hỏng | 🟡 Cao | Thiết kế trạng thái trống |
Mức độ nghiêm trọng:
- 🔴 Quan trọng: Hiển thị với người dùng trên các trang chính (anh hùng, trong màn hình đầu tiên, hình ảnh OG)
- 🟡 Cao: Hiển thị với người dùng trong cách sử dụng thông thường (thẻ, hình đại diện, hình ảnh nội dung)
- 🟠 Trung bình: Hiển thị trong các trường hợp khó khăn (trạng thái trống, trang lỗi, dự phòng)
- ⚪ Thấp: Chỉ trong mã, không hướng tới người dùng (đồ đạc thử nghiệm, tuyến đường chỉ dành cho nhà phát triển)
###SEO & Siêu dữ liệu
- Tiêu đề trang mang tính duy nhất và mang tính mô tả
- Mô tả meta được viết cho mỗi trang
- Mở thẻ Đồ thị để chia sẻ trên mạng xã hội (thử nghiệm với trình gỡ lỗi chia sẻ)
- Robots.txt được cấu hình đúng
- Sitemap.xml tồn tại và được gửi
- URL Canonical được thiết lập
- Đánh dấu dữ liệu / lược đồ có cấu trúc (nếu có)
### Hiệu suất
- Điểm Lighthouse đạt chỉ tiêu
- Hình ảnh được tối ưu hóa và đáp ứng
- Phông chữ được tải hiệu quả
- Không có lỗi giao diện điều khiển trong quá trình xây dựng sản xuất
- Analytics được cài đặt và theo dõi
### Bảo mật
- HTTPS được thực thi (không có nội dung hỗn hợp)
- Các biến môi trường được thiết lập trong sản xuất
- Không có khóa API nào được hiển thị trong mã giao diện người dùng
- Giới hạn tỷ lệ trên các hình thức (ngăn chặn thư rác)
- CORS được cấu hình đúng
- Tiêu đề CSP (nếu có)
### Đa nền tảng
- Đã thử nghiệm trên: Chrome, Safari, Firefox (mới nhất)
- Đã thử nghiệm trên: iOS Safari, Android Chrome
- Đã thử nghiệm tại các điểm dừng quan trọng
- In biểu định kiểu (nếu người dùng có thể in)
### Cơ sở hạ tầng
- Tên miền đã được kết nối và SSL đang hoạt động
- Chuyển hướng từ www/không phải www được định cấu hình
- Trang 404 được thiết kế (không mặc định)
- Trang lỗi được thiết kế (500, bảo trì)
- Sao lưu được cấu hình (cơ sở dữ liệu, nếu có)
- Thiết lập giám sát/kiểm tra thời gian hoạt động
### Handoff (nếu là dự án của khách hàng)
- Khách hàng có quyền truy cập vào tất cả các tài khoản (lưu trữ, tên miền, phân tích)
- Tài liệu đầy đủ (FORGOKBEY.md hoặc tương đương)
- Đào tạo được lên kế hoạch hoặc ghi lại
- Thỏa thuận hỗ trợ/bảo trì rõ ràng
## Định dạng đầu ra
Danh sách kiểm tra đánh dấu với:
- [ ] Mỗi mục là một hộp có thể đánh dấu
- Được nhóm theo danh mục
- Cờ ưu tiên cho các mục quan trọng (🔴 phải sửa trước khi ra mắt)
- Mỗi mục bao gồm một dòng ghi chú "cách xác minh"