Một câu lệnh được thiết kế để phân tích cơ sở mã nguồn (codebase) và tạo tài liệu Markdown toàn diện phù hợp cho nhiều nhóm đối tượng: ban điều hành, đội ngũ kỹ thuật, quản lý sản phẩm và bộ phận kinh doanh. Câu lệnh hướng dẫn AI trích xuất mục đích hệ thống ở cấp độ tổng quan, kiến trúc, các thành phần cốt lõi, luồng xử lý, tính năng sản phẩm, miền nghiệp vụ và các giới hạn phân tích, tạo ra một tài liệu khám phá và hội nhập (onboarding) hữu ích cho cả những bên liên quan có chuyên môn kỹ thuật lẫn phi kỹ thuật.
# **Câu Lệnh Phân Tích Mã Nguồn và Khởi Tạo Tài Liệu Hệ Thống** Bạn là một chuyên gia về phân tích mã nguồn và xây dựng tài liệu hệ thống. Nhiệm vụ của bạn là phân tích mã nguồn được cung cấp trong dự án/không gian làm việc (workspace) này và tạo ra một tài liệu Markdown toàn diện đóng vai trò làm cẩm nang hội nhập (onboarding guide) cho nhiều nhóm đối tượng độc giả khác nhau (ban điều hành, kỹ thuật, kinh doanh và sản phẩm). ## **Hướng Dẫn Thực Hiện** Hãy phân tích mã nguồn được cung cấp và trích xuất các thông tin sau đây, sắp xếp chúng thành một tài liệu Markdown có cấu trúc chặt chẽ: --- ## **1. Góc Nhìn Cấp Điều Hành (Executive-Level View): Tóm Tắt Điều Hành** ### **Mục Đích Của Ứng Dụng (Application Purpose)** - Mục tiêu chính của hệ thống này là gì? - Ở cấp độ tổng thể, hệ thống này hướng tới giải quyết bài toán hay vấn đề gì? ### **Cách Thức Hoạt Động (Ở Cấp Độ Tổng Quan)** - Mô tả luồng hoạt động tổng thể của hệ thống một cách ngắn gọn và dễ hiểu đối với những người đọc không chuyên về kỹ thuật. - Các bước hoặc quy trình chính mà hệ thống thực hiện là gì? ### **Các Quy Tắc Nghiệp Vụ Cấp Cao (High-Level Business Rules)** - Xác định và mô tả các quy tắc nghiệp vụ chính đang được triển khai bên trong mã nguồn. - Những chính sách kinh doanh, ràng buộc hoặc logic nền tảng nào mà hệ thống đang tuân theo? ### **Các Lợi Ích Cốt Lõi (Key Benefits)** - Những lợi ích chính yếu mà hệ thống này mang lại cho tổ chức hoặc người dùng của nó là gì? --- ## **2. Góc Nhìn Cấp Kỹ Thuật (Technical-Level View): Tổng Quan Công Nghệ** ### **Kiến Trúc Hệ Thống (System Architecture)** - Mô tả kiến trúc tổng thể của hệ thống dựa trên kết quả phân tích mã nguồn. - Hệ thống có tuân theo một mẫu kiến trúc cụ thể nào không (ví dụ: Nguyên khối Monolithic, Vi dịch vụ Microservices, v.v.)? - Các thành phần hoặc module chính được xác định trong hệ thống là gì? ### **Các Công Nghệ Được Sử Dụng (Technology Stack)** - Liệt kê toàn bộ các ngôn ngữ lập trình, frameworks, thư viện, cơ sở dữ liệu và những công nghệ khác được sử dụng trong dự án. ### **Các Luồng Kỹ Thuật Chính (Main Technical Flows)** - Trình bày chi tiết các luồng dữ liệu và luồng thực thi chính bên trong hệ thống. - Các thành phần khác nhau tương tác và giao tiếp với nhau như thế nào? ### **Các Thành Phần Trọng Yếu (Key Components)** - Xác định và mô tả những thành phần hệ thống quan trọng nhất, giải thích rõ vai trò và trách nhiệm của từng thành phần bên trong kiến trúc chung. ### **Độ Phức Tạp Của Mã Nguồn (Nhận Xét Đánh Giá)** - Dựa trên quá trình phân tích của bạn, hãy đưa ra những nhận xét tổng quan về độ phức tạp của mã nguồn (ví dụ: cấu trúc tốt, phân chia module rõ ràng, hoặc chỉ ra những khu vực có độ phức tạp cao dễ nhận thấy). ### **Sơ Đồ Trực Quan (Diagrams)** - Khởi tạo các sơ đồ cấp cao để trực quan hóa kiến trúc và hành vi của hệ thống: - Sơ đồ thành phần (Component diagram - tập trung vào các module lớn và sự tương tác giữa chúng) - Sơ đồ luồng dữ liệu (Data flow diagram - thể hiện cách thông tin di chuyển xuyên suốt hệ thống) - Sơ đồ lớp (Class diagram - trình bày các lớp chính và mối quan hệ giữa chúng, nếu áp dụng) - Sơ đồ triển khai rút gọn (Simplified deployment diagram - thể hiện nơi các thành phần chạy thực tế, nếu có thể nhận biết từ mã nguồn) - Sơ đồ hạ tầng/triển khai rút gọn (nếu các chi tiết cấu hình hạ tầng hiện diện rõ trong dự án) - **Hãy tạo các sơ đồ nêu trên bằng cú pháp Mermaid ngay bên trong tệp Markdown. Các sơ đồ nên giữ ở mức tổng quan cấp cao, tránh vẽ quá chi tiết gây rối mắt.** --- ## **3. Góc Nhìn Sản Phẩm (Product View): Tóm Tắt Sản Phẩm** ### **Chức Năng Chi Tiết Của Hệ Thống (What the System Does)** - Mô tả chi tiết các chức năng chính của hệ thống. - Người dùng có thể thực hiện những tác vụ hoặc hành động cụ thể nào trên hệ thống? ### **Đối Tượng Phục Vụ Của Hệ Thống (Người Dùng / Khách Hàng)** - Xác định nhóm đối tượng mục tiêu chính của hệ thống. - Ai là người dùng cuối hoặc khách hàng được hưởng lợi trực tiếp từ hệ thống này? ### **Các Vấn Đề Hệ Thống Giải Quyết (Nhu Cầu Được Đáp Ứng)** - Hệ thống giúp giải quyết những vấn đề cụ thể nào cho người dùng hoặc cho tổ chức? - Nó đáp ứng những nhu cầu thực tế nào? ### **Các Ca Sử Dụng / Hành Trình Người Dùng (Ở Cấp Độ Tổng Quan)** - Các ca sử dụng (use cases) chính của hệ thống là gì? - Người dùng tương tác với hệ thống theo trình tự như thế nào để đạt được mục tiêu của họ? ### **Các Tính Năng Cốt Lõi (Core Features)** - Liệt kê những tính năng quan trọng nhất của hệ thống một cách rõ ràng và súc tích. ### **Các Miền Nghiệp Vụ (Business Domains)** - Xác định các miền nghiệp vụ chính mà hệ thống bao quát (ví dụ: bán hàng, quản lý kho vận, tài chính kế toán). --- ## **Các Giới Hạn Trong Quá Trình Phân Tích (Analysis Limitations)** - Những hạn chế chính gặp phải trong quá trình phân tích mã nguồn này là gì? - Mô tả ngắn gọn những yếu tố nào đã giới hạn mức độ hiểu biết đầy đủ của bạn về mã nguồn (ví dụ: thiếu tài liệu ngoài, dịch vụ bên thứ ba, cấu hình môi trường ẩn). - Đưa ra các đề xuất thiết thực nhằm giảm thiểu hoặc loại bỏ những hạn chế này. --- ## **Nguyên Tắc Trình Bày Tài Liệu (Document Guidelines)** ### **Định Dạng Tài Liệu** - Tài liệu bắt buộc phải được định dạng bằng chuẩn Markdown, với các tiêu đề chính và tiêu đề phụ rõ ràng cho từng phần. - Sử dụng danh sách gạch đầu dòng, bảng biểu và các phần tử Markdown khác để tăng tính dễ đọc và khả năng tiếp thu thông tin. ### **Hướng Dẫn Bổ Sung** - Tập trung cung cấp thông tin có giá trị ở cấp độ tổng quan, tránh sa đà vào các chi tiết triển khai mã nguồn quá nhỏ nhặt trừ khi chúng thực sự then chốt để hiểu hệ thống. - Sử dụng ngôn từ rõ ràng, cô đọng và dễ tiếp cận đối với nhiều nhóm độc giả khác nhau. - Trình bày cụ thể và sát thực tế nhất có thể dựa trên bằng chứng từ việc phân tích mã nguồn. - Tạo toàn bộ câu trả lời dưới dạng một **tài liệu Markdown (`.md`) được định dạng chỉn chu**. - Sử dụng **ngôn ngữ mạch lạc và trực diện**. - Sử dụng **các cấp tiêu đề (headings và subheadings)** bám sát theo đúng cấu trúc các phần ở trên. ### **Tiêu Đề Tài Liệu** **Phân Tích Điều Hành và Nghiệp Vụ Của Ứng Dụng – "<application-name>"** ### **Tóm Tắt Tài Liệu** Tài liệu này là kết quả của quá trình phân tích mã nguồn hệ thống <system-name> và bao gồm các lĩnh vực sau: - **Góc nhìn Cấp Điều hành:** Tóm tắt mục đích của ứng dụng, cách thức vận hành tổng quan, các quy tắc nghiệp vụ chính và những lợi ích cốt lõi. - **Góc nhìn Cấp Kỹ thuật:** Chi tiết về kiến trúc hệ thống, các công nghệ được sử dụng, luồng xử lý chính, các thành phần trọng yếu và hệ thống sơ đồ (thành phần, luồng dữ liệu, lớp và triển khai). - **Góc nhìn Sản phẩm:** Mô tả chi tiết chức năng hệ thống, người dùng mục tiêu, các vấn đề được giải quyết, các ca sử dụng chính, tính năng cốt lõi và miền nghiệp vụ. - **Các Giới hạn Phân tích:** Xác định những rào cản chính trong quá trình phân tích và đề xuất giải pháp khắc phục. Quá trình phân tích được thực hiện hoàn toàn dựa trên các tệp mã nguồn hiện có. --- ## **QUAN TRỌNG** Quá trình phân tích bắt buộc phải xem xét **TẤT CẢ các tệp trong dự án**. Hãy đọc và nắm bắt **mọi tệp cần thiết** để thực hiện nhiệm vụ và đạt được sự hiểu biết toàn diện về hệ thống. --- ## **Hành Động (Action)** Vui lòng phân tích mã nguồn hiện có trong môi trường/không gian làm việc của tôi và khởi tạo tài liệu Markdown theo đúng yêu cầu. Tên tệp đầu ra bắt buộc phải tuân theo định dạng sau: `<yyyy-mm-dd-project-name-app-discovery_cursor.md>`