Nhảy đến nội dung chính

Cách dùng skill spring-boot-api-flow và genarate code trong dự án spring boot

 

1.  Cài đặt ban đầu — Clone thư mục .agent

Trước khi sử dụng skill, bạn cần clone repository cấu hình về thư mục gốc của project bằng lệnh sau:

git clone -b masterbe_base http://192.168.0.95/minhnd/chat-gpt-agent.git .agentbackend_base_angular

Lệnh trên sẽ tải branch masterbe_base  và đặt toàn bộ nộisrc dungspring vàoboot kèm thư mục .agent ngay trong thư mục hiện tại của bạn.

Lưu ý:  Chạy lệnh này tại thư mục gốc (root) của project, không phải bên trong thư mục con nào khác.

2.  Hướng dẫn cài đặt Google Antigravity

image.png


Sau đó cài đặt như bình thường.

3.  Chuẩn bị file SRS, CSDL cho agentMục tiêu của Skill

Để AI Skill nàyhiểu được thiếtsinh kếcode để:chính xác, bắt buộc phải cung cấp 2 file đầu vào (Context):

       csdl.txtChuẩn hóa(Database Schema): Cung cấp cấu trúc dựbảng, ánkiểu Springdữ Boot.liệu và các mối quan hệ (Khóa chính/Khóa ngoại). 👉 Giúp AI định nghĩa chính xác các Entity, cấu trúc Database.

       srs.txtĐảm bảo tính nhất quán (Consistency)Đặc giữatả nghiệp vụ): Chứa thông tin về các module.

Endpoint

       Tự động hóa việc ra quyết định về kiến trúcAPI (Layered Architecture).

Use

Case, TuânMethod, thủPayload Request/Response) và các quy tắc bảologic mật(Business rules, Validation). 👉 Giúp AI hiểu "linh hồn" của chức năng để viết Controllerlưutầng vếtService chính xác.

Cách AI xử lý: AI sẽ tham chiếu chéo (AuditCross-reference) log)cấu trúc dữ liệu từ csdl.txt sang các logic nghiệp vụ trong srs.txt để tạo ra bộ mã nguồn hoàn chỉnh (từ DB lên API).

image.png

 

4.  CáchHướng dẫn promt cho AI để kích hoạt (Activation)

Skill này hoạt động hoàn toàn TỰ ĐỘNG khi project có thư mục cấu hình .agent.

Cơ chế:  Khi bạn gửi các SRS, CSDL, config db, kèm theo yêu cầu (ví dụ: "Render API chuẩn spring boot"), hệ thống nhận diện .agent, kích hoạt @backend-specialist và tự động áp dụng các quy chuẩn trong skill spring-boot-api-flow.

Lưu ý:  Bạn không cần copy nội dung skill vào chatbot, chỉ cần đảm bảo thư mục .agent nằm trong project.

 

 

5.  Các Quy tắc "Vàng" (Mandatory Rules)

Cần tuân thủ 5 quy tắc bắt buộc sau khi viết code:

  1. Kiến trúc 3 lớp:  Luôn tuân theo luồng Controller -> Service -> Repository.
  2. Không Logic ở Controller:  Controller chỉ nhận request, check validation cơ bản và gọi Service.
  3. ApiResponse Standard:  Mọi API phải trả về object ApiResponse<T>. Không trả về trực tiếp DTO hay Entity.
  4. DTO vs Entity:  Tuyệt đối không trả về Entity cho Client. Luôn dùng DTO cho Request và Response.
  5. In-memory Storage:  Dùng ConcurrentHashMap hoặc List trong Repository nếu chưa có Database bên ngoài.

5b.  Cấu trúc Module chuẩn

Mỗi module mới khi tạo ra phải có cấu trúc thư mục như sau:

modules/<module-name>/

  +-- controller/   (Chua @RestController)

  +-- service/      (Chua Business Logic & Interface)

  +-- repository/   (Chua truy van du lieu)

  +-- entity/       (Chua mapping du lieu)

  +-- dto/          (Chua Request/Response models)

 

6.  Quy trình phát triển 5 bước (API Workflow)

Để tạokích hoạt skill spring-boot-api-flow, bạn có thể dùng một tínhtrong năng3 mới,cách sau. Về cơ bản, AI được cấu hình hệ thống tự động nhận diện (Intelligent Routing), nhưng bạn vẫn có thể gọi thẳng nếu muốn chắc chắn.

1. Kích hoạt tự động (Cách tự nhiên nhất)

Bạn chỉ cần đưa ra một yêu cầu liên quan đến việc tạo hoặc xử lý Backend Java/Spring Boot. AI (agent backend-specialist) sẽ tự động phân tích ngữ cảnh và áp dụng skill này.

  • Ví dụ: "Căn cứ vào srs.txt và csdl.txt, hãy đitạo theocác trìnhAPI tự:Spring Boot CRUD."

2. Kích hoạt tường minh (Nhắc tên)

    Nếu bạn muốn ép buộc 100% AI phải nhìn vào bộ luật đó để tránh sai sót, hãy nhắc trực tiếp tên skill trong câu lệnh của bạn.

    • B1: Tạodụ: DTO:  Định nghĩa Request"srs.txt và Responsecsdl.txt model.Áp dụng chuẩn của skill spring-boot-api-flow để viết REST API."
    • B2: Tạodụ: Entity:"Hãy dùng Địnhspring-boot-api-flow nghĩarefactor lại file OrderService.java này cho tôi, nhớ áp dụng luật chia nhỏ Rule 20 dòng."

    image.png

    Skill sẽ tự động đọc srs.txt và csdl.txt để genarate code theo chuẩn cấu trúc dữ liệu mapping.

  1. B3: Tạo Repository:  Định nghĩa các phương thức lưu trữ dữ liệu.
  2. B4: Tạo Service:  Viết Business Logic (Xử lý dữ liệu, chuyển đổi Entity <-> DTO).
  3. B5: Tạo Controller:  Khai báo Endpoint và gọi Service.

7.  Coding Convention (Quy tắc đặt tên)spring-boot-api-flow

Bảng quy ước đặt tên các thành phần trong dự án:

Thành phần

Quy tắc đặt tên

Ví dụ

Controller

<n>Controller

UserController

Service

<n>Service

UserService

Repository

<n>Repository

UserRepository

Entity

<n>Entity

UserEntity

DTO Request

<n>CreateRequest

UserCreateRequest

DTO Response

<n>Response

UserResponse

 

8.  Ví dụ một phương thức Service chuẩn

Dưới đây là cấu trúc chuẩn của một phương thức trong Service layer:

public UserResponse create(UserCreateRequest request) {

 

    // 1. Validate (Kiem tra du lieu)

    if (repo.existsByUsername(request.getUsername())) {

        throw new BusinessException(ErrorCode.USER_EXISTS);

    }

 

    // 2. Log (Luu vet hanh dong)

    log.info("Creating user: {}", request.getUsername());

 

    // 3. Business logic (Xu ly)

    UserEntity entity = mapper.toEntity(request);

    repo.save(entity);

 

    // 4. Return (Tra ve ket qua)

    return mapper.toResponse(entity);

}