@barisatalay
Kỹ năng thành thạo cho vòng đời CLAUDE.md: tạo, cập nhật và cải thiện tệp bằng cách sử dụng dữ liệu đã được xác minh lại, với sự hỗ trợ nhiều mô-đun và các quy tắc dành riêng cho ngăn xếp.
---
Tên: Claude-md-master
mô tả: Kỹ năng thành thạo cho vòng đời CLAUDE.md - tạo, cập nhật, cải thiện với nội dung đã được xác minh lại và hỗ trợ nhiều mô-đun. Sử dụng khi tạo hoặc cập nhật tệp CLAUDE.md.
---
# CLAUDE.md Master (Tạo/Cập nhật/Cải tiến)
## Khi nào nên sử dụng
- Người dùng yêu cầu tạo, cải thiện, cập nhật hoặc chuẩn hóa các tệp CLAUDE.md.
## Quy tắc cốt lõi
- Chỉ bao gồm thông tin đã được xác minh trong repo hoặc config.
- Không bao giờ bao gồm bí mật, mã thông báo, thông tin xác thực hoặc dữ liệu người dùng.
- Không bao giờ bao gồm các hướng dẫn cụ thể về nhiệm vụ hoặc tạm thời.
- Viết ngắn gọn: root <= 200 dòng, module <= 120 dòng.
- Sử dụng đạn; tránh văn xuôi dài dòng.
- Các lệnh phải có khả năng sao chép và dán được từ repo docs/scripts/CI.
- Bỏ qua phần trống; tránh chất độn.
## Dữ liệu đầu vào bắt buộc (phân tích trước khi tạo)
- Cấu hình xây dựng/gói phù hợp với ngăn xếp được phát hiện (root + mô-đun).
- Cấu hình phân tích tĩnh được sử dụng trong repo (nếu có).
- Cấu trúc mô-đun thực tế và các mẫu nguồn (quét các thư mục/tệp thực).
- Nguồn gốc đại diện cho mỗi module cần trích xuất:
cấu trúc gói/tính năng, loại khóa và chú thích đang sử dụng.
## Khám phá (nhanh + nhắm mục tiêu)
1. Xác định vị trí các biến thể CLAUDE.md hiện có: `CLAUDE.md`, `.claude.md`, `.claude.local.md`.
2. Xác định điểm ngăn xếp và điểm vào thông qua số lần đọc tối thiểu:
- `README.md`, có liên quan `docs/*`
- Xây dựng/đóng gói các tập tin (xem tài liệu tham khảo ngăn xếp)
- Thời gian chạy/cấu hình: `Dockerfile`, `docker-compose.yml`, `.env.example`, `config/*`
- CI: `.github/workflows/*`, `.gitlab-ci.yml`, `.circleci/*`
3. Chỉ trích xuất các lệnh nếu chúng tồn tại trong repo scripts/config/docs.
4. Phát hiện cấu trúc đa mô-đun:
- Android/Gradle: đọc `settings.gradle` hoặc `settings.gradle.kts` bao gồm.
- iOS: phát hiện nhiều mục tiêu/không gian làm việc trong `*.xcodeproj`/`*.xcworkspace`.
- Nếu có nhiều hơn một mô-đun/đích có `src/` hoặc cấu hình bản dựng, hãy lập kế hoạch cho các tệp CLAUDE.md của mô-đun.
5. Đối với mỗi ứng viên mô-đun, hãy đọc tệp xây dựng của nó + tài liệu tối thiểu cần nắm bắt
mục đích, điểm vào và lệnh dành riêng cho mô-đun.
6. Quét nguồn gốc để tìm:
- Các thư mục gói/tính năng cấp cao nhất và các quy ước lớp.
- Các chú thích/loại chính đang được sử dụng (theo tham chiếu ngăn xếp).
- Quy ước đặt tên được sử dụng trong codebase.
7. Nắm bắt các quy trình công việc/vấn đề không rõ ràng từ tài liệu hoặc mẫu mã.
Hiệu suất:
- Thích liệt kê tập tin + đọc mục tiêu.
- Tránh đọc toàn bộ tập tin khi một phần hoặc ký hiệu là đủ.
- Bỏ qua các thư mục lớn: `node_modules`, `vendor`, `build`, `dist`.
## Tham chiếu dành riêng cho ngăn xếp (Mẫu 2)
Chỉ đọc tài liệu tham khảo có liên quan khi tín hiệu phát hiện xuất hiện:
- Android/Gradle → `references/android.md`
- iOS/Xcode/Swift → `references/ios.md`
- PHP → `references/php.md`
- Đi → `references/go.md`
- Phản ứng (web) → `references/react-web.md`
- Phản ứng gốc → `references/react-native.md`
- Rỉ sét → `references/rust.md`
- Python → `references/python.md`
- Java/JVM → `references/java.md`
- Công cụ nút → `references/node.md`
- .NET/C# → `references/dotnet.md`
- Phi tiêu/Phóng → `references/flutter.md`
- Ruby/Rails → `references/ruby.md`
- Thuốc tiên/Erlang → `references/elixir.md`
- C/C++/CMake → `references/cpp.md`
- Khác/Không xác định → `references/generic.md` (dự phòng khi không có tham chiếu cụ thể nào khớp)
Nếu phát hiện nhiều ngăn xếp, hãy đọc nhiều tài liệu tham khảo.
Nếu không có ngăn xếp nào được nhận dạng, hãy sử dụng tham chiếu chung.
## Chính sách đầu ra đa mô-đun (bắt buộc khi được phát hiện)
- Luôn tạo gốc `CLAUDE.md`.
- Đồng thời tạo `CLAUDE.md` bên trong mỗi mô-đun/gốc mục tiêu có ý nghĩa.
- "Có ý nghĩa" = có cấu hình bản dựng riêng và `src/` (hoặc tương đương).
- Bỏ qua các thư mục chỉ dành cho công cụ như `buildSrc`, `gradle`, `scripts`, `tools`.
- Tệp mô-đun phải dành riêng cho mô-đun và tránh trùng lặp:
- Bao gồm mục đích, đường dẫn chính, điểm vào, kiểm tra mô-đun và mô-đun
lệnh (nếu có).
- Tham khảo thông tin được chia sẻ qua `@/CLAUDE.md`.
## Chính sách CLAUDE.md của mô-đun kinh doanh (tất cả các ngăn xếp)
Đối với các thư mục logic nghiệp vụ monorepo (`src/`, `lib/`, `packages/`, `internal/`):
- Tạo `CLAUDE.md` cho các mô-đun có >5 tệp HOẶC README riêng
- Bỏ qua các thư mục chỉ có tiện ích: `Helper`, `Utils`, `Common`, `Shared`, `Exception`, `Trait`, `Constants`
- Cấu trúc phân lớp không cần thiết; cung cấp thông tin mô-đun bất kể kiến trúc
- Tối đa 120 dòng trên mỗi mô-đun CLAUDE.md
- Tham chiếu gốc qua `@/CLAUDE.md` cho kiến trúc/mẫu được chia sẻ
- Bao gồm: mục đích, cấu trúc, các lớp chính, phụ thuộc, điểm vào
## Các phần đầu ra bắt buộc (mỗi mô-đun CLAUDE.md)
Bao gồm các phần này nếu được phát hiện trong cơ sở mã (chỉ bỏ qua nếu không có):
- **Kiểm kê tính năng/thành phần**: liệt kê các thư mục cấp cao nhất trong thư mục gốc nguồn
- **Mô-đun lõi/chia sẻ**: thư mục mã tiện ích, chung hoặc chia sẻ
- **Cấu trúc điều hướng/định tuyến**: biểu đồ điều hướng, tuyến đường hoặc bộ định tuyến
- **Mẫu lớp mạng/API**: Máy khách API, điểm cuối, trình bao bọc phản hồi
- **DI/mẫu tiêm**: mô-đun, vùng chứa hoặc thiết lập nội xạ
- **Tệp xây dựng/cấu hình**: cấu hình dành riêng cho mô-đun (proguard, bảng kê khai, v.v.)
Xem tài liệu tham khảo dành riêng cho ngăn xếp để biết các mẫu chính xác cần phát hiện và báo cáo.
## Quy trình cập nhật (phải tuân theo)
1. Chỉ đề xuất bổ sung có mục tiêu; hiển thị khác biệt trên mỗi tập tin.
2. Yêu cầu phê duyệt trước khi áp dụng bản cập nhật:
**IDE con trỏ:**
Sử dụng công cụ AskQuestion với các tùy chọn sau:
- id: "phê duyệt"
- lời nhắc: "Áp dụng các bản cập nhật CLAUDE.md này?"
- tùy chọn: [{"id": "yes", "label": "Yes, apply"}, {"id": "no", "label": "No, cancel"}]
**Mã Claude (Thiết bị đầu cuối):**
Xuất ra những thay đổi được đề xuất và hỏi:
"Bạn có chấp nhận những cập nhật này không? (có/không)"
Dừng lại và chờ phản hồi của người dùng trước khi tiếp tục.
**Môi trường khác (Dự phòng):**
Nếu không có sẵn công cụ câu hỏi có cấu trúc:
1. Hiển thị rõ ràng các thay đổi được đề xuất
2. Hỏi: "Bạn có chấp nhận những cập nhật này không? Trả lời 'có' để áp dụng hoặc 'không' để hủy."
3. Đợi xác nhận rõ ràng của người dùng trước khi tiếp tục
3. Áp dụng các bản cập nhật, giữ nguyên nội dung tùy chỉnh.
Nếu không có CLAUDE.md tồn tại, hãy đề xuất một tệp mới để phê duyệt.
## Quy tắc trích xuất nội dung (bắt buộc)
- Chỉ từ cơ sở mã:
- Trích xuất: tên loại/lớp/chú thích được sử dụng, mẫu đường dẫn thực,
quy ước đặt tên.
- Không bao giờ: giá trị được mã hóa cứng, bí mật, khóa API, logic dành riêng cho doanh nghiệp.
- Never: đoạn mã trong quy tắc Do/Do Not.
## Xác minh trước khi viết
- [ ] Mọi quy tắc đều tham chiếu các loại/đường dẫn thực tế từ cơ sở mã
- [ ] Không có ví dụ về mã trong phần Thực hiện/Không thực hiện
- [ ] Các mẫu khớp với những gì thực sự có trong cơ sở mã (không lỗi thời)
##Quy tắc nội dung
- Bao gồm: các lệnh, tóm tắt kiến trúc, các đường dẫn chính, kiểm tra, vấn đề cần lưu ý, các điểm đặc biệt trong quy trình làm việc.
- Loại trừ: các phương pháp hay nhất chung chung, thông tin rõ ràng, tuyên bố chưa được xác minh.
- Sử dụng lệnh nhập `@path/to/file` để tránh trùng lặp.
- Định dạng Do/Do Not là tùy chọn; chỉ giữ lại nếu đã được sử dụng trong tập tin.
- Tránh các ví dụ mã ngoại trừ các lệnh sao chép-dán ngắn.
## Chiến lược tập tin hiện có
Phát hiện:
- Nếu tồn tại `<!-- Generated by claude-md-editor skill -->` → lần chạy tiếp theo
- Khác → lần chạy đầu tiên
Lần chạy đầu tiên + tệp hiện có:
- Sao lưu `CLAUDE.md` → `CLAUDE.md.bak`
- Sử dụng `.bak` làm nguồn và chỉ trích xuất thông tin có thể tái sử dụng, dành riêng cho dự án
- Tạo một tệp ngắn gọn mới và thêm điểm đánh dấu
Lần chạy tiếp theo:
- Giữ nguyên các phần và từ ngữ tùy chỉnh trừ khi lỗi thời hoặc không chính xác
- Chỉ cập nhật những gì xung đột với trạng thái repo hiện tại
- Chỉ thêm các phần còn thiếu nếu chúng thêm giá trị thực
Không bao giờ sửa đổi `.claude.local.md`.
## Đầu ra
Sau khi cập nhật, hãy in một báo cáo ngắn gọn:
```
## CLAUDE.md Update Report
- /CLAUDE.md [CREATED | BACKED_UP+CREATED | UPDATED]
- /<module>/CLAUDE.md [CREATED | UPDATED]
- Backups: list any `.bak` files
```
## Danh sách kiểm tra xác thực
- Mô tả cụ thể và bao gồm các thuật ngữ kích hoạt
- Không còn phần giữ chỗ
- Không có bí mật bao gồm
- Các lệnh là có thật và có thể sao chép và dán được
- Quy tắc báo cáo đầu tiên được tôn trọng
- Tài liệu tham khảo sâu một cấp
TẬP TIN:README.md
# Claude-md-master
Kỹ năng thành thạo cho vòng đời CLAUDE.md: tạo, cập nhật và cải thiện tệp
sử dụng dữ liệu đã được xác minh lại, với sự hỗ trợ đa mô-đun và các quy tắc dành riêng cho từng ngăn xếp.
## Tổng quan
- Mục tiêu: tạo ra các tệp `CLAUDE.md` chính xác, ngắn gọn từ dữ liệu kho lưu trữ thực
- Phạm vi: root + các mô-đun có ý nghĩa, với khả năng phát hiện theo từng ngăn xếp cụ thể
- Biện pháp bảo vệ: không bí mật, không phụ, phê duyệt rõ ràng trước khi viết
## Cách AI phát hiện và sử dụng kỹ năng này
- Khám phá: công cụ học kỹ năng này vì nó tồn tại trong
danh mục kỹ năng repo (được cài đặt/có sẵn trong môi trường)
- Sử dụng tự động: khi có yêu cầu bao gồm "tạo/cập nhật/cải thiện
CLAUDE.md", công cụ chọn kỹ năng này là phù hợp nhất
- Sử dụng thủ công: người vận hành có thể gọi rõ ràng `/claude-md-master`
để buộc quy trình làm việc này
- Hành vi chạy: quét tài liệu/config/nguồn repo, đề xuất thay đổi,
và chờ phê duyệt rõ ràng trước khi ghi tập tin
## Khán giả
- Người vận hành AI sử dụng các kỹ năng trong Mã con trỏ/Claude
- Người bảo trì phát triển các quy tắc và tài liệu tham khảo
## Nó làm gì
- Tạo hoặc cập nhật `CLAUDE.md` với nội dung có nguồn gốc từ kho lưu trữ đã được xác minh
- Thực thi các quy tắc an toàn và chặt chẽ nghiêm ngặt (không bí mật, không phụ)
- Phát hiện kho lưu trữ nhiều mô-đun và tạo cấp độ mô-đun `CLAUDE.md`
- Sử dụng các tham chiếu dành riêng cho ngăn xếp để nắm bắt các mẫu chính xác
## Khi nào nên sử dụng
- Người dùng yêu cầu tạo, cải thiện, cập nhật hoặc chuẩn hóa `CLAUDE.md`
- Kho lưu trữ cần có hướng dẫn nhất quán, được xác minh cho quy trình làm việc AI
## Yêu cầu đầu vào (phải được phân tích)
- Tài liệu repo: `README.md`, `docs/*` (nếu có)
- Các tệp xây dựng/cấu hình có liên quan đến (các) ngăn xếp được phát hiện
- Thời gian chạy/cấu hình: `Dockerfile`, `.env.example`, `config/*` (nếu có)
- CI: `.github/workflows/*`, `.gitlab-ci.yml`, `.circleci/*` (nếu có)
- Nguồn gốc để trích xuất cấu trúc thực, kiểu, chú thích, đặt tên
## Đầu ra
- Gốc `CLAUDE.md` (luôn luôn)
- Mô-đun `CLAUDE.md` cho các mô-đun có ý nghĩa (cấu hình bản dựng + `src/`)
- Danh sách báo cáo cập nhật ngắn gọn các tập tin và bản sao lưu đã tạo/cập nhật
## Quy trình làm việc (cấp cao)
1. Xác định vị trí các biến thể `CLAUDE.md` hiện có và phát hiện lần chạy đầu tiên và lần chạy tiếp theo
2. Xác định (các) cấu trúc ngăn xếp và đa mô-đun
3. Đọc các tài liệu/cấu hình/CI có liên quan để biết các lệnh và quy trình làm việc thực tế
4. Quét gốc nguồn để tìm cấu trúc, loại khóa, chú thích, mẫu
5. Tạo tập tin gốc + mô-đun, tránh trùng lặp thông qua `@/CLAUDE.md`
6. Yêu cầu phê duyệt rõ ràng trước khi áp dụng các bản cập nhật
7. Áp dụng các thay đổi và in báo cáo cập nhật
## Các quy tắc và ràng buộc cốt lõi
- Chỉ bao gồm thông tin đã được xác minh trong repo; không bao giờ thêm bí mật
- Viết ngắn gọn: root <= 200 dòng, module <= 120 dòng
- Các lệnh phải là lệnh thực và có thể sao chép được từ repo docs/scripts/CI
- Bỏ qua phần trống; tránh hướng dẫn chung chung
- Không bao giờ sửa đổi `.claude.local.md`
- Tránh các ví dụ mã trong phần Do/Do Not
## Chính sách đa mô-đun (tóm tắt)
- Luôn tạo root `CLAUDE.md`
- Chỉ tạo các tệp cấp mô-đun cho các mô-đun có ý nghĩa
- Bỏ qua các thư mục chỉ dành cho công cụ (ví dụ: `buildSrc`, `gradle`, `scripts`, `tools`)
- Các mô-đun kinh doanh có tệp riêng khi >5 tệp hoặc sở hữu README
## Tài liệu tham khảo (hướng dẫn cụ thể cho từng ngăn xếp)
Mỗi tham chiếu xác định tín hiệu phát hiện, nguồn tiền thế hệ, quét cơ sở mã
mục tiêu, mục đầu ra bắt buộc, nguồn lệnh và đường dẫn chính.
- `references/android.md` — Android/Gradle
- `references/ios.md` — iOS/Xcode/Swift
- `references/react-web.md` — Phản ứng ứng dụng web
- `references/react-native.md` — Phản ứng gốc
- `references/node.md` — Công cụ nút (chung)
- `references/python.md` — Python
- `references/java.md` — Java/JVM
- `references/dotnet.md` — .NET (C#/F#)
- `references/go.md` — Đi
- `references/rust.md` — Rỉ sét
- `references/flutter.md` — Phi tiêu/Flatter
- `references/ruby.md` — Ruby/Rails
- `references/php.md` — PHP (Laravel/Symfony/CI/Phalcon)
- `references/elixir.md` — Thuốc tiên/Erlang
- `references/cpp.md` — C/C++
- `references/generic.md` — Dự phòng khi không có ngăn xếp nào khớp
## Mở rộng kỹ năng
- Thêm `references/<stack>.md` mới bằng cách sử dụng cùng một mẫu
- Giữ các tín hiệu phát hiện và đầu ra bắt buộc cụ thể và có thể kiểm chứng được
- Không đưa ra các lệnh chưa được xác minh hoặc lời khuyên chung chung
## Danh sách kiểm tra chất lượng
- Mọi quy tắc đều tham chiếu các loại/đường dẫn thực tế từ repo
- Không còn phần giữ chỗ
- Không có bí mật bao gồm
- Các lệnh là có thật và có thể sao chép và dán được
- Nguyên tắc báo cáo đầu tiên được tôn trọng; tài liệu tham khảo sâu một cấp
TẬP TIN: tài liệu tham khảo/android.md
# Android (Gradle)
## Tín hiệu phát hiện
- `settings.gradle` hoặc `settings.gradle.kts`
- `build.gradle` hoặc `build.gradle.kts`
- `gradle.properties`
- `gradle/libs.versions.toml`
- `gradlew`
- `gradle/wrapper/gradle-wrapper.properties`
- `app/src/main/AndroidManifest.xml`
## Tín hiệu đa mô-đun
- Nhiều mục nhập `include(...)` hoặc `includeBuild(...)` trong `settings.gradle*`
- Nhiều thư mục mô-đun có `build.gradle*` và `src/`
- Các gốc module thông dụng như `feature/`, `core/`, `library/` (nếu có)
## Trước khi tạo, hãy phân tích các nguồn này
- `settings.gradle` hoặc `settings.gradle.kts`
- `build.gradle` hoặc `build.gradle.kts` (gốc và mô-đun)
- `gradle/libs.versions.toml`
- `gradle.properties`
- `config/detekt/detekt.yml` (nếu có)
- `app/src/main/AndroidManifest.xml` (hoặc bảng kê khai mô-đun)
## Quét Codebase (dành riêng cho Android)
- Nguồn gốc trên mỗi module: `*/src/main/java/`, `*/src/main/kotlin/`
- Cây gói cho các thư mục tính năng/lớp (chỉ ghi nếu có):
`features/`, `core/`, `common/`, `data/`, `domain/`, `presentation/`,
`ui/`, `di/`, `navigation/`, `network/`
- Cách sử dụng chú thích (chỉ ghi nếu có):
Chuôi kiếm (`@HiltAndroidApp`, `@AndroidEntryPoint`, `@HiltViewModel`,
`@Module`, `@InstallIn`, `@Provides`, `@Binds`),
Soạn (`@Composable`, `@Preview`),
Phòng (`@Entity`, `@Dao`, `@Database`),
Trình quản lý công việc (`@HiltWorker`, `ListenableWorker`, `CoroutineWorker`),
Tuần tự hóa (`@Serializable`, `@Parcelize`),
Trang bị thêm (`@GET`, `@POST`, `@PUT`, `@DELETE`, `@Body`, `@Query`)
- Mẫu điều hướng (chỉ ghi nếu có): `NavHost`, `composable`
## Đầu ra bắt buộc (mô-đun Android CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Kho lưu trữ tính năng**: liệt kê các thư mục trong `features/` (ví dụ: trang chủ, thanh toán, xác thực)
- **Mô-đun lõi**: liệt kê các thư mục trong `core/` (ví dụ: dữ liệu, mạng, bản địa hóa)
- **Biểu đồ điều hướng**: liệt kê các tệp `*Graph.kt` hoặc `*Navigator*.kt`
- **Mô-đun Hilt**: liệt kê các lớp `@Module` hoặc nội dung gói `di/`
- **Trang bị thêm API**: liệt kê các giao diện `*Api.kt`
- **Cơ sở dữ liệu phòng**: liệt kê các lớp `@Database`
- **Công nhân**: liệt kê các lớp `@HiltWorker`
- **Proguard**: đề cập `proguard-rules.pro` nếu có
## Nguồn lệnh
- README/docs hoặc CI gọi trình bao bọc Gradle
- Repo các tập lệnh gọi `./gradlew`
- Cách sử dụng `./gradlew assemble`, `./gradlew test`, `./gradlew lint` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `app/src/main/`, `app/src/main/res/`
- `app/src/main/java/`, `app/src/main/kotlin/`
- `app/src/test/`, `app/src/androidTest/`
TẬP TIN: tài liệu tham khảo/cpp.md
#C/C++
## Tín hiệu phát hiện
- `CMakeLists.txt`
- `meson.build`
- `Makefile`
- `conanfile.*`, `vcpkg.json`
- `compile_commands.json`
- `src/`, `include/`
## Tín hiệu đa mô-đun
- `CMakeLists.txt` với `add_subdirectory(...)`
- Nhiều `CMakeLists.txt` hoặc `meson.build` trong thư mục con
- `libs/`, `apps/` hoặc `modules/` bằng các tệp bản dựng của riêng chúng
## Trước khi tạo, hãy phân tích các nguồn này
- `CMakeLists.txt` / `meson.build` / `Makefile`
- `conanfile.*`, `vcpkg.json` (nếu có)
- `compile_commands.json` (nếu có)
- `src/`, `include/`, `tests/`, `libs/`
## Quét codebase (cụ thể là C/C++)
- Nguồn gốc: `src/`, `include/`, `tests/`, `libs/`
- Chia tách thư viện/ứng dụng (chỉ ghi nếu có):
`src/lib`, `src/app`, `src/bin`
- Không gian tên và tiền tố lớp (chỉ ghi nếu có)
- Mục tiêu CMake (chỉ ghi nếu có):
`add_library`, `add_executable`
## Đầu ra bắt buộc (mô-đun C/C++ CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Thư viện**: liệt kê các mục tiêu của thư viện
- **Executables**: liệt kê các mục tiêu thực thi được
- **Tiêu đề**: liệt kê các thư mục tiêu đề công khai
- **Mô-đun/thành phần**: liệt kê các thư mục con có tệp bản dựng
- **Phụ thuộc**: liệt kê các phụ thuộc Conan/vcpkg (nếu có)
## Nguồn lệnh
- README/docs hoặc CI gọi `cmake`, `ninja`, `make` hoặc `meson`
- Repo script gọi công cụ xây dựng
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/`, `include/`
- `tests/`, `libs/`
TẬP TIN: tài liệu tham khảo/dotnet.md
# .NET (C# / F#)
## Tín hiệu phát hiện
- `*.sln`
- `*.csproj`, `*.fsproj`, `*.vbproj`
- `global.json`
- `Directory.Build.props`, `Directory.Build.targets`
- `nuget.config`
- `Program.cs`
- `Startup.cs`
- `appsettings*.json`
## Tín hiệu đa mô-đun
- `*.sln` với nhiều mục dự án
- Nhiều tệp `*.*proj` trong `src/` và `tests/`
- `Directory.Build.*` quản lý cài đặt được chia sẻ giữa các dự án
## Trước khi tạo, hãy phân tích các nguồn này
- `*.sln`, `*.csproj` / `*.fsproj` / `*.vbproj`
- `Directory.Build.props`, `Directory.Build.targets`
- `global.json`, `nuget.config`
- `Program.cs` / `Startup.cs`
- `appsettings*.json`
## Quét Codebase (dành riêng cho .NET)
- Nguồn gốc: `src/`, `tests/`, thư mục dự án có `*.csproj`
- Lớp thư mục (chỉ ghi nếu có):
`Controllers`, `Services`, `Repositories`, `Domain`, `Infrastructure`
- Thuộc tính ASP.NET (chỉ ghi nếu có):
`[ApiController]`, `[Route]`, `[HttpGet]`, `[HttpPost]`, `[Authorize]`
- Cách sử dụng EF Core (chỉ ghi nếu có):
`DbContext`, `Migrations`, `[Key]`, `[Table]`
## Đầu ra bắt buộc (mô-đun .NET CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Bộ điều khiển**: liệt kê các lớp `[ApiController]`
- **Dịch vụ**: liệt kê các lớp dịch vụ
- **Kho lưu trữ**: liệt kê các lớp kho lưu trữ
- **Thực thể**: liệt kê các lớp thực thể EF Core
- **DbContext**: liệt kê các lớp bối cảnh cơ sở dữ liệu
- **Middleware**: liệt kê các phần mềm trung gian tùy chỉnh
- **Cấu hình**: liệt kê các phần cấu hình hoặc các lớp tùy chọn
## Nguồn lệnh
- README/docs hoặc CI gọi `dotnet`
- Repo các tập lệnh như `build.ps1`, `build.sh`
- Cách sử dụng `dotnet run`, `dotnet test` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/`, `tests/`
- `appsettings*.json`
- `Controllers/`, `Models/`, `Views/`, `wwwroot/`
TẬP TIN: tài liệu tham khảo/elixir.md
# Tiên dược / Erlang
## Tín hiệu phát hiện
- `mix.exs`, `mix.lock`
- `config/config.exs`
- `lib/`, `test/`
- `apps/` (ô)
- `rel/`
## Tín hiệu đa mô-đun
- Ô có `apps/` chứa nhiều `mix.exs`
- Gốc `mix.exs` với `apps_path`
## Trước khi tạo, hãy phân tích các nguồn này
- Gốc `mix.exs`, `mix.lock`
- `config/config.exs`
- `apps/*/mix.exs` (ô)
- `lib/`, `test/`, `rel/`
## Quét Codebase (dành riêng cho Elixir)
- Nguồn gốc: `lib/`, `test/`, `apps/*/lib` (ô)
- Cấu trúc phượng hoàng (chỉ ghi nếu có):
`lib/*_web/`, `controllers`, `views`, `channels`, `routers`
- Cách sử dụng Ecto (chỉ ghi nếu có):
`schema`, `Repo`, `migrations`
- Bối cảnh/mô-đun (chỉ ghi nếu có):
`lib/*/` mô-đun ngữ cảnh và `*_context.ex`
## Đầu ra bắt buộc (Elixir module CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Ngữ cảnh**: liệt kê các mô-đun ngữ cảnh
- **Lược đồ**: liệt kê các mô-đun lược đồ Ecto
- **Bộ điều khiển**: danh sách các mô-đun bộ điều khiển Phoenix
- **Kênh**: liệt kê các mô-đun kênh Phoenix
- **Công nhân**: liệt kê các mô-đun công việc nền (Oban, v.v.)
- **Ứng dụng ô**: liệt kê các ứng dụng nằm trong ô (nếu có)
## Nguồn lệnh
- README/docs hoặc CI gọi `mix`
- Repo các tập lệnh gọi `mix`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `lib/`, `test/`, `config/`
- `apps/`, `rel/`
TẬP TIN: tài liệu tham khảo/flutter.md
# Phi tiêu / Rung
## Tín hiệu phát hiện
- `pubspec.yaml`, `pubspec.lock`
- `analysis_options.yaml`
- `lib/`
- `android/`, `ios/`, `web/`, `macos/`, `windows/`, `linux/`
## Tín hiệu đa mô-đun
- `melos.yaml` (Flutter monorepo)
- Nhiều `pubspec.yaml` dưới `packages/`, `apps/` hoặc `plugins/`
## Trước khi tạo, hãy phân tích các nguồn này
- `pubspec.yaml`, `pubspec.lock`
- `analysis_options.yaml`
- `melos.yaml` (nếu monorepo)
- `lib/`, `test/` và các thư mục nền tảng (`android/`, `ios/`, v.v.)
## Quét codebase (dành riêng cho Flutter)
- Nguồn gốc: `lib/`, `test/`
- Điểm vào (chỉ ghi nếu có): `lib/main.dart`
- Lớp thư mục (chỉ ghi nếu có):
`features/`, `core/`, `data/`, `domain/`, `presentation/`
- Quản lý nhà nước (chỉ ghi nếu có):
`Bloc`, `Cubit`, `ChangeNotifier`, `Provider`, `Riverpod`
- Đặt tên widget (chỉ ghi nếu có):
`*Screen`, `*Page`
## Đầu ra bắt buộc (Mô-đun Flutter CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Tính năng**: liệt kê các thư mục trong `features/` hoặc `lib/`
- **Mô-đun lõi**: liệt kê các thư mục trong `core/` (nếu có)
- **Quản lý trạng thái**: liệt kê thiết lập Khối/Cubit/Nhà cung cấp
- **Kho lưu trữ**: liệt kê các lớp kho lưu trữ
- **Nguồn dữ liệu**: liệt kê các lớp nguồn dữ liệu từ xa/cục bộ
- **Widget**: liệt kê các thư mục widget được chia sẻ
## Nguồn lệnh
- README/docs hoặc CI gọi `flutter`
- Repo các tập lệnh gọi `flutter` hoặc `dart`
- Cách sử dụng `flutter run`, `flutter test`, `flutter pub get` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `lib/`, `test/`
- `android/`, `ios/`
TẬP TIN: tài liệu tham khảo/generic.md
# Ngăn xếp chung / không xác định
Sử dụng tham chiếu này khi không có tham chiếu ngăn xếp cụ thể nào khớp.
## Tín hiệu phát hiện (mẫu chung)
- `README.md`, `CONTRIBUTING.md`
- `Makefile`, `Taskfile.yml`, `justfile`
- `Dockerfile`, `docker-compose.yml`
- `.env.example`, `config/`
- Hàng CI: `.github/workflows/`, `.gitlab-ci.yml`, `.circleci/`
## Trước khi tạo, hãy phân tích các nguồn này
- `README.md` - tổng quan về dự án, hướng dẫn thiết lập, lệnh
- Xây dựng/đóng gói các tập tin trong thư mục gốc (bất kỳ định dạng nào có thể nhận dạng được)
- `Makefile`, `Taskfile.yml`, `justfile`, `scripts/` (nếu có)
- Cấu hình CI/CD cho lệnh xây dựng/kiểm tra
- `Dockerfile` để biết thông tin thời gian chạy
## Quét codebase (chung)
- Xác định root nguồn: `src/`, `lib/`, `app/`, `pkg/`, hoặc root
- Lớp thư mục (chỉ ghi nếu có):
`controllers`, `services`, `models`, `handlers`, `utils`, `config`
- Điểm vào lệnh: `main.*`, `index.*`, `app.*`, `server.*`
- Vị trí kiểm tra: `tests/`, `test/`, `spec/`, `__tests__/` hoặc cùng vị trí
## Đầu ra bắt buộc (chung CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Điểm vào**: tệp chính, tập lệnh khởi động
- **Cấu trúc nguồn**: các thư mục cấp cao nhất trong thư mục gốc nguồn
- **Tệp cấu hình**: môi trường, cài đặt, mẫu bí mật
- **Hệ thống xây dựng**: công cụ xây dựng được phát hiện và vị trí cấu hình
- **Thiết lập thử nghiệm**: khung kiểm tra và lệnh chạy
## Nguồn lệnh
- Phần thiết lập/sử dụng README
- `Makefile` mục tiêu, `Taskfile.yml` nhiệm vụ, `justfile` công thức nấu ăn
- Các bước quy trình làm việc CI (xây dựng, kiểm tra, tìm lỗi mã nguồn)
- thư mục `scripts/`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- Nguồn gốc và cấu trúc cấp cao nhất của nó
- Tệp cấu hình/môi trường
- Thư mục kiểm tra
- Vị trí tài liệu
- Xây dựng thư mục đầu ra
TẬP TIN: tài liệu tham khảo/go.md
# Đi
## Tín hiệu phát hiện
- `go.mod`, `go.sum`, `go.work`
- `cmd/`, `internal/`
- `main.go`
- `magefile.go`
- `Taskfile.yml`
## Tín hiệu đa mô-đun
- `go.work` với nhiều đường dẫn mô-đun
- Nhiều tệp `go.mod` trong thư mục con
- `apps/` hoặc `services/` mỗi cái có `go.mod` riêng
## Trước khi tạo, hãy phân tích các nguồn này
- `go.work`, `go.mod`, `go.sum`
- Bố cục `cmd/`, `internal/`, `pkg/`
- `Makefile`, `Taskfile.yml`, `magefile.go` (nếu có)
## Quét Codebase (Dành riêng cho Go)
- Nguồn gốc: `cmd/`, `internal/`, `pkg/`, `api/`
- Lớp thư mục (chỉ ghi nếu có):
`handler`, `service`, `repository`, `store`, `config`
- Điểm đánh dấu khung (chỉ ghi nếu có):
`gin`, `echo`, `fiber`, `chi` số tiền
- Điểm vào (chỉ ghi nếu có):
`cmd/*/main.go`, `main.go`
## Đầu ra bắt buộc (Go module CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Lệnh**: liệt kê các tệp nhị phân trong `cmd/`
- **Trình xử lý**: liệt kê các gói xử lý HTTP
- **Dịch vụ**: liệt kê các gói dịch vụ
- **Kho lưu trữ**: liệt kê kho lưu trữ hoặc gói lưu trữ
- **Mô hình**: liệt kê các gói mô hình miền
- **Config**: liệt kê các gói tải config
## Nguồn lệnh
- README/tài liệu hoặc CI
- `Makefile`, `Taskfile.yml` hoặc tập lệnh repo gọi công cụ Go
- Cách sử dụng `go test ./...`, `go run` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `cmd/`, `internal/`, `pkg/`, `api/`
- Bố cục `tests/` hoặc `*_test.go`
TẬP TIN: tài liệu tham khảo/ios.md
# iOS (Xcode/Swift)
## Tín hiệu phát hiện
- `Package.swift`
- `*.xcodeproj` hoặc `*.xcworkspace`
- `Podfile`, `Cartfile`
- `Project.swift`, `Tuist/`
- `fastlane/Fastfile`
- `*.xcconfig`
- `Sources/` hoặc `Tests/` (bố cục SPM)
## Tín hiệu đa mô-đun
- Nhiều mục tiêu/dự án trong `*.xcworkspace` hoặc `*.xcodeproj`
- `Package.swift` với nhiều mục tiêu/sản phẩm
- Bố cục `Sources/<TargetName>` và `Tests/<TargetName>`
- `Project.swift` xác định nhiều mục tiêu (Tuist)
## Trước khi tạo, hãy phân tích các nguồn này
- `Package.swift` (SPM)
- `*.xcodeproj/project.pbxproj` hoặc `*.xcworkspace/contents.xcworkspacedata`
- `Podfile`, `Cartfile` (nếu có)
- `Project.swift` / `Tuist/` (nếu có)
- `fastlane/Fastfile` (nếu có)
- Bố cục `Sources/` và `Tests/` cho mục tiêu
## Quét codebase (dành riêng cho iOS)
- Nguồn gốc: `Sources/`, `Tests/`, `ios/` (nếu có)
- Thư mục tính năng/lớp (chỉ ghi nếu có):
`Features/`, `Core/`, `Services/`, `Networking/`, `UI/`, `Domain/`, `Data/`
- Cách sử dụng SwiftUI (chỉ ghi lại nếu có):
`@main`, `App`, `@State`, `@StateObject`, `@ObservedObject`,
`@Environment`, `@EnvironmentObject`, `@Binding`
- UIKit/vòng đời (chỉ ghi nếu có):
`UIApplicationDelegate`, `SceneDelegate`, `UIViewController`
- Kết hợp/đồng thời (chỉ ghi nếu có):
`@Published`, `Publisher`, `AnyCancellable`, `@MainActor`, `Task`
## Đầu ra bắt buộc (mô-đun iOS CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Kho lưu trữ tính năng**: liệt kê các thư mục trong `Features/` hoặc mục tiêu tính năng
- **Mô-đun lõi**: liệt kê các thư mục trong `Core/`, `Services/`, `Networking/`
- **Điều hướng**: liệt kê các điều phối viên, bộ định tuyến hoặc tệp điều hướng SwiftUI
- **DI container**: liệt kê DI setup (Swinject, Factory, manual container)
- **Lớp mạng**: liệt kê các ứng dụng khách API hoặc dịch vụ mạng
- **Kiên trì**: liệt kê các mô hình CoreData hoặc các lớp lưu trữ khác
## Nguồn lệnh
- README/docs hoặc CI gọi công cụ Xcode hoặc Swift
- Repo script gọi các công cụ Xcode/Swift
- Cách sử dụng `xcodebuild`, `swift build`, `swift test` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `Sources/`, `Tests/`
- `fastlane/`
- `ios/` (React Native hoặc kho lưu trữ đa nền tảng)
TẬP TIN: tài liệu tham khảo/java.md
#Java/JVM
## Tín hiệu phát hiện
- `pom.xml` hoặc `build.gradle*`
- `settings.gradle`, `gradle.properties`
- `mvnw`, `gradlew`
- `gradle/wrapper/gradle-wrapper.properties`
- `src/main/java`, `src/test/java`, `src/main/kotlin`
- `src/main/resources/application.yml`, `src/main/resources/application.properties`
## Tín hiệu đa mô-đun
- `settings.gradle*` bao gồm nhiều mô-đun
- Cha mẹ `pom.xml` với `<modules>` (đóng gói `pom`)
- Nhiều tệp `build.gradle*` hoặc `pom.xml` trong thư mục con
## Trước khi tạo, hãy phân tích các nguồn này
- `settings.gradle*` và `build.gradle*` (nếu là Gradle)
- Cha mẹ và mô-đun `pom.xml` (nếu Maven)
- `gradle/libs.versions.toml` (nếu có)
- `gradle.properties` / `mvnw` / `gradlew`
- `src/main/resources/application.yml|application.properties` (nếu có)
## Quét cơ sở mã (dành riêng cho Java/JVM)
- Nguồn gốc: `src/main/java`, `src/main/kotlin`, `src/test/java`, `src/test/kotlin`
- Thư mục gói/lớp (chỉ ghi nếu có):
`controller`, `service`, `repository`, `domain`, `model`, `dto`, `config`, `client`
- Chú thích khung (chỉ ghi nếu có):
`@SpringBootApplication`, `@RestController`, `@Controller`, `@Service`,
`@Repository`, `@Component`, `@Configuration`, `@Bean`, `@Transactional`
- Tính bền vững/xác nhận (chỉ ghi lại nếu có):
`@Entity`, `@Table`, `@Id`, `@OneToMany`, `@ManyToOne`, `@Valid`, `@NotNull`
- Điểm vào (chỉ ghi nếu có):
`*Application` các lớp có `main`
## Đầu ra bắt buộc (mô-đun Java/JVM CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Bộ điều khiển**: liệt kê các lớp `@RestController` hoặc `@Controller`
- **Dịch vụ**: liệt kê các lớp `@Service`
- **Kho lưu trữ**: liệt kê các lớp `@Repository` hoặc giao diện JPA
- **Thực thể**: liệt kê các lớp `@Entity`
- **Cấu hình**: liệt kê các lớp `@Configuration`
- **Bảo mật**: liệt kê cấu hình bảo mật hoặc bộ lọc xác thực
- **Profiles**: liệt kê các profile Spring đang sử dụng
## Nguồn lệnh
- Tập lệnh bao bọc Maven/Gradle
- README/tài liệu hoặc CI
- Cách sử dụng `./mvnw spring-boot:run`, `./gradlew bootRun` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/main/java`, `src/test/java`
- `src/main/kotlin`, `src/test/kotlin`
- `src/main/resources`, `src/test/resources`
- `src/main/java/**/controller`, `src/main/java/**/service`, `src/main/java/**/repository`
TẬP TIN: tài liệu tham khảo/node.md
# Công cụ nút (chung)
## Tín hiệu phát hiện
- `package.json`
- `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`
- `.nvmrc`, `.node-version`
- `tsconfig.json`
- `.npmrc`, `.yarnrc.yml`
- `next.config.*`, `nuxt.config.*`
- `nest-cli.json`, `svelte.config.*`, `astro.config.*`
## Tín hiệu đa mô-đun
- `pnpm-workspace.yaml`, `lerna.json`, `nx.json`, `turbo.json`, `rush.json`
- Gốc `package.json` với `workspaces`
- Nhiều `package.json` dưới `apps/`, `packages/`
## Trước khi tạo, hãy phân tích các nguồn này
- Root `package.json` và cấu hình không gian làm việc (`pnpm-workspace.yaml`, `lerna.json`,
`nx.json`, `turbo.json`, `rush.json`)
- `apps/*/package.json`, `packages/*/package.json` (nếu monorepo)
- `tsconfig.json` hoặc `jsconfig.json`
- Cấu hình khung: `next.config.*`, `nuxt.config.*`, `nest-cli.json`,
`svelte.config.*`, `astro.config.*` (nếu có)
## Quét cơ sở mã (dành riêng cho từng nút)
- Nguồn gốc: `src/`, `lib/`, `apps/`, `packages/`
- Mẫu thư mục (chỉ ghi nếu có):
`routes`, `controllers`, `services`, `middlewares`, `handlers`,
`utils`, `config`, `models`, `schemas`
- Điểm đánh dấu khung (chỉ ghi nếu có):
Nhanh (`express()`, `Router`), Koa (`new Koa()`),
Nhanh chóng (`fastify()`), Nest (`@Controller`, `@Module`, `@Injectable`)
- Bố cục toàn ngăn xếp (chỉ ghi nếu có):
Tiếp theo/Nuxt (`pages/`, `app/`, `server/`)
## Đầu ra bắt buộc (Mô-đun nút CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Tuyến đường/trang**: liệt kê các tập tin tuyến đường hoặc các thành phần trang
- **Bộ điều khiển/trình xử lý**: liệt kê các tập tin bộ điều khiển hoặc trình xử lý
- **Dịch vụ**: liệt kê các lớp hoặc mô-đun dịch vụ
- **Middlewares**: liệt kê các file middleware
- **Mô hình/lược đồ**: liệt kê các mô hình dữ liệu hoặc lược đồ xác thực
- **Quản lý trạng thái**: thiết lập cửa hàng danh sách (Redux, Zustand, v.v.)
- **Ứng dụng khách API**: liệt kê các mô-đun ứng dụng khách API bên ngoài
## Nguồn lệnh
- `package.json` tập lệnh
- README/tài liệu hoặc CI
- `npm|yarn|pnpm` cách sử dụng tập lệnh trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/`, `lib/`
- `tests/`
- `apps/`, `packages/` (monorepos)
- `pages/`, `app/`, `server/`, `api/`
- `controllers/`, `services/`
TẬP TIN: tài liệu tham khảo/php.md
#PHP
## Tín hiệu phát hiện
- `composer.json`, `composer.lock`
- `public/index.php`
- `artisan`, `spark`, `bin/console` (điểm vào khung)
- `phpunit.xml`, `phpstan.neon`, `phpstan.neon.dist`, `psalm.xml`
- `config/app.php`
- `routes/web.php`, `routes/api.php`
- `config/packages/` (Symfony)
- `app/Config/` (CI4)
- `ext-phalcon` trong Composer.json (Phalcon)
- `phalcon/ide-stubs`, `phalcon/devtools` (Phalcon)
## Tín hiệu đa mô-đun
- `modules/` hoặc `app/Modules/` (kiểu HMVC)
- `app/Config/Modules.php`, `app/Config/Autoload.php` (CI4)
- Nhiều gốc PSR-4 trong `composer.json`
- Nhiều `composer.json` dưới `packages/` hoặc `apps/`
- `apps/` với các thư mục con chứa `Module.php` hoặc `controllers/`
## Trước khi tạo, hãy phân tích các nguồn này
- `composer.json`, `composer.lock`
- `config/` và `routes/` (cấu hình khung)
- `app/Config/*` (CI4)
- `modules/` hoặc `app/Modules/` (nếu HMVC)
- `phpunit.xml`, `phpstan.neon*`, `psalm.xml` (nếu có)
- `bin/worker.php`, `bin/console.php` (điểm vào CLI)
## Quét cơ sở mã (dành riêng cho PHP)
- Nguồn gốc: `app/`, `src/`, `modules/`, `packages/`, `apps/`
- Cấu trúc Laravel (chỉ ghi nếu có):
`app/Http/Controllers`, `app/Models`, `database/migrations`,
`routes/*.php`, `resources/views`
- Cấu trúc Symfony (chỉ ghi nếu có):
`src/Controller`, `src/Entity`, `config/packages`, `templates`
- Cấu trúc CodeIgniter (chỉ ghi nếu có):
`app/Controllers`, `app/Models`, `app/Views`, `app/Config/Routes.php`,
`app/Database/Migrations`
- Cấu trúc Phalcon (chỉ ghi nếu có):
`apps/*/controllers/`, `apps/*/Module.php`, `models/`
- Thuộc tính/chú thích (chỉ ghi nếu có):
`#[Route]`, `#[Entity]`, `#[ORM\\Column]`
## Khám phá mô-đun kinh doanh
Quét các đường dẫn này dựa trên khung được phát hiện:
- Laravel: `app/Services/`, `app/Domains/`, `app/Modules/`, `packages/`
- Symfony: `src/` thư mục cấp cao nhất
- CodeIgniter: `app/Modules/`, `modules/`
- Phalcon: `src/`, `apps/*/`
- Chung: `src/`, `lib/`
Đối với mỗi đường dẫn:
- Liệt kê 5-10 mô-đun lớn nhất theo số lượng tệp
- Đối với mỗi mô-đun quan trọng (>5 tệp), hãy ghi lại mục đích của nó nếu có thể suy ra từ tên
- Xác định các mẫu xếp lớp nếu có: `*/Repository/`, `*/Service/`, `*/Controller/`, `*/Action/`
## Tín hiệu CLAUDE.md cấp mô-đun
Quét các đường dẫn này để tìm các mô-đun quan trọng (dành riêng cho khung):
- `src/` - Symfony, Phalcon, khung tùy chỉnh
- `app/Services/`, `app/Domains/` - Định hướng theo miền Laravel
- `app/Modules/`, `modules/` - Laravel/CI4 HMVC
- `packages/` - Gói nội bộ của Laravel
- `apps/` - Phalcon đa ứng dụng
Tạo `<path>/<Module>/CLAUDE.md` khi:
- Ngưỡng: mô-đun có >5 tệp HOẶC có `README.md` riêng
- Bỏ qua các thư mục tiện ích: `Helper/`, `Exception/`, `Trait/`, `Contract/`, `Interface/`, `Constants/`, `Support/`
- Cấu trúc phân lớp không cần thiết; cung cấp thông tin mô-đun bất kể kiến trúc
### Nội dung module CLAUDE.md (tối đa 120 dòng)
- Mục đích: Mô tả module 1-2 câu
- Cấu trúc: liệt kê các thư mục con (Service/, Repository/,...)
- Các lớp chính: lớp dịch vụ/người quản lý/hành động chính
- Phụ thuộc: các mô-đun khác phụ thuộc vào (thông qua câu lệnh sử dụng)
- Điểm vào: giao diện/mặt tiền công cộng chính
- Dành riêng cho khung: ServiceProvider (Laravel), Module.php (Phalcon/CI4)
## Phát hiện công nhân/công việc
- `bin/worker.php` hoặc các điểm vào của nhân viên tương tự
- thư mục `*/Job/`, `*/Jobs/`, `*/Worker/`
- Xếp hàng các tệp cấu hình (`queue.php`, `rabbitmq.php`, `amqp.php`)
- Liệt kê các hạng công việc nếu có
## Phát hiện phiên bản API
- mẫu `routes_v*.php` hoặc `routes/v*/`
- Cấu trúc thư mục `controllers/v*/`
- Lưu ý phiên bản API hiện tại/đang hoạt động từ tệp hoặc cấu hình tuyến đường
## Đầu ra bắt buộc (mô-đun PHP CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Bộ điều khiển**: liệt kê các thư mục/lớp của bộ điều khiển
- **Mô hình**: liệt kê các lớp hoặc thư mục mô hình/thực thể
- **Dịch vụ**: liệt kê các lớp hoặc thư mục dịch vụ
- **Kho lưu trữ**: liệt kê các lớp hoặc thư mục kho lưu trữ
- **Tuyến**: liệt kê các tập tin tuyến đường và mẫu phiên bản
- **Di chuyển**: đề cập đến thư mục di chuyển và số lượng tệp
- **Middleware**: liệt kê các lớp middleware
- **Chế độ xem/mẫu**: đề cập đến công cụ xem và bố cục
- **Công nhân/Việc làm**: liệt kê các loại công việc nếu có
- **Mô-đun kinh doanh**: liệt kê các mô-đun hàng đầu từ đường dẫn nguồn được phát hiện theo kích thước
## Nguồn lệnh
- `composer.json` tập lệnh
- README/tài liệu hoặc CI
- Cách sử dụng `php artisan`, `bin/console` trong tài liệu/tập lệnh
- Lệnh `bin/worker.php`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `app/`, `src/`, `apps/`
- `public/`, `routes/`, `config/`, `database/`
- `app/Http/`, `resources/`, `storage/` (Laravel)
- `templates/` (Symfony)
- `app/Controllers/`, `app/Views/` (CI4)
- `apps/*/controllers/`, `models/` (Phalcon)
- `tests/`, `tests/acceptance/`, `tests/unit/`
TẬP TIN: tài liệu tham khảo/python.md
# Python
## Tín hiệu phát hiện
- `pyproject.toml`
- `requirements.txt`, `requirements-dev.txt`, `Pipfile`, `poetry.lock`
- `tox.ini`, `pytest.ini`
- `manage.py`
- `setup.py`, `setup.cfg`
- `settings.py`, `urls.py` (Django)
## Tín hiệu đa mô-đun
- Nhiều `pyproject.toml`/`setup.py`/`setup.cfg` trong thư mục con
- `packages/` hoặc `apps/` mỗi cái có cấu hình gói riêng
- Kiểu Django `apps/` với nhiều `apps.py` (nếu có)
## Trước khi tạo, hãy phân tích các nguồn này
- `pyproject.toml` hoặc `setup.py` / `setup.cfg`
- `requirements*.txt`, `Pipfile`, `poetry.lock`
- `tox.ini`, `pytest.ini`
- `manage.py`, `settings.py`, `urls.py` (nếu Django)
- Gốc gói dưới `src/`, `app/`, `packages/` (nếu có)
## Quét cơ sở mã (dành riêng cho Python)
- Nguồn gốc: `src/`, `app/`, `packages/`, `tests/`
- Mẫu thư mục (chỉ ghi nếu có):
`api`, `routers`, `views`, `services`, `repositories`,
`models`, `schemas`, `utils`, `config`
- Cấu trúc Django (chỉ ghi nếu có):
`apps.py`, `models.py`, `views.py`, `urls.py`, `migrations/`, `settings.py`
- Điểm đánh dấu FastAPI/Flask (chỉ ghi nếu có):
`FastAPI()`, `APIRouter`, `@app.get`, `@router.post`,
`Flask(__name__)`, `Blueprint`
- Nhập mô hình sử dụng (chỉ ghi nếu có):
`pydantic.BaseModel`, `TypedDict`, `dataclass`
## Đầu ra bắt buộc (mô-đun Python CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Bộ định tuyến/lượt xem**: liệt kê bộ định tuyến API hoặc xem tệp
- **Dịch vụ**: liệt kê các mô-đun dịch vụ
- **Mô hình/lược đồ**: liệt kê các mô hình dữ liệu (Pydantic, SQLAlchemy, Django)
- **Kho lưu trữ**: liệt kê kho lưu trữ hoặc mô-đun DAO
- **Di chuyển**: đề cập đến thư mục di chuyển
- **Middleware**: liệt kê các lớp middleware
- **Ứng dụng Django**: liệt kê các ứng dụng đã cài đặt (nếu Django)
## Nguồn lệnh
- `pyproject.toml` phần công cụ
- README/tài liệu hoặc CI
- Repo script gọi công cụ Python
- Cách sử dụng `python manage.py`, `pytest`, `tox` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/`, `app/`, `scripts/`
- `templates/`, `static/`
- `tests/`
TẬP TIN: tài liệu tham khảo/react-native.md
# Phản ứng gốc
## Tín hiệu phát hiện
- `package.json` với `react-native`
- `react-native.config.js`
- `metro.config.js`
- `ios/`, `android/`
- `babel.config.js`, `app.json`, `app.config.*`
- `eas.json`, `expo` trong `package.json`
## Tín hiệu đa mô-đun
- `pnpm-workspace.yaml`, `lerna.json`, `nx.json`, `turbo.json`
- Gốc `package.json` với `workspaces`
- `packages/` hoặc `apps/` mỗi cái có `package.json`
## Trước khi tạo, hãy phân tích các nguồn này
- Root `package.json` và cấu hình không gian làm việc (`pnpm-workspace.yaml`, `lerna.json`,
`nx.json`, `turbo.json`)
- `react-native.config.js`, `metro.config.js`
- `ios/` và `android/` thư mục gốc
- `app.json` / `app.config.*` / `eas.json` (nếu hội chợ triển lãm)
## Quét Codebase (React Native cụ thể)
- Nguồn gốc: `src/`, `app/`
- Điểm vào (chỉ ghi nếu có):
`index.js`, `index.ts`, `App.tsx`
- Thư mục gốc (chỉ ghi nếu có): `ios/`, `android/`
- Điều hướng/trạng thái (chỉ ghi nếu có):
`react-navigation`, `redux`, `mobx`
- Các mẫu mô-đun gốc (chỉ ghi nếu có):
`NativeModules`, `TurboModule`
## Đầu ra bắt buộc (React Native module CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Màn hình/điều hướng**: liệt kê các thành phần màn hình và điều hướng
- **Thành phần**: liệt kê các thư mục thành phần dùng chung
- **Dịch vụ/API**: liệt kê các mô-đun máy khách API
- **Quản lý trạng thái**: thiết lập cửa hàng danh sách
- **Mô-đun gốc**: liệt kê các mô-đun gốc tùy chỉnh
- **Thư mục nền tảng**: đề cập đến ios/ và android/ setup
## Nguồn lệnh
- `package.json` tập lệnh
- README/tài liệu hoặc CI
- Tệp bản dựng gốc trong `ios/` và `android/`
- `expo` cách sử dụng tập lệnh trong tài liệu/tập lệnh (nếu Expo)
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `ios/`, `android/`
- `src/`, `app/`
TẬP TIN: tài liệu tham khảo/Reac-web.md
# Phản ứng (Web)
## Tín hiệu phát hiện
- `package.json`
- `src/`, `public/`
- `vite.config.*`, `next.config.*`, `webpack.config.*`
- `tsconfig.json`
- `turbo.json`
- `app/` hoặc `pages/` (Next.js)
## Tín hiệu đa mô-đun
- `pnpm-workspace.yaml`, `lerna.json`, `nx.json`, `turbo.json`
- Gốc `package.json` với `workspaces`
- `apps/` và `packages/` mỗi cái có `package.json`
## Trước khi tạo, hãy phân tích các nguồn này
- Root `package.json` và cấu hình không gian làm việc (`pnpm-workspace.yaml`, `lerna.json`,
`nx.json`, `turbo.json`)
- `apps/*/package.json`, `packages/*/package.json` (nếu monorepo)
- `vite.config.*`, `next.config.*`, `webpack.config.*`
- `tsconfig.json` / `jsconfig.json`
## Quét Codebase (React dành riêng cho web)
- Nguồn gốc: `src/`, `app/`, `pages/`, `components/`, `hooks/`, `services/`
- Mẫu thư mục (chỉ ghi nếu có):
`routes`, `store`, `state`, `api`, `utils`, `assets`
- Dấu hiệu định tuyến (chỉ ghi nếu có):
Bộ định tuyến phản ứng (`Routes`, `Route`), Tiếp theo (`app/`, `pages/`)
- Quản lý nhà nước (chỉ ghi nếu có):
`redux`, `zustand`, `recoil`
- Quy ước đặt tên (chỉ ghi nếu có):
móc `use*`, thành phần PascalCase
## Đầu ra bắt buộc (Mô-đun web phản ứng CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Trang/tuyến**: liệt kê các thành phần trang hoặc tệp lộ trình
- **Thành phần**: liệt kê các thư mục thành phần dùng chung
- **Hooks**: liệt kê các hook tùy chỉnh
- **Dịch vụ/API**: liệt kê các mô-đun máy khách API
- **Quản lý trạng thái**: thiết lập cửa hàng danh sách (Redux, Zustand, v.v.)
- **Utils**: liệt kê các module tiện ích
## Nguồn lệnh
- `package.json` tập lệnh
- README/tài liệu hoặc CI
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/`, `public/`
- `app/`, `pages/`, `components/`
- `hooks/`, `services/`
- `apps/`, `packages/` (monorepos)
TẬP TIN: tài liệu tham khảo/ruby.md
# Ruby/Rails
## Tín hiệu phát hiện
- `Gemfile`, `Gemfile.lock`
- `Rakefile`
- `config.ru`
- `bin/rails` hoặc `bin/rake`
- `config/application.rb`
- `config/routes.rb`
## Tín hiệu đa mô-đun
- Nhiều tệp `Gemfile` hoặc `.gemspec` trong thư mục con
- `gems/`, `packages/` hoặc `engines/` với thông số kỹ thuật đá quý riêng biệt
- Nhiều ứng dụng Rails dưới `apps/` (mỗi ứng dụng có `config/application.rb`)
## Trước khi tạo, hãy phân tích các nguồn này
- `Gemfile`, `Gemfile.lock` và bất kỳ `.gemspec` nào
- `config/application.rb`, `config/routes.rb`
- `Rakefile` / `bin/rails` (nếu có)
- `engines/`, `gems/`, `apps/` (nếu thiết lập nhiều ứng dụng/công cụ)
## Quét codebase (dành riêng cho Ruby/Rails)
- Nguồn gốc: `app/`, `lib/`, `engines/`, `gems/`
- Các lớp Rails (chỉ ghi nếu có):
`app/models`, `app/controllers`, `app/views`, `app/jobs`, `app/services`
- Cấu hình và khởi tạo (chỉ ghi nếu có):
`config/routes.rb`, `config/application.rb`, `config/initializers/`
- ActiveRecord/migrations (chỉ ghi nếu có):
`db/migrate`, `ActiveRecord::Base`
- Kiểm tra (chỉ ghi nếu có): `spec/`, `test/`
## Đầu ra bắt buộc (mô-đun Ruby CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Bộ điều khiển**: liệt kê các lớp bộ điều khiển
- **Mô hình**: liệt kê các mô hình ActiveRecord
- **Dịch vụ**: liệt kê các đối tượng dịch vụ
- **Công việc**: liệt kê các lớp công việc nền
- **Routes**: tóm tắt các không gian tên tuyến đường chính
- **Di chuyển**: đề cập đến số lượng db/di chuyển
- **Động cơ**: liệt kê các động cơ được gắn (nếu có)
## Nguồn lệnh
- README/docs hoặc CI gọi `bundle`, `rails`, `rake`
- `Rakefile` nhiệm vụ
- Cách sử dụng `bundle exec` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `app/`, `config/`, `db/`
- `app/controllers/`, `app/models/`, `app/views/`
- `spec/` hoặc `test/`
TẬP TIN: tài liệu tham khảo/rust.md
# rỉ sét
## Tín hiệu phát hiện
- `Cargo.toml`, `Cargo.lock`
- `rust-toolchain.toml`
- `src/main.rs`, `src/lib.rs`
- Thành viên không gian làm việc trong `Cargo.toml`, `crates/`
## Tín hiệu đa mô-đun
- `[workspace]` với `members` trong `Cargo.toml`
- Nhiều `Cargo.toml` dưới `crates/` hoặc `apps/`
## Trước khi tạo, hãy phân tích các nguồn này
- Gốc `Cargo.toml`, `Cargo.lock`
- `rust-toolchain.toml` (nếu có)
- Không gian làm việc `Cargo.toml` trong `crates/` hoặc `apps/`
- `src/main.rs` / `src/lib.rs`
## Quét Codebase (Dành riêng cho Rust)
- Nguồn gốc: `src/`, `crates/`, `tests/`, `examples/`
- Bố cục mô-đun (chỉ ghi nếu có):
`lib.rs`, `main.rs`, `mod.rs`, `src/bin/*`
- Cách sử dụng Serde (chỉ ghi nếu có):
`#[derive(Serialize, Deserialize)]`
- Không đồng bộ/thời gian chạy (chỉ ghi nếu có):
`tokio`, `async-std`
- Khung web (chỉ ghi nếu có):
`axum`, `actix-web`, `warp`
## Đầu ra bắt buộc (Rust module CLAUDE.md)
Bao gồm những điều này nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Thùng**: liệt kê các thùng không gian làm việc có mục đích
- **Nhị phân**: liệt kê các mục tiêu `src/bin/*` hoặc `[[bin]]`
- **Mô-đun**: liệt kê các khai báo `mod` cấp cao nhất
- **Trình xử lý/tuyến đường**: liệt kê các mô-đun xử lý web (nếu ứng dụng web)
- **Mô hình**: liệt kê các mô-đun mô hình miền
- **Config**: liệt kê các module tải cấu hình
## Nguồn lệnh
- README/tài liệu hoặc CI
- Tập lệnh Repo gọi `cargo`
- Cách sử dụng `cargo test`, `cargo run` trong tài liệu/tập lệnh
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính cần đề cập (chỉ khi có)
- `src/`, `crates/`
- `tests/`, `examples/`, `benches/`Phân tích các mẫu cơ sở mã để khám phá các kỹ năng còn thiếu và tạo/cập nhật các tệp SKILL.md trong .claude/skills/ với các ví dụ thực tế, có nguồn gốc từ repo.
---
Tên: bậc thầy kỹ năng
mô tả: Khám phá các mẫu cơ sở mã và tự động tạo tệp KỸ NĂNG cho .claude/skills/. Sử dụng khi phân tích dự án để tìm các kỹ năng còn thiếu, tạo kỹ năng mới từ các mẫu cơ sở mã hoặc đồng bộ hóa các kỹ năng với cấu trúc dự án.
phiên bản: 1.0.0
---
# Bậc thầy kỹ năng
## Tổng quan
Phân tích cơ sở mã để khám phá các mẫu và tạo/cập nhật tệp KỸ NĂNG trong `.claude/skills/`. Hỗ trợ các dự án đa nền tảng với khả năng phát hiện mẫu theo từng ngăn xếp cụ thể.
**Khả năng:**
- Quét codebase để tìm các mẫu kiến trúc (ViewModel, Repository, Room, v.v.)
- So sánh các mẫu được phát hiện với các kỹ năng hiện có
- Tự động tạo tệp KỸ NĂNG với các ví dụ mã thực
- Theo dõi phiên bản và cập nhật thông minh
## Cách AI phát hiện và sử dụng kỹ năng này
Kỹ năng này kích hoạt khi người dùng:
- Yêu cầu phân tích dự án để phát hiện các kỹ năng còn thiếu
- Yêu cầu tạo kỹ năng từ các mẫu cơ sở mã
- Muốn đồng bộ hoặc cập nhật các kỹ năng hiện có
- Đề cập đến "khám phá kỹ năng", "tạo kỹ năng" hoặc "đồng bộ hóa kỹ năng"
**Tín hiệu phát hiện:**
- sự hiện diện của thư mục `.claude/skills/`
- Cấu trúc dự án phù hợp với các mẫu đã biết
- Tập tin build/config chỉ ra nền tảng (xem tài liệu tham khảo)
## Chế độ
### Chế độ khám phá
Phân tích cơ sở mã và báo cáo các kỹ năng còn thiếu.
**Các bước:**
1. Phát hiện nền tảng thông qua file build/config (xem tài liệu tham khảo)
2. Quét nguồn gốc để tìm các chỉ báo mẫu
3. So sánh các mẫu được phát hiện với `.claude/skills/` hiện có
4. Báo cáo phân tích chênh lệch đầu ra
**Định dạng đầu ra:**
```
Detected Patterns: {count}
| Pattern | Files Found | Example Location |
|---------|-------------|------------------|
| {name} | {count} | {path} |
Existing Skills: {count}
Missing Skills: {count}
- {skill-name}: {pattern}, {file-count} files found
```
### Chế độ tạo
Tạo tệp KỸ NĂNG từ các mẫu được phát hiện.
**Các bước:**
1. Chạy khám phá để xác định các kỹ năng còn thiếu
2. Với mỗi kỹ năng còn thiếu:
- Tìm 2-3 file nguồn đại diện
- Trích xuất: nhập, chú thích, cấu trúc lớp, quy ước
- Trích xuất quy tắc từ `.ruler/*.md` nếu có
3. Tạo SKILL.md bằng cấu trúc mẫu
4. Thêm phiên bản và điểm đánh dấu nguồn
**Cấu trúc KỸ NĂNG được tạo:**
```yaml
---
name: {pattern-name}
description: {Generated description with trigger keywords}
version: 1.0.0
---
# {Title}
## Overview
{Brief description from pattern analysis}
## File Structure
{Extracted from codebase}
## Implementation Pattern
{Real code examples - anonymized}
## Rules
### Do
{From .ruler/*.md + codebase conventions}
### Don't
{Anti-patterns found}
## File Location
{Actual paths from codebase}
```
## Tạo chiến lược
Khi tệp KỸ NĂNG mục tiêu không tồn tại:
1. Tạo tệp mới bằng mẫu
2. Đặt `version: 1.0.0` trong phần đầu
3. Bao gồm tất cả các phần bắt buộc
4. Thêm điểm đánh dấu nguồn ở cuối (xem Định dạng điểm đánh dấu)
## Cập nhật chiến lược
**Kiểm tra điểm đánh dấu:** Tìm `<!-- Generated by skill-master command` ở cuối tệp.
**Nếu có điểm đánh dấu (lần chạy tiếp theo):**
- Hợp nhất thông minh: giữ nguyên nội dung tùy chỉnh, thêm các phần còn thiếu
- Phiên bản tăng dần: chính (phá vỡ) / phụ (tính năng) / vá (sửa lỗi)
- Cập nhật danh sách nguồn trong điểm đánh dấu
**Nếu không có điểm đánh dấu (chạy lần đầu trên tệp hiện có):**
- Sao lưu: `SKILL.md` → `SKILL.md.bak`
- Sử dụng bản sao lưu làm nguồn, trích xuất nội dung liên quan
- Tạo tập tin mới bằng điểm đánh dấu
- Đặt `version: 1.0.0`
## Định dạng điểm đánh dấu
Đặt ở CUỐI của SKILL.md được tạo:
```html
<!-- Generated by skill-master command
Version: {version}
Sources:
- path/to/source1.kt
- path/to/source2.md
- .ruler/rule-file.md
Last updated: {YYYY-MM-DD}
-->
```
## Tài liệu tham khảo nền tảng
Đọc tài liệu tham khảo có liên quan khi phát hiện nền tảng:
| Nền tảng | Tệp phát hiện | Tham khảo |
|----------|---------|----------|
| Android/Gradle | `build.gradle`, `settings.gradle` | `references/android.md` |
| iOS/Xcode | `*.xcodeproj`, `Package.swift` | `references/ios.md` |
| Phản ứng (web) | `package.json` + phản ứng | `references/react-web.md` |
| Phản ứng bản địa | `package.json` + phản ứng gốc | `references/react-native.md` |
| Rung/Phi tiêu | `pubspec.yaml` | `references/flutter.md` |
| Node.js | `package.json` | `references/node.md` |
| Python | `pyproject.toml`, `requirements.txt` | `references/python.md` |
| Java/JVM | `pom.xml`, `build.gradle` | `references/java.md` |
| .NET/C# | `*.csproj`, `*.sln` | `references/dotnet.md` |
| Đi | `go.mod` | `references/go.md` |
| rỉ sét | `Cargo.toml` | `references/rust.md` |
| PHP | `composer.json` | `references/php.md` |
| Ruby | `Gemfile` | `references/ruby.md` |
| Thuốc tiên | `mix.exs` | `references/elixir.md` |
| C/C++ | `CMakeLists.txt`, `Makefile` | `references/cpp.md` |
| Không rõ | - | `references/generic.md` |
Nếu phát hiện thấy nhiều nền tảng, hãy đọc nhiều tài liệu tham khảo.
## Quy tắc
### LÀM
- Chỉ trích xuất các mẫu đã được xác minh trong cơ sở mã
- Sử dụng các ví dụ mã thực (ẩn danh logic nghiệp vụ)
- Bao gồm các từ khóa kích hoạt trong mô tả
- Giữ SKILL.md dưới 500 dòng
- Tham khảo file bên ngoài để biết nội dung chi tiết
- Bảo toàn các phần tùy chỉnh trong quá trình cập nhật
- Luôn sao lưu trước khi sửa đổi lần đầu
### Đừng
- Bao gồm bí mật, mã thông báo hoặc thông tin xác thực
- Bao gồm các chi tiết logic dành riêng cho doanh nghiệp
- Tạo phần giữ chỗ không có nội dung thực
- Ghi đè các tùy chỉnh của người dùng mà không cần sao lưu
- Tạo chuỗi tham chiếu sâu (tối đa 1 cấp độ)
- Viết bên ngoài `.claude/skills/`
## Quy tắc trích xuất nội dung
**Từ cơ sở mã:**
- Trích xuất: cấu trúc lớp, chú thích, mẫu nhập, vị trí tệp, quy ước đặt tên
- Không bao giờ: giá trị được mã hóa cứng, bí mật, khóa API, PII
**Từ .ruler/*.md (nếu có):**
- Trích xuất: Quy tắc Do/Không, ràng buộc về kiến trúc, quy tắc phụ thuộc
## Báo cáo đầu ra
Sau khi tạo, in:
```
SKILL GENERATION REPORT
Skills Generated: {count}
{skill-name} [CREATED | UPDATED | BACKED_UP+CREATED]
├── Analyzed: {file-count} source files
├── Sources: {list of source files}
├── Rules from: {.ruler files if any}
└── Output: .claude/skills/{skill-name}/SKILL.md ({line-count} lines)
Validation:
✓ YAML frontmatter valid
✓ Description includes trigger keywords
✓ Content under 500 lines
✓ Has required sections
```
## Ràng buộc an toàn
- Không bao giờ viết ra bên ngoài `.claude/skills/`
- Không bao giờ xóa nội dung mà không sao lưu
- Luôn sao lưu trước khi sửa đổi lần đầu
- Bảo toàn các tùy chỉnh của người dùng
- Tất định: cùng một đầu vào → cùng một đầu ra
TẬP TIN: tài liệu tham khảo/android.md
# Android (Gradle/Kotlin)
## Tín hiệu phát hiện
- `settings.gradle` hoặc `settings.gradle.kts`
- `build.gradle` hoặc `build.gradle.kts`
- `gradle.properties`, `gradle/libs.versions.toml`
- `gradlew`, `gradle/wrapper/gradle-wrapper.properties`
- `app/src/main/AndroidManifest.xml`
## Tín hiệu đa mô-đun
- Nhiều `include(...)` trong `settings.gradle*`
- Nhiều thư mục có `build.gradle*` + `src/`
- Các gốc chung: `feature/`, `core/`, `library/`, `domain/`, `data/`
## Nguồn tiền thế hệ
- `settings.gradle*` (danh sách mô-đun)
- `build.gradle*` (gốc + mô-đun)
- `gradle/libs.versions.toml` (phụ thuộc)
- `config/detekt/detekt.yml` (nếu có)
- `**/AndroidManifest.xml`
## Các mẫu quét Codebase
### Nguồn gốc
- `*/src/main/java/`, `*/src/main/kotlin/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`features/`, `core/`, `common/`, `data/`, `domain/`, `presentation/`, `ui/`, `di/`, `navigation/`, `network/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| ViewModel | `@HiltViewModel`, `ViewModel()`, `MVI<` | viewmodel-mvi |
| Kho lưu trữ | `*Repository`, `*RepositoryImpl` | kho dữ liệu |
| Trường hợp sử dụng | `operator fun invoke`, `*UseCase` | trường hợp sử dụng miền |
| Thực thể phòng | `@Entity`, `@PrimaryKey`, `@ColumnInfo` | thực thể phòng |
| Phòng ĐÀO | `@Dao`, `@Query`, `@Insert`, `@Update` | phòng-đạo |
| Di chuyển | `Migration(`, `@Database(version=` | di chuyển phòng |
| Bộ chuyển đổi loại | `@TypeConverter`, `@TypeConverters` | bộ chuyển đổi kiểu |
| DTO | `@SerializedName`, `*Request`, `*Response` | mạng-dto |
| Soạn màn hình | `@Composable`, `NavGraphBuilder.` | soạn màn hình |
| Tấm dưới cùng | `ModalBottomSheet`, `*BottomSheet(` | màn hình dưới cùng |
| Điều hướng | `@Route`, `NavGraphBuilder.`, `composable(` | tuyến đường điều hướng |
| Mô-đun chuôi | `@Module`, `@Provides`, `@Binds`, `@InstallIn` | mô-đun chuôi |
| Công nhân | `@HiltWorker`, `CoroutineWorker`, `WorkManager` | nhiệm vụ công nhân |
| Kho dữ liệu | `DataStore<Preferences>`, `preferencesDataStore` | ưu tiên kho dữ liệu |
| API trang bị thêm | `@GET`, `@POST`, `@PUT`, `@DELETE` | trang bị thêm-api |
| Thư mục | `*.toModel()`, `*.toEntity()`, `*.toDto()` | thư mục dữ liệu |
| Đánh chặn | `Interceptor`, `intercept()` | chặn mạng |
| Phân trang | `PagingSource`, `Pager(`, `PagingData` | nguồn phân trang |
| Máy thu phát sóng | `BroadcastReceiver`, `onReceive(` | máy thu phát sóng |
| Dịch vụ Android | `: Service()`, `ForegroundService` | dịch vụ android |
| Thông báo | `NotificationCompat`, `NotificationChannel` | người xây dựng thông báo |
| Phân tích | `FirebaseAnalytics`, `logEvent` | sự kiện phân tích |
| Cờ tính năng | `RemoteConfig`, `FeatureFlag` | cờ tính năng |
| Tiện ích ứng dụng | `AppWidgetProvider`, `GlanceAppWidget` | tiện ích ứng dụng |
| Kiểm tra đơn vị | `@Test`, `MockK`, `mockk(`, `every {` | kiểm tra đơn vị |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện (liệt kê tên thực tế được tìm thấy):
- **Kho tính năng**: thư mục dưới `feature/`
- **Mô-đun lõi**: thư mục trong `core/`, `library/`
- **Biểu đồ điều hướng**: `*Graph.kt`, `*Navigator*.kt`
- **Mô-đun Hilt**: `@Module` lớp, `di/` nội dung
- **Trang bị thêm API**: giao diện `*Api.kt`
- **Cơ sở dữ liệu phòng**: `@Database` lớp
- **Công nhân**: `@HiltWorker` lớp
- **Proguard**: `proguard-rules.pro` nếu có
## Nguồn lệnh
- README/tài liệu gọi `./gradlew`
- Quy trình công việc CI với các lệnh Gradle
- Phổ biến: `./gradlew assemble`, `./gradlew test`, `./gradlew lint`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `app/src/main/`, `app/src/main/res/`
- `app/src/main/java/`, `app/src/main/kotlin/`
- `app/src/test/`, `app/src/androidTest/`
- `library/database/migration/` (Di chuyển phòng)
TẬP TIN:README.md
TẬP TIN: tài liệu tham khảo/cpp.md
#C/C++
## Tín hiệu phát hiện
- `CMakeLists.txt`
- `Makefile`, `makefile`
- `*.cpp`, `*.c`, `*.h`, `*.hpp`
- `conanfile.txt`, `conanfile.py` (Conan)
- `vcpkg.json` (vcpkg)
## Tín hiệu đa mô-đun
- Nhiều `CMakeLists.txt` với `add_subdirectory`
- Nhiều `Makefile` trong thư mục con
- thư mục `lib/`, `src/`, `modules/`
## Nguồn tiền thế hệ
- `CMakeLists.txt` (phụ thuộc, mục tiêu)
- `conanfile.*` (phụ thuộc)
- `vcpkg.json` (phụ thuộc)
- `Makefile` (xây dựng mục tiêu)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `lib/`, `include/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`core/`, `utils/`, `network/`, `storage/`, `ui/`, `tests/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Lớp | `class *`, `public:`, `private:` | lớp cpp |
| Tiêu đề | `*.h`, `*.hpp`, `#pragma once` | tập tin tiêu đề |
| Mẫu | `template<`, `typename T` | mẫu cpp |
| Con trỏ thông minh | `std::unique_ptr`, `std::shared_ptr` | con trỏ thông minh |
| RAII | mẫu hàm hủy, `~*()` | mẫu raii |
| Singleton | `static *& instance()` | đơn |
| Nhà máy | `create*()`, `make*()` | mẫu nhà máy |
| Người quan sát | `subscribe`, `notify`, mẫu gọi lại | mẫu quan sát |
| Chủ đề | `std::thread`, `std::async`, `pthread` | luồng |
| Mutex | `std::mutex`, `std::lock_guard` | đồng bộ hóa |
| Mạng | `socket`, `asio::`, `boost::asio` | mạng-cpp |
| Tuần tự hóa | `nlohmann::json`, `protobuf` | tuần tự hóa |
| Kiểm tra đơn vị | `TEST(`, `TEST_F(`, `gtest` | gtest |
| Kiểm tra Catch2 | `TEST_CASE(`, `REQUIRE(` | kiểm tra Catch2 |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Mô-đun lõi**: chức năng chính
- **Thư viện**: thư viện nội bộ
- **Tiêu đề**: API công khai
- **Thử nghiệm**: tổ chức thử nghiệm
- **Xây dựng mục tiêu**: tệp thực thi, thư viện
## Nguồn lệnh
- `CMakeLists.txt` mục tiêu tùy chỉnh
- `Makefile` mục tiêu
- README/tài liệu, TẠI ĐÂY
- Phổ biến: `cmake`, `make`, `ctest`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/`, `include/`
- `lib/`, `libs/`
- `tests/`, `test/`
- `build/` (ngoài nguồn)
TẬP TIN: tài liệu tham khảo/dotnet.md
# .NET (C#/F#)
## Tín hiệu phát hiện
- `*.csproj`, `*.fsproj`
- `*.sln`
- `global.json`
- `appsettings.json`
- `Program.cs`, `Startup.cs`
## Tín hiệu đa mô-đun
- Nhiều tệp `*.csproj`
- Giải pháp với nhiều dự án
- `src/`, `tests/` thư mục chứa các dự án
## Nguồn tiền thế hệ
- `*.csproj` (phụ thuộc, SDK)
- `*.sln` (cấu trúc dự án)
- `appsettings.json` (cấu hình)
- `global.json` (phiên bản SDK)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `*/` (mỗi dự án)
### Mẫu lớp/thư mục (ghi lại nếu có)
`Controllers/`, `Services/`, `Repositories/`, `Models/`, `Entities/`, `DTOs/`, `Middleware/`, `Extensions/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Bộ điều khiển | `[ApiController]`, `ControllerBase`, `[HttpGet]` | bộ điều khiển aspnet |
| Dịch vụ | `I*Service`, `class *Service` | dịch vụ dotnet |
| Kho lưu trữ | `I*Repository`, `class *Repository` | kho lưu trữ dotnet |
| Thực thể | `class *Entity`, `[Table]`, `[Key]` | thực thể hiệu quả |
| DTO | `class *Dto`, `class *Request`, `class *Response` | mẫu dto |
| DbContext | `: DbContext`, `DbSet<` | ef-dbcontext |
| Phần mềm trung gian | `IMiddleware`, `RequestDelegate` | phần mềm trung gian aspnet |
| Dịch vụ nền | `BackgroundService`, `IHostedService` | dịch vụ nền |
| Trình xử lý MediatR | `IRequestHandler<`, `INotificationHandler<` | thương gia mediatr |
| Trung tâm SignalR | `: Hub`, `[HubName]` | trung tâm tín hiệu |
| API tối thiểu `app.MapGet(`, `app.MapPost(` | api tối thiểu |
| Dịch vụ gRPC | `*.proto`, `: *Base` | dịch vụ grpc |
| Di chuyển EC | `Migrations/`, `AddMigration` | di chuyển ef |
| Kiểm tra đơn vị | `[Fact]`, `[Theory]`, `xUnit` | xunit-test |
| Kiểm tra tích hợp | `WebApplicationFactory`, `IClassFixture` | kiểm tra tích hợp |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Bộ điều khiển**: Điểm cuối API
- **Dịch vụ**: logic nghiệp vụ
- **Kho lưu trữ**: truy cập dữ liệu (EF Core)
- **Thực thể/DTO**: mô hình dữ liệu
- **Phần mềm trung gian**: đường dẫn yêu cầu
- **Dịch vụ nền**: dịch vụ được lưu trữ
## Nguồn lệnh
- `*.csproj` mục tiêu
- README/tài liệu, TẠI ĐÂY
- Phổ biến: `dotnet build`, `dotnet test`, `dotnet run`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/*/`, thư mục dự án
- `tests/`
- `Migrations/`
- `Properties/`
TẬP TIN: tài liệu tham khảo/elixir.md
# Tiên dược/Erlang
## Tín hiệu phát hiện
- `mix.exs`
- `mix.lock`
- `config/config.exs`
- thư mục `lib/`, `test/`
## Tín hiệu đa mô-đun
- Ứng dụng ô (thư mục `apps/`)
- Nhiều `mix.exs` trong thư mục con
- `rel/` cho bản phát hành
## Nguồn tiền thế hệ
- `mix.exs` (phụ thuộc, cấu hình)
- `config/*.exs` (cấu hình)
- `rel/config.exs` (bản phát hành)
## Các mẫu quét Codebase
### Nguồn gốc
- `lib/`, `apps/*/lib/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`controllers/`, `views/`, `channels/`, `contexts/`, `schemas/`, `workers/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Bộ điều khiển Phoenix | `use *Web, :controller`, `def index` | điều khiển phượng hoàng |
| Phượng Hoàng LiveView | `use *Web, :live_view`, `mount/3` | phượng-liveview |
| Kênh Phượng Hoàng | `use *Web, :channel`, `join/3` | kênh phượng |
| Đây là sơ đồ `use Ecto.Schema`, `schema "` | lược đồ ecto |
| Di chuyển Ecto | `use Ecto.Migration`, `create table` | di cư ngoài tử |
| Bộ thay đổi Ecto | `cast/4`, `validate_required` | bộ thay đổi ecto |
| Bối cảnh | `defmodule *Context`, `def list_*` | bối cảnh phượng hoàng |
| GenServer | `use GenServer`, `handle_call` | máy chủ gen |
| Giám sát viên | `use Supervisor`, `start_link` | giám sát viên |
| Nhiệm vụ | `Task.async`, `Task.Supervisor` | nhiệm vụ thuốc tiên |
| Công nhân Oban | `use Oban.Worker`, `perform/1` | công nhân oban |
| rượu absinthe | `use Absinthe.Schema`, `field :` | lược đồ đồ họa |
| Kiểm tra ExUnit | `use ExUnit.Case`, `test "` | kiểm tra exunit |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Bộ điều khiển/LiveViews**: Trình xử lý HTTP/WebSocket
- **Bối cảnh**: logic nghiệp vụ
- **Lược đồ**: Mô hình Ecto
- **Kênh**: trình xử lý thời gian thực
- **Công nhân**: công việc nền
## Nguồn lệnh
- `mix.exs` bí danh
- README/tài liệu, TẠI ĐÂY
- Phổ biến: `mix deps.get`, `mix test`, `mix phx.server`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `lib/*/`, `lib/*_web/`
- `priv/repo/migrations/`
- `test/`
- `config/`
TẬP TIN: tài liệu tham khảo/flutter.md
# Rung/Phi tiêu
## Tín hiệu phát hiện
- `pubspec.yaml`
- `lib/main.dart`
- thư mục `android/`, `ios/`, `web/`
- `.dart_tool/`
- `analysis_options.yaml`
## Tín hiệu đa mô-đun
- `melos.yaml` (monorepo)
- Nhiều `pubspec.yaml` trong thư mục con
- thư mục `packages/`
## Nguồn tiền thế hệ
- `pubspec.yaml` (phụ thuộc)
- `analysis_options.yaml`
- `build.yaml` (nếu sử dụng build_runner)
- `lib/main.dart` (điểm vào)
## Các mẫu quét Codebase
### Nguồn gốc
- `lib/`, `test/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`screens/`, `widgets/`, `models/`, `services/`, `providers/`, `repositories/`, `utils/`, `constants/`, `bloc/`, `cubit/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Màn hình/Trang | `*Screen`, `*Page`, `extends StatefulWidget` | màn hình rung |
| Tiện ích | `extends StatelessWidget`, `extends StatefulWidget` | tiện ích rung |
| BLoC | `extends Bloc<`, `extends Cubit<` | mẫu khối |
| Nhà cung cấp | `ChangeNotifier`, `Provider.of<`, `context.read<` | mẫu nhà cung cấp |
| Riverpod | `@riverpod`, `ref.watch`, `ConsumerWidget` | nhà cung cấp riverpod |
| GetX | `GetxController`, `Get.put`, `Obx(` | bộ điều khiển getx |
| Kho lưu trữ | `*Repository`, `abstract class *Repository` | kho dữ liệu |
| Dịch vụ | `*Service` | lớp dịch vụ |
| Người mẫu | `fromJson`, `toJson`, `@JsonSerializable` | mô hình json |
| Đông lạnh | `@freezed`, `part '*.freezed.dart'` | mô hình đóng băng |
| API ứng dụng khách | `Dio`, `http.Client`, `Retrofit` | api-khách hàng |
| Điều hướng | `Navigator`, `GoRouter`, `auto_route` | điều hướng rung |
| Bản địa hóa | `AppLocalizations`, `l10n`, `intl` | rung-l10n |
| Kiểm tra | `testWidgets`, `WidgetTester`, `flutter_test` | kiểm tra tiện ích |
| Kiểm tra tích hợp | `integration_test`, `IntegrationTestWidgetsFlutterBinding` | kiểm tra tích hợp |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Sàng lọc khoảng không quảng cáo**: thư mục dưới `screens/`, `pages/`
- **Quản lý nhà nước**: BLoC, Provider, Riverpod, GetX
- **Thiết lập điều hướng**: GoRouter, auto_route, Navigator
- **Phương pháp tiếp cận DI**: get_it, tiêm, thủ công
- **Lớp API**: Dio, http, Retrofit
- **Mô hình**: Đã đóng băng, json_serializable
## Nguồn lệnh
- `pubspec.yaml` script (nếu sử dụng melos)
- README/tài liệu
- Phổ biến: `flutter run`, `flutter test`, `flutter build`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `lib/`, `test/`
- `lib/screens/`, `lib/widgets/`
- `lib/bloc/`, `lib/providers/`
- `assets/`
TẬP TIN: tài liệu tham khảo/generic.md
# Ngăn xếp chung/không xác định
Tham chiếu dự phòng khi không phát hiện thấy nền tảng cụ thể.
## Tín hiệu phát hiện
- Không tìm thấy tệp xây dựng/cấu hình cụ thể
- Công nghệ hỗn hợp
- Kho lưu trữ chỉ có tài liệu
## Tín hiệu đa mô-đun
- Nhiều thư mục với mối quan tâm riêng biệt
- thư mục `packages/`, `modules/`, `libs/`
- Cấu trúc Monorepo không có dụng cụ cụ thể
## Nguồn tiền thế hệ
- `README.md` (tổng quan về dự án)
- `docs/*` (tài liệu)
- `.env.example` (var môi trường)
- `docker-compose.yml` (dịch vụ)
- Hàng CI (`.github/workflows/`, v.v.)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `lib/`, `app/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`api/`, `core/`, `utils/`, `services/`, `models/`, `config/`, `scripts/`
### Chỉ báo mẫu chung
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Điểm vào | `main.*`, `index.*`, `app.*` | điểm vào |
| Cấu hình | `config.*`, `settings.*` | tập tin cấu hình |
| Ứng dụng khách API | `api/`, `client/`, cuộc gọi HTTP | api-khách hàng |
| Người mẫu | `model/`, `types/`, cấu trúc dữ liệu | mô hình dữ liệu |
| Dịch vụ | `service/`, logic nghiệp vụ | lớp dịch vụ |
| Tiện ích | `utils/`, `helpers/`, `common/` | mô-đun tiện ích |
| Kiểm tra | `test/`, `tests/`, `*_test.*`, `*.test.*` | tập tin kiểm tra |
| Kịch bản | `scripts/`, `bin/` | tập tin script |
| Tài liệu | `docs/`, `*.md` | tài liệu |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Cấu trúc dự án**: các thư mục chính
- **Điểm vào**: tập tin chính
- **Cấu hình**: tập tin cấu hình
- **Phụ thuộc**: bất kỳ trình quản lý gói nào
- **Lệnh xây dựng/Chạy**: từ README/script
## Nguồn lệnh
- `README.md` (tìm khối mã)
- `Makefile`, `Taskfile.yml`
- thư mục `scripts/`
- Quy trình công việc CI
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/`, `lib/`
- `docs/`
- `scripts/`
- `config/`
## Ghi chú
Khi sử dụng tài liệu tham khảo chung này:
1. Quét mọi mẫu có thể nhận biết
2. Tài liệu cấu trúc dự án thực tế được tìm thấy
3. Trích xuất lệnh từ README nếu có
4. Lưu ý mọi công nghệ được đề cập trong tài liệu
5. Giữ đầu ra ở mức tối thiểu và thực tế
TẬP TIN: tài liệu tham khảo/go.md
# Đi
## Tín hiệu phát hiện
- `go.mod`
- `go.sum`
- `main.go`
- thư mục `cmd/`, `internal/`, `pkg/`
## Tín hiệu đa mô-đun
- `go.work` (không gian làm việc)
- Nhiều tệp `go.mod`
- `cmd/*/main.go` (nhiều nhị phân)
## Nguồn tiền thế hệ
- `go.mod` (phụ thuộc)
- `Makefile` (lệnh xây dựng)
- `config/*.yaml` hoặc `*.toml`
## Các mẫu quét Codebase
### Nguồn gốc
- `cmd/`, `internal/`, `pkg/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`handler/`, `service/`, `repository/`, `model/`, `middleware/`, `config/`, `util/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Trình xử lý HTTP | `http.Handler`, `http.HandlerFunc`, `gin.Context` | trình xử lý http |
| Tuyến Gin | `gin.Engine`, `r.GET(`, `r.POST(` | tuyến đường gin |
| Tuyến đường Echo | `echo.Echo`, `e.GET(`, `e.POST(` | tuyến đường echo |
| Tuyến cáp quang | `fiber.App`, `app.Get(`, `app.Post(` | tuyến cáp quang |
| Dịch vụ gRPC | `*.proto`, `pb.*Server` | dịch vụ grpc |
| Kho lưu trữ | `type *Repository interface`, `*Repository` | kho dữ liệu |
| Dịch vụ | `type *Service interface`, `*Service` | lớp dịch vụ |
| Mô hình GORM | `gorm.Model`, `*gorm.DB` | mô hình gorm |
| sqlx | `sqlx.DB`, `sqlx.NamedExec` | cách sử dụng sqlx |
| Di chuyển | `goose`, `golang-migrate` | di chuyển db |
| Phần mềm trung gian | `func(*Context)`, `middleware.*` | đi phần mềm trung gian |
| Công nhân | `go func()`, `sync.WaitGroup`, `errgroup` | goroutine công nhân |
| Cấu hình | `viper`, `envconfig`, `cleanenv` | trình tải cấu hình |
| Kiểm tra đơn vị | `*_test.go`, `func Test*(t *testing.T)` | đi kiểm tra |
| Giả | `mockgen`, `*_mock.go` | giả lập |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Trình xử lý HTTP**: Điểm cuối API
- **Dịch vụ**: logic nghiệp vụ
- **Kho lưu trữ**: truy cập dữ liệu
- **Mô hình**: cấu trúc dữ liệu
- **Middleware**: chặn yêu cầu
- **Di chuyển**: di chuyển cơ sở dữ liệu
## Nguồn lệnh
- `Makefile` mục tiêu
- README/tài liệu, TẠI ĐÂY
- Phổ biến: `go build`, `go test`, `go run`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `cmd/`, `internal/`, `pkg/`
- `api/`, `handler/`
- `migrations/`
- `config/`
TẬP TIN: tài liệu tham khảo/ios.md
# iOS (Xcode/Swift)
## Tín hiệu phát hiện
- `*.xcodeproj`, `*.xcworkspace`
- `Package.swift` (SPM)
- `Podfile`, `Podfile.lock` (CocoaPods)
- `Cartfile` (Carthage)
- `*.pbxproj`
- `Info.plist`
## Tín hiệu đa mô-đun
- Nhiều mục tiêu trong `*.xcodeproj`
- Nhiều tệp `Package.swift`
- Không gian làm việc với nhiều dự án
- thư mục `Modules/`, `Packages/`, `Features/`
## Nguồn tiền thế hệ
- `*.xcodeproj/project.pbxproj` (danh sách mục tiêu)
- `Package.swift` (phụ thuộc, mục tiêu)
- `Podfile` (phụ thuộc)
- `*.xcconfig` (cấu hình xây dựng)
- Tệp `Info.plist`
## Các mẫu quét Codebase
### Nguồn gốc
- `*/Sources/`, `*/Source/`
- `*/App/`, `*/Core/`, `*/Features/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`Models/`, `Views/`, `ViewModels/`, `Services/`, `Networking/`, `Utilities/`, `Extensions/`, `Coordinators/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Chế độ xem SwiftUI | `struct *: View`, `var body: some View` | swiftui-xem |
| UIKit VC | `UIViewController`, `viewDidLoad()` | bộ điều khiển uikit-view |
| ViewModel | `@Observable`, `ObservableObject`, `@Published` | viewmodel-có thể quan sát được |
| Điều phối viên | `Coordinator`, `*Coordinator` | mẫu điều phối viên |
| Kho lưu trữ | `*Repository`, `protocol *Repository` | kho dữ liệu |
| Dịch vụ | `*Service`, `protocol *Service` | lớp dịch vụ |
| Dữ liệu cốt lõi | `NSManagedObject`, `@NSManaged`, `.xcdatamodeld` | thực thể coredata |
| Vương quốc | `Object`, `@Persisted` | mô hình vương quốc |
| Mạng | `URLSession`, `Alamofire`, `Moya` | mạng khách hàng |
| Phụ thuộc | `@Inject`, `Container`, `Swinject` | di-container |
| Điều hướng | `NavigationStack`, `NavigationPath` | chuyển hướng-swiftui |
| Kết hợp | `Publisher`, `AnyPublisher`, `sink` | nhà xuất bản kết hợp |
| Không đồng bộ/Đang chờ | `async`, `await`, `Task {` | chờ đợi không đồng bộ |
| Kiểm tra đơn vị | `XCTestCase`, `func test*()` | xctest |
| Kiểm tra giao diện người dùng | `XCUIApplication`, `XCUIElement` | xcu nhất |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Mục tiêu khoảng không quảng cáo**: danh sách từ pbxproj
- **Mô-đun/Gói**: Gói SPM, Pod
- **Xem kiến trúc**: SwiftUI vs UIKit
- **Quản lý nhà nước**: Kết hợp, Có thể quan sát, v.v.
- **Lớp mạng**: URLSession, Alamofire, v.v.
- **Kiên trì**: Dữ liệu cốt lõi, Vương quốc, Mặc định của người dùng
- **DI setup**: Swinject, chèn thủ công
## Nguồn lệnh
- README/docs với các lệnh xcodebuild
- `fastlane/Fastfile` len
- Quy trình công việc CI (`.github/workflows/`, `.gitlab-ci.yml`)
- Phổ biến: `xcodebuild test`, `fastlane test`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `*/Sources/`, `*/Tests/`
- `*.xcodeproj/`, `*.xcworkspace/`
- `Pods/` (nếu CocoaPods)
- `Packages/` (nếu gói cục bộ SPM)
TẬP TIN: tài liệu tham khảo/java.md
# Java/JVM (Mùa xuân, v.v.)
## Tín hiệu phát hiện
- `pom.xml` (Dạ dày)
- `build.gradle`, `build.gradle.kts` (Cấp độ)
- `settings.gradle` (đa mô-đun)
- `src/main/java/`, `src/main/kotlin/`
- `application.properties`, `application.yml`
## Tín hiệu đa mô-đun
- Nhiều `pom.xml` với `<modules>`
- Nhiều `build.gradle` với `include()`
- thư mục `modules/`, `services/`
## Nguồn tiền thế hệ
- `pom.xml` hoặc `build.gradle*` (phụ thuộc)
- `application.properties/yml` (cấu hình)
- `settings.gradle` (mô-đun)
- `docker-compose.yml` (dịch vụ)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/main/java/`, `src/main/kotlin/`
- `src/test/java/`, `src/test/kotlin/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`controller/`, `service/`, `repository/`, `model/`, `entity/`, `dto/`, `config/`, `exception/`, `util/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Bộ điều khiển REST | `@RestController`, `@GetMapping`, `@PostMapping` | bộ điều khiển lò xo |
| Dịch vụ | `@Service`, `class *Service` | dịch vụ mùa xuân |
| Kho lưu trữ | `@Repository`, `JpaRepository`, `CrudRepository` | kho lưu trữ mùa xuân |
| Thực thể | `@Entity`, `@Table`, `@Id` | thực thể jpa |
| DTO | `class *DTO`, `class *Request`, `class *Response` | mẫu dto |
| Cấu hình | `@Configuration`, `@Bean` | cấu hình mùa xuân |
| Thành phần | `@Component`, `@Autowired` | thành phần mùa xuân |
| An ninh | `@EnableWebSecurity`, `SecurityFilterChain` | an ninh mùa xuân |
| Xác thực | `@Valid`, `@NotNull`, `@Size` | mẫu xác thực |
| Xử lý ngoại lệ | `@ControllerAdvice`, `@ExceptionHandler` | xử lý ngoại lệ |
| Lập lịch | `@Scheduled`, `@EnableScheduling` | nhiệm vụ theo lịch trình |
| Sự kiện | `ApplicationEvent`, `@EventListener` | người nghe sự kiện |
| Di chuyển đường bay | `V*__*.sql`, `flyway` | di chuyển đường bay |
| Chất lỏng | `changelog*.xml`, `liquibase` | di chuyển hóa lỏng |
| Kiểm tra đơn vị | `@Test`, `@SpringBootTest`, `MockMvc` | kiểm tra mùa xuân |
| Kiểm tra tích hợp | `@DataJpaTest`, `@WebMvcTest` | kiểm tra tích hợp |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Bộ điều khiển**: Điểm cuối REST
- **Dịch vụ**: logic nghiệp vụ
- **Kho lưu trữ**: truy cập dữ liệu (JPA, JDBC)
- **Thực thể/DTO**: mô hình dữ liệu
- **Cấu hình**: Đậu xuân, profile
- **Bảo mật**: cấu hình xác thực
## Nguồn lệnh
- `pom.xml` plugin, `build.gradle` nhiệm vụ
- README/tài liệu, TẠI ĐÂY
- Phổ biến: `./mvnw`, `./gradlew`, `mvn test`, `gradle test`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/main/java/`, `src/main/kotlin/`
- `src/main/resources/`
- `src/test/`
- `db/migration/` (Đường bay)
TẬP TIN: tài liệu tham khảo/node.md
# Node.js
## Tín hiệu phát hiện
- `package.json` (không có phản ứng/phản ứng gốc)
- `tsconfig.json`
- `node_modules/`
- `*.js`, `*.ts`, `*.mjs`, `*.cjs` tệp nhập
## Tín hiệu đa mô-đun
- `pnpm-workspace.yaml`, `lerna.json`
- `nx.json`, `turbo.json`
- Nhiều `package.json` trong thư mục con
- thư mục `packages/`, `apps/`
## Nguồn tiền thế hệ
- `package.json` (phụ thuộc, tập lệnh)
- `tsconfig.json` (đường dẫn, tùy chọn trình biên dịch)
- `.env.example` (env vars)
- `docker-compose.yml` (dịch vụ)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `lib/`, `app/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`controllers/`, `services/`, `models/`, `routes/`, `middleware/`, `utils/`, `config/`, `types/`, `repositories/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Tuyến tốc hành | `app.get(`, `app.post(`, `Router()` | tuyến đường cao tốc |
| Phần mềm trung gian nhanh | `(req, res, next)`, `app.use(` | phần mềm trung gian nhanh |
| Bộ điều khiển NestJS | `@Controller`, `@Get`, `@Post` | bộ điều khiển Nestjs |
| Dịch vụ NestJS | `@Injectable`, `@Service` | dịch vụ Nestjs |
| Mô-đun NestJS | `@Module`, `imports:`, `providers:` | mô-đun Nestjs |
| Tuyến đường nhanh chóng | `fastify.get(`, `fastify.post(` | tuyến đường nhanh chóng |
| Trình giải quyết GraphQL | `@Resolver`, `@Query`, `@Mutation` | trình phân giải đồ thị |
| Thực thể TypeORM | `@Entity`, `@Column`, `@PrimaryGeneratedColumn` | thực thể kiểu |
| Mô hình Prisma | `prisma.*.create`, `prisma.*.findMany` | sử dụng lăng kính |
| Mẫu Cầy Mangut | `mongoose.Schema`, `mongoose.model(` | mongoose-model |
| Mô hình phần tiếp theo | `Model.init`, `DataTypes` | mô hình tiếp theo |
| Công nhân xếp hàng | `Bull`, `BullMQ`, `process(` | nhân viên xếp hàng |
| Công việc định kỳ | `@Cron`, `node-cron`, `cron.schedule` | công việc định kỳ |
| WebSockets | `ws`, `socket.io`, `io.on(` | xử lý websocket |
| Kiểm tra đơn vị | `describe(`, `it(`, `expect(`, `jest` | thử nghiệm đùa |
| Kiểm tra E2E | `supertest`, `request(app)` | e2e-kiểm tra |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Tuyến đường/bộ điều khiển**: Điểm cuối API
- **Lớp dịch vụ**: logic nghiệp vụ
- **Cơ sở dữ liệu**: Cách sử dụng ORM/ODM (TypeORM, Prisma, Mongoose)
- **Middleware**: xác thực, xác thực, xử lý lỗi
- **Công việc nền**: hàng đợi, công việc định kỳ
- **Trình xử lý WebSocket**: tính năng thời gian thực
## Nguồn lệnh
- `package.json` phần tập lệnh
- README/tài liệu
- Quy trình công việc CI
- Phổ biến: `npm run dev`, `npm run build`, `npm test`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/`, `lib/`
- `src/routes/`, `src/controllers/`
- `src/services/`, `src/models/`
- `prisma/`, `migrations/`
TẬP TIN: tài liệu tham khảo/php.md
#PHP
## Tín hiệu phát hiện
- `composer.json`, `composer.lock`
- `public/index.php`
- `artisan` (Laravel)
- `spark` (CodeIgniter 4)
- `bin/console` (Symfony)
- `app/Config/App.php` (CodeIgniter 4)
- `ext-phalcon` trong Composer.json (Phalcon)
- `phalcon/devtools` (Phalcon)
## Tín hiệu đa mô-đun
- thư mục `packages/`
- Mô-đun Laravel (`app/Modules/`)
- Mô-đun CodeIgniter (`app/Modules/`, `modules/`)
- Phalcon đa ứng dụng (`apps/*/`)
- Nhiều `composer.json` trong thư mục con
## Nguồn tiền thế hệ
- `composer.json` (phụ thuộc)
- `.env.example` (env vars)
- `config/*.php` (Laravel/Symfony)
- `routes/*.php` (Laravel)
- `app/Config/*` (CodeIgniter 4)
- `apps/*/config/` (Phalcon)
## Các mẫu quét Codebase
### Nguồn gốc
- `app/`, `src/`, `apps/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`Controllers/`, `Services/`, `Repositories/`, `Models/`, `Entities/`, `Http/`, `Providers/`, `Console/`
### Cấu trúc dành riêng cho khung
**Laravel** (ghi lại nếu có):
- `app/Http/Controllers`, `app/Models`, `database/migrations`
- `routes/*.php`, `resources/views`
**Symfony** (ghi lại nếu có):
- `src/Controller`, `src/Entity`, `config/packages`, `templates`
**CodeIgniter 4** (ghi lại nếu có):
- `app/Controllers`, `app/Models`, `app/Views`
- `app/Config/Routes.php`, `app/Database/Migrations`
**Phalcon** (ghi nếu có):
- `apps/*/controllers/`, `apps/*/Module.php`
- `models/`, `views/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Bộ điều khiển Laravel | `extends Controller`, `public function index` | bộ điều khiển laravel |
| Mô hình Laravel | `extends Model`, `protected $fillable` | mô hình laravel |
| Di chuyển Laravel | `extends Migration`, `Schema::create` | di chuyển laravel |
| Dịch vụ Laravel | `class *Service`, `app/Services/` | dịch vụ laravel |
| Kho lưu trữ Laravel | `*Repository`, `interface *Repository` | kho lưu trữ laravel |
| Việc Làm Laravel | `implements ShouldQueue`, `dispatch(` | công việc laravel |
| Sự kiện Laravel | `extends Event`, `event(` | sự kiện laravel |
| Bộ điều khiển Symfony | `#[Route]`, `AbstractController` | bộ điều khiển symfony |
| Dịch vụ Symfony | `#[AsService]`, `services.yaml` | dịch vụ symfony |
| Thực thể học thuyết | `#[ORM\Entity]`, `#[ORM\Column]` | học thuyết-thực thể |
| Di chuyển học thuyết | `AbstractMigration`, `$this->addSql` | học thuyết-di cư |
| Bộ điều khiển CI4 | `extends BaseController`, `app/Controllers/` | bộ điều khiển ci4 |
| Mô hình CI4 | `extends Model`, `protected $table` | mô hình ci4 |
| Di chuyển CI4 | `extends Migration`, `$this->forge->` | di cư ci4 |
| Thực thể CI4 | `extends Entity`, `app/Entities/` | thực thể ci4 |
| Bộ điều khiển Phalcon | `extends Controller`, `Phalcon\Mvc\Controller` | bộ điều khiển phalcon |
| Mô hình Phalcon | `extends Model`, `Phalcon\Mvc\Model` | mô hình phalcon |
| Di chuyển Phalcon | `Phalcon\Migrations`, `morphTable` | di chuyển phalcon |
| Tài nguyên API | `extends JsonResource`, `toArray` | tài nguyên api |
| Yêu cầu mẫu | `extends FormRequest`, `rules()` | mẫu yêu cầu |
| Phần mềm trung gian | `implements Middleware`, `handle(` | phần mềm trung gian php |
| Kiểm tra đơn vị | `extends TestCase`, `test*()`, `PHPUnit` | kiểm tra phpunit |
| Kiểm tra tính năng | `extends TestCase`, `$this->get(`, `$this->post(` | kiểm tra tính năng |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Bộ điều khiển**: Điểm cuối HTTP
- **Mô hình/Thực thể**: lớp dữ liệu
- **Dịch vụ**: logic nghiệp vụ
- **Kho lưu trữ**: truy cập dữ liệu
- **Di chuyển**: thay đổi cơ sở dữ liệu
- **Công việc/Sự kiện**: xử lý không đồng bộ
- **Mô-đun kinh doanh**: các mô-đun hàng đầu theo quy mô
## Nguồn lệnh
- `composer.json` tập lệnh
- `php artisan` (Laravel)
- `php spark` (CodeIgniter 4)
- `bin/console` (Symfony)
- Lệnh `phalcon` công cụ phát triển
- README/tài liệu, TẠI ĐÂY
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
**Laravel:**
- `app/`, `routes/`, `database/migrations/`
- `resources/views/`, `tests/`
**Symfony:**
- `src/`, `config/`, `templates/`
- `migrations/`, `tests/`
**CodeIgniter 4:**
- `app/Controllers/`, `app/Models/`, `app/Views/`
- `app/Database/Migrations/`, `tests/`
**Phalcon:**
- `apps/*/controllers/`, `apps/*/models/`
- `apps/*/views/`, `migrations/`
TẬP TIN: tài liệu tham khảo/python.md
# Python
## Tín hiệu phát hiện
- `pyproject.toml`
- `requirements.txt`, `requirements-dev.txt`
- `Pipfile`, `poetry.lock`
- `setup.py`, `setup.cfg`
- `manage.py` (Django)
## Tín hiệu đa mô-đun
- Nhiều `pyproject.toml` trong thư mục con
- thư mục `packages/`, `apps/`
- Kiểu Django `apps/` với `apps.py`
## Nguồn tiền thế hệ
- `pyproject.toml` hoặc `setup.py`
- `requirements*.txt`, `Pipfile`
- `tox.ini`, `pytest.ini`
- `manage.py`, `settings.py` (Django)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `app/`, `packages/`, `tests/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`api/`, `routers/`, `views/`, `services/`, `repositories/`, `models/`, `schemas/`, `utils/`, `config/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Bộ định tuyến FastAPI | `APIRouter`, `@router.get`, `@router.post` | bộ định tuyến fastapi |
| Phụ thuộc FastAPI | `Depends(`, `def get_*():` | phụ thuộc fastapi |
| Chế độ xem Django | `View`, `APIView`, `def get(self, request)` | django-view |
| Mô hình Django | `models.Model`, `class Meta:` | mô hình django |
| Bộ nối tiếp Django | `serializers.Serializer`, `ModelSerializer` | trình tuần tự hóa drf |
| Tuyến đường bình | `@app.route`, `Blueprint` | bình-tuyến đường |
| Mô hình Pydantic | `BaseModel`, `Field(`, `model_validator` | mô hình pydantic |
| Mô hình SQLAlchemy | `Base`, `Column(`, `relationship(` | mô hình sqlalchemy |
| Di chuyển Alembic | `alembic/versions/`, `op.create_table` | alembic-di cư |
| Kho lưu trữ | `*Repository`, `class *Repository` | kho dữ liệu |
| Dịch vụ | `*Service`, `class *Service` | lớp dịch vụ |
| Nhiệm vụ cần tây | `@celery.task`, `@shared_task` | nhiệm vụ cần tây |
| Lệnh CLI | `@click.command`, `typer.Typer` | lệnh cli |
| Kiểm tra đơn vị | `pytest`, `def test_*():`, `unittest` | thử nghiệm pytest |
| Lịch thi đấu | `@pytest.fixture`, `conftest.py` | đồ đạc pytest |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Bộ định tuyến/lượt xem**: Điểm cuối API
- **Mô hình/lược đồ**: mô hình dữ liệu (Pydantic, SQLAlchemy, Django)
- **Dịch vụ**: lớp logic nghiệp vụ
- **Kho lưu trữ**: lớp truy cập dữ liệu
- **Di chuyển**: Di chuyển Alembic, Django
- **Nhiệm vụ**: Cần tây, các công việc nền
## Nguồn lệnh
- `pyproject.toml` phần công cụ
- README/tài liệu, TẠI ĐÂY
- Phổ biến: `python manage.py`, `pytest`, `uvicorn`, `flask run`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/`, `app/`
- `tests/`
- `alembic/`, `migrations/`
- `templates/`, `static/` (nếu web)
TẬP TIN: tài liệu tham khảo/react-native.md
# Phản ứng gốc
## Tín hiệu phát hiện
- `package.json` với `react-native`
- `metro.config.js`
- `app.json` hoặc `app.config.js` (Expo)
- thư mục `android/`, `ios/`
- `babel.config.js` với cài đặt trước metro
## Tín hiệu đa mô-đun
- Monorepo với `packages/`
- Nhiều tệp `app.json`
- Không gian làm việc Nx với React Native
## Nguồn tiền thế hệ
- `package.json` (phụ thuộc, tập lệnh)
- `app.json` hoặc `app.config.js`
- `metro.config.js`
- `babel.config.js`
- `tsconfig.json`
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `app/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`screens/`, `components/`, `navigation/`, `services/`, `hooks/`, `store/`, `api/`, `utils/`, `assets/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Màn hình | `*Screen`, `export function *Screen` | màn hình rn |
| Thành phần | `export function *()`, `StyleSheet.create` | rn-thành phần |
| Điều hướng | `createNativeStackNavigator`, `NavigationContainer` | rn-navigation |
| Móc | `use*`, `export function use*()` | rn-hook |
| Chuyển đổi | `createSlice`, `configureStore` | lát cắt lại |
| Tình trạng | `create(`, `useStore` | cửa hàng nhà nước |
| Truy vấn phản ứng | `useQuery`, `useMutation` | truy vấn phản ứng |
| Mô-đun gốc | `NativeModules`, `TurboModule` | mô-đun gốc |
| Lưu trữ không đồng bộ | `AsyncStorage`, `@react-native-async-storage` | lưu trữ không đồng bộ |
| SQLite | `expo-sqlite`, `react-native-sqlite-storage` | lưu trữ sqlite |
| Thông báo đẩy | `@react-native-firebase/messaging`, `expo-notifications` | thông báo đẩy |
| Liên kết sâu | `Linking`, `useURL`, `expo-linking` | liên kết sâu |
| Hoạt hình | `Animated`, `react-native-reanimated` | rn-hoạt hình |
| Cử chỉ | `react-native-gesture-handler`, `Gesture` | rn-cử chỉ |
| Kiểm tra | `@testing-library/react-native`, `render` | kiểm tra rntl |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Sàng lọc khoảng không quảng cáo**: thư mục dưới `screens/`
- **Cấu trúc điều hướng**: điều hướng ngăn xếp, tab, ngăn kéo
- **Quản lý trạng thái**: Redux, trạng thái, bối cảnh
- **Mô-đun gốc**: mã gốc tùy chỉnh
- **Lớp lưu trữ**: AsyncStorage, SQLite, MMKV
- **Dành riêng cho nền tảng**: `*.android.tsx`, `*.ios.tsx`
## Nguồn lệnh
- `package.json` tập lệnh
- README/tài liệu
- Phổ biến: `npm run android`, `npm run ios`, `npx expo start`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/screens/`, `src/components/`
- `src/navigation/`, `src/store/`
- `android/app/`, `ios/*/`
- `assets/`
TẬP TIN: tài liệu tham khảo/Reac-web.md
# Phản ứng (Web)
## Tín hiệu phát hiện
- `package.json` với `react`, `react-dom`
- `vite.config.ts`, `next.config.js`, `craco.config.js`
- `tsconfig.json` hoặc `jsconfig.json`
- `src/App.tsx` hoặc `src/App.jsx`
- `public/index.html` (CRA)
## Tín hiệu đa mô-đun
- `pnpm-workspace.yaml`, `lerna.json`
- Nhiều `package.json` trong thư mục con
- thư mục `packages/`, `apps/`
- Không gian làm việc Nx (`nx.json`)
## Nguồn tiền thế hệ
- `package.json` (phụ thuộc, tập lệnh)
- `tsconfig.json` (đường dẫn, tùy chọn trình biên dịch)
- `vite.config.*`, `next.config.*`, `webpack.config.*`
- `.env.example` (env vars)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `app/`, `pages/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`components/`, `hooks/`, `services/`, `utils/`, `store/`, `api/`, `types/`, `contexts/`, `features/` `layouts/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Thành phần | `export function *()`, `export const * =` với JSX | thành phần phản ứng |
| Móc | `use*`, `export function use*()` | móc tùy chỉnh |
| Bối cảnh | `createContext`, `useContext`, `*Provider` | bối cảnh phản ứng |
| Chuyển đổi | `createSlice`, `configureStore`, `useSelector` | lát cắt lại |
| Tình trạng | `create(`, `useStore` | cửa hàng nhà nước |
| Truy vấn phản ứng | `useQuery`, `useMutation`, `QueryClient` | truy vấn phản ứng |
| Mẫu | `useForm`, `react-hook-form`, `Formik` | hình thức hành động |
| Bộ định tuyến | `createBrowserRouter`, `Route`, `useNavigate` | bộ định tuyến phản ứng |
| API ứng dụng khách | `axios`, `fetch`, `ky` | api-khách hàng |
| Kiểm tra | `@testing-library/react`, `render`, `screen` | kiểm tra rtl |
| Truyện | `*.stories.tsx`, `Meta`, `StoryObj` | sách truyện |
| Theo kiểu | `styled-components`, `@emotion`, `styled(` | thành phần theo kiểu |
| Gió giật | `className="*"`, `tailwind.config.js` | sử dụng gió đuôi |
| i18n | `useTranslation`, `i18next`, `t()` | i18n-sử dụng |
| Xác thực | `useAuth`, `AuthProvider`, `PrivateRoute` | mẫu xác thực |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Kho thành phần**: thư mục dưới `components/`
- **Tính năng/trang**: thư mục dưới `features/`, `pages/`
- **Quản lý trạng thái**: Redux, trạng thái, bối cảnh
- **Thiết lập định tuyến**: React Router, các trang Next.js
- **Lớp API**: phiên bản axios, trình bao bọc tìm nạp
- **Phương pháp tạo kiểu**: mô-đun CSS, Tailwind, các thành phần theo kiểu
- **Xử lý biểu mẫu**: Reac-hook-form, Formik
## Nguồn lệnh
- `package.json` phần tập lệnh
- README/tài liệu
- Quy trình công việc CI
- Phổ biến: `npm run dev`, `npm run build`, `npm test`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/components/`, `src/hooks/`
- `src/pages/`, `src/features/`
- `src/store/`, `src/api/`
- `public/`, `dist/`, `build/`
TẬP TIN: tài liệu tham khảo/ruby.md
# Ruby/Rails
## Tín hiệu phát hiện
- `Gemfile`
- `Gemfile.lock`
- `config.ru`
- `Rakefile`
- `config/application.rb` (Đường ray)
## Tín hiệu đa mô-đun
- Nhiều `Gemfile` trong thư mục con
- Thư mục `engines/` (Công cụ Rails)
- Thư mục `gems/` (monorepo)
## Nguồn tiền thế hệ
- `Gemfile` (phụ thuộc)
- `config/database.yml`
- `config/routes.rb` (Đường ray)
- `.env.example`
## Các mẫu quét Codebase
### Nguồn gốc
- `app/`, `lib/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`controllers/`, `models/`, `services/`, `jobs/`, `mailers/`, `channels/`, `helpers/`, `concerns/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Bộ điều khiển Rails | `< ApplicationController`, `def index` | bộ điều khiển đường ray |
| Mô hình đường ray | `< ApplicationRecord`, `has_many`, `belongs_to` | mô hình đường ray |
| Di chuyển đường ray | `< ActiveRecord::Migration`, `create_table` | di chuyển đường ray |
| Đối tượng dịch vụ | `class *Service`, `def call` | đối tượng dịch vụ |
| Công việc Rails | `< ApplicationJob`, `perform_later` | công việc đường ray |
| Email | `< ApplicationMailer`, `mail(` | Rails-mailer |
| Kênh | `< ApplicationCable::Channel` | cáp hành động |
| Bộ nối tiếp | `< ActiveModel::Serializer`, `attributes` | bộ nối tiếp |
| Mối quan tâm | `extend ActiveSupport::Concern` | mối quan tâm về đường ray |
| Công nhân Sidekiq | `include Sidekiq::Worker`, `perform_async` | sidekiq-worker |
| API nho `Grape::API`, `resource :` | nho-api |
| Kiểm tra RSpec | `RSpec.describe`, `it "` | kiểm tra rspec |
| Nhà máy | `FactoryBot.define`, `factory :` | nhà máy-bot |
| Nhiệm vụ cào | `task :`, `namespace :` | nhiệm vụ cào |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Bộ điều khiển**: Điểm cuối HTTP
- **Mô hình**: Liên kết ActiveRecord
- **Dịch vụ**: logic nghiệp vụ
- **Công việc**: xử lý nền
- **Di chuyển**: lược đồ cơ sở dữ liệu
## Nguồn lệnh
- `Gemfile` tập lệnh
- `Rakefile` nhiệm vụ
- `bin/rails`, `bin/rake`
- README/tài liệu, TẠI ĐÂY
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `app/controllers/`, `app/models/`
- `app/services/`, `app/jobs/`
- `db/migrate/`
- `spec/`, `test/`
- `lib/`
TẬP TIN: tài liệu tham khảo/rust.md
# rỉ sét
## Tín hiệu phát hiện
- `Cargo.toml`
- `Cargo.lock`
- `src/main.rs` hoặc `src/lib.rs`
- thư mục `target/`
## Tín hiệu đa mô-đun
- `[workspace]` trong `Cargo.toml`
- Nhiều `Cargo.toml` trong thư mục con
- thư mục `crates/`, `packages/`
## Nguồn tiền thế hệ
- `Cargo.toml` (phụ thuộc, tính năng)
- `build.rs` (tập lệnh xây dựng)
- `rust-toolchain.toml` (chuỗi công cụ)
## Các mẫu quét Codebase
### Nguồn gốc
- `src/`, `crates/*/src/`
### Mẫu lớp/thư mục (ghi lại nếu có)
`handlers/`, `services/`, `models/`, `db/`, `api/`, `utils/`, `error/`, `config/`
### Chỉ báo mẫu
| Mẫu | Tiêu chí phát hiện | Tên kỹ năng |
|----------|-------------------|-------------|
| Trình xử lý Axum | `axum::`, `Router`, `async fn handler` | thương gia axum |
| Tuyến đường Actix | `actix_web::`, `#[get]`, `#[post]` | tuyến Actix |
| Tuyến tên lửa | `rocket::`, `#[get]`, `#[post]` | tuyến đường tên lửa |
| Dịch vụ | `impl *Service`, `pub struct *Service` | dịch vụ rỉ sét |
| Kho lưu trữ | `*Repository`, `trait *Repository` | kho lưu trữ rỉ sét |
| Mô hình động cơ diesel | `diesel::`, `Queryable`, `Insertable` | mô hình động cơ diesel |
| SQLx | `sqlx::`, `FromRow`, `query_as!` | mô hình sqlx |
| SeaORM | `sea_orm::`, `Entity`, `ActiveModel` | thực thể seaorm |
| Loại Lỗi | `thiserror`, `anyhow`, `#[derive(Error)]` | loại lỗi |
| CLI | `clap`, `#[derive(Parser)]` | ứng dụng cli |
| Nhiệm vụ không đồng bộ | `tokio::spawn`, `async fn` | tác vụ không đồng bộ |
| Đặc điểm | `pub trait *`, `impl * for` | đặc điểm rỉ sét |
| Kiểm tra đơn vị | `#[cfg(test)]`, `#[test]` | kiểm tra rỉ sét |
| Kiểm tra tích hợp | `tests/`, `#[tokio::test]` | kiểm tra tích hợp |
## Phần đầu ra bắt buộc
Bao gồm nếu được phát hiện:
- **Trình xử lý/tuyến đường**: Điểm cuối API
- **Dịch vụ**: logic nghiệp vụ
- **Mô hình/thực thể**: cấu trúc dữ liệu
- **Loại lỗi**: lỗi tùy chỉnh
- **Di chuyển**: di chuyển diesel/sqlx
## Nguồn lệnh
- `Cargo.toml` tập lệnh/bí danh
- `Makefile`, README/tài liệu
- Phổ biến: `cargo build`, `cargo test`, `cargo run`
- Chỉ bao gồm các lệnh có trong repo
## Đường dẫn chính
- `src/`, `crates/`
- `tests/`
- `migrations/`
- `examples/`