Chuyển đến nội dung chính
Hướng dẫn AI

Làm chủ Claude Code với Quy tắc dự án, Agent, Hook, MCP và CI

Học cách cài đặt Claude Code, áp dụng bộ khởi đầu của kho mã, quản lý ngữ cảnh dự án, xây dựng quy trình đáng tin cậy, cấu hình quyền, sử dụng skill, subagent, hook, MCP, chế độ không giao diện và worktree song song.

Làm chủ Claude Code với Quy tắc dự án, Agent, Hook, MCP và CI

Khóa học Claude Code PRO cung cấp gì

Claude Code PRO là khóa học thực hành và bộ cấu hình bằng tiếng Nga dành cho Claude Code. Khóa học đi từ cài đặt và viết prompt đến cấu hình toàn đội, tự động hóa có thể tái sử dụng, tích hợp bên ngoài và quy trình CI.

Kho lưu trữ gồm 12 mô-đun học tập, 8 bài thực hành, thư viện prompt, một ví dụ về plugin, các quy trình GitHub Actions, một tờ hướng dẫn nhanh, mục câu hỏi thường gặp và bộ khởi đầu sẵn sàng cài đặt. Bộ khởi đầu bao gồm tám skill, năm subagent, bốn hook, các quy tắc, một dòng trạng thái và một kiểu đầu ra.

Hướng dẫn này tóm lược quy trình chính của kho lưu trữ để bạn có thể bắt đầu sử dụng cấu hình của khóa học trong một dự án hiện có. Khóa học gốc được viết bằng tiếng Nga, còn các bước dưới đây được giải thích bằng tiếng Anh.

Tìm hiểu cách Claude Code hoạt động

Claude Code là một tác nhân, không phải công cụ tự động hoàn thành thông thường. Khi được giao một mục tiêu, công cụ có thể kiểm tra tệp, tìm kiếm kho lưu trữ, chỉnh sửa mã, chạy lệnh và kiểm tra kết quả. Quy trình điển hình gồm:

  1. Thu thập ngữ cảnh từ hướng dẫn dự án, tệp, kết quả tìm kiếm và đầu ra của lệnh.
  2. Lập kế hoạch cho các thay đổi cần thiết.
  3. Chỉnh sửa tệp hoặc gọi công cụ.
  4. Chạy các bài kiểm thử, linter, bản build hoặc các bước kiểm tra khác.
  5. Lặp lại cho đến khi các bước kiểm tra đạt yêu cầu hoặc cần thêm thông tin.

Trách nhiệm quan trọng nhất của bạn là cung cấp mục tiêu rõ ràng, hướng Claude đến ngữ cảnh liên quan, nêu các ràng buộc và xác định cách kiểm chứng thành công.

Công thức prompt hữu ích là: mục tiêu + nơi cần tìm + ràng buộc + phương pháp kiểm chứng.

Cài đặt Claude Code và bộ khởi đầu

Bước 1: Cài đặt Claude Code

Trên macOS, Linux hoặc Windows Subsystem for Linux, hãy sử dụng tập lệnh cài đặt chính thức:

curl -fsSL https://claude.ai/install.sh | bash

README cũng cung cấp tùy chọn cài đặt qua npm:

npm install -g @anthropic-ai/claude-code

Bước 2: Sao chép kho lưu trữ khóa học

git clone https://github.com/justxor/claude-code-pro-course.git

Bước 3: Cài đặt bộ khởi đầu vào dự án

Chạy trình cài đặt đi kèm và truyền vào đường dẫn đến dự án đích:

bash claude-code-pro-course/install.sh ~/path/to/my-project

Thao tác này cung cấp cấu hình Claude Code có thể tái sử dụng của kho lưu trữ cho dự án của bạn. Vì bộ công cụ cài đặt nhiều thành phần cấu hình, hãy kiểm tra các thay đổi tạo ra trước khi commit vào hệ thống quản lý phiên bản.

Bước 4: Khởi động Claude Code

cd ~/path/to/my-project
claude

Trong phiên làm việc, hãy kiểm tra ngữ cảnh hiện tại và chạy skill hướng dẫn bắt đầu của bộ khởi đầu:

/context
/onboard

/context hiển thị những thành phần đang sử dụng cửa sổ ngữ cảnh. /onboard cung cấp tổng quan về dự án bằng skill đã cài đặt.

Tổ chức cấu hình Claude Code

Khóa học phân tách cấu hình theo phạm vi người dùng, dự án và cục bộ.

  • Cấu hình người dùng: các tệp trong ~/.claude/, bao gồm hướng dẫn cá nhân, cài đặt, skill, agent và kiểu đầu ra.
  • Cấu hình dự án: các tệp dùng chung như CLAUDE.md, .claude/rules/, .claude/settings.json, skill của dự án, agent của dự án và .mcp.json.
  • Cấu hình cục bộ: các tệp dành riêng cho máy như CLAUDE.local.md và .claude/settings.local.json, không nên chia sẻ dưới dạng cấu hình của đội.
  • Plugin: các bộ sưu tập skill, agent, hook và cấu hình MCP được đóng gói để phân phối cho nhiều kho lưu trữ.

Chọn đúng cơ chế cấu hình

  • Sử dụng CLAUDE.md hoặc .claude/rules/ cho kiến thức dự án và quy tắc viết mã.
  • Sử dụng cài đặt quyền để cho phép các lệnh an toàn, yêu cầu xác nhận cho hành động nhạy cảm và từ chối quyền truy cập nguy hiểm.
  • Sử dụng skill cho một quy trình hoặc prompt có thể tái sử dụng.
  • Sử dụng subagent khi một tác vụ cần chuyên môn riêng hoặc một cửa sổ ngữ cảnh độc lập.
  • Sử dụng hook khi một hành động phải luôn được thực hiện nhất quán.
  • Sử dụng MCP để kết nối với hệ thống bên ngoài như GitHub, trình duyệt hoặc cơ sở dữ liệu.
  • Sử dụng plugin để phân phối một cấu hình hoàn chỉnh đến các kho lưu trữ khác hoặc thành viên trong đội.
  • Sử dụng claude -p, GitHub Actions hoặc Agent SDK để thực thi không cần giám sát.

Tạo tệp CLAUDE.md hữu ích

CLAUDE.md đóng vai trò như bộ nhớ của dự án. Claude Code có thể tạo phiên bản ban đầu bằng /init, và bạn có thể chỉnh sửa bộ nhớ thông qua /memory. Hãy giữ tệp này ngắn gọn và cụ thể: đưa vào các lệnh, ranh giới kiến trúc, quy ước viết mã và những hạn chế rõ ràng.

Dưới đây là một ví dụ được điều chỉnh từ khóa học:

# Dự án: Cửa hàng Next.js và PostgreSQL

## Lệnh
- npm run dev — khởi động môi trường phát triển
- npm test — chạy các bài kiểm thử Vitest
- npm run lint — chạy linter
- npm run db:migrate — yêu cầu xác nhận

## Kiến trúc
- src/app — các route
- src/lib — logic nghiệp vụ
- src/db — truy cập cơ sở dữ liệu
- Các thao tác cơ sở dữ liệu phải đi qua src/db

## Quy tắc
- Sử dụng TypeScript strict và tránh any
- Thêm bài kiểm thử cho mã mới
- Tái hiện lỗi bằng một bài kiểm thử thất bại trước khi sửa
- Không sửa đổi src/legacy nếu không được yêu cầu rõ ràng
- Trước khi hoàn tất, chạy npm test và npm run lint

Tránh biến CLAUDE.md thành một sổ tay dài. Đưa các hướng dẫn chi tiết hoặc có điều kiện vào .claude/rules/ hoặc các skill có thể tái sử dụng để những chỉ dẫn thiết yếu không bị vùi lấp.

Sử dụng Quy trình Phát triển Cốt lõi

Kho lưu trữ khuyến nghị trình tự Khám phá → Lập kế hoạch → Lập trình → Xác minh → Commit. Với mọi tác vụ ảnh hưởng đến phạm vi lớn hơn mức tầm thường, hãy bắt đầu ở chế độ Plan thay vì yêu cầu Claude chỉnh sửa ngay.

  1. Nhấn Shift+Tab cho đến khi chế độ Plan được kích hoạt.
  2. Yêu cầu Claude kiểm tra phần mã liên quan mà không thực hiện thay đổi.
  3. Xem xét các tệp, bước triển khai, rủi ro và hoạt động kiểm tra mà Claude đề xuất.
  4. Điều chỉnh kế hoạch nếu cần.
  5. Chỉ cho phép triển khai sau khi kế hoạch đã phù hợp.
  6. Yêu cầu chạy kiểm thử, lint, kiểm tra kiểu hoặc chụp ảnh màn hình.
  7. Kiểm tra diff trước khi yêu cầu tạo commit hoặc pull request.

Một prompt khám phá tốt là:

Plan mode. Study the repository and explain its architecture,
entry points, the data flow for /api/orders, where the tests are,
and how to run them. Do not change anything. Finish with five
places where a new contributor is likely to make a mistake.

Viết Prompt Có thể Xác minh

Thay vì nói “sửa lỗi”, hãy mô tả lỗi xảy ra và cách xác minh mong đợi:

When email is empty, signup() fails with a TypeError.
Reproduce the issue with a failing test, fix it with the smallest
reasonable change, and run npm test.

Đối với việc phát triển tính năng theo hướng kiểm thử:

Feature: apply a 10% discount to orders of 5000 or more.
First write tests for 4999, 5000, 0, and negative values.
Confirm that the new tests fail, then implement the feature
without changing those tests.

Đối với một lần tái cấu trúc an toàn:

Split @src/services/user.ts into modules by responsibility.
Do not change behavior or the public API. Run tests and tsc after
each step. If coverage is insufficient, add characterization tests first.

Quản lý Ngữ cảnh Có Chủ đích

Cửa sổ ngữ cảnh chứa các chỉ dẫn hệ thống, quy tắc dự án, mô tả skill và agent, lịch sử hội thoại, tệp và đầu ra lệnh. Khi các nội dung không liên quan tích tụ, phản hồi có thể trở nên kém chính xác hơn.

  • Dùng /context để kiểm tra mức sử dụng ngữ cảnh.
  • Dùng /clear trước khi bắt đầu một tác vụ không liên quan.
  • Dùng /compact để tóm tắt một phiên dài trong khi vẫn giữ lại các quyết định quan trọng.
  • Thêm trực tiếp một tệp bằng cú pháp như @src/api/client.ts.
  • Chạy một lệnh và đưa đầu ra của lệnh vào ngữ cảnh bằng cú pháp như !git status.
  • Với công việc kéo dài, yêu cầu Claude duy trì PLAN.md hoặc NOTES.md.
  • Giao các cuộc điều tra lớn cho subagent để chỉ phần tóm tắt của subagent được trả về phiên chính.

Bạn cũng có thể chuyển log vào một lần gọi Claude Code riêng lẻ:

cat error.log | claude

Cấu hình Quyền An toàn

Các quy tắc quyền được đánh giá theo thứ tự deny → ask → allow. Quyền từ chối được ưu tiên hơn quyền cho phép. Khóa học khuyến nghị lập danh sách cho phép các lệnh an toàn thay vì vô hiệu hóa việc kiểm tra quyền.

Cấu hình nhóm có thể đặt các quy tắc trong .claude/settings.json:

{
  "permissions": {
    "allow": [
      "Bash(npm run test:*)",
      "Bash(npm run lint)",
      "Bash(git status)",
      "Bash(git diff:*)"
    ],
    "ask": [
      "Bash(git push:*)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Bash(rm -rf:*)",
      "Bash(curl:*)"
    ]
  }
}

Ví dụ này cho phép chạy các bài kiểm thử thường lệ và kiểm tra, yêu cầu xác nhận khi push, đồng thời chặn quyền truy cập vào bí mật và một số lệnh nguy hiểm được chọn.

  • Không đặt bí mật trong CLAUDE.md.
  • Yêu cầu xác nhận khi push, triển khai và chạy migration.
  • Chạy các công việc tự động trong container hoặc sandbox không có quyền truy cập production.
  • Coi nội dung do website và hệ thống MCP trả về là dữ liệu, không phải chỉ dẫn đáng tin cậy.
  • Kiểm tra git diff trước khi commit thay đổi.

Biến Công việc Lặp lại thành Skill

Nếu bạn lặp lại một quy trình nhiều lần, hãy chuyển quy trình đó thành một skill. Skill phù hợp với các quy trình như chuẩn bị ghi chú phát hành, review pull request hoặc làm quen với một dự án.

Khóa học lưu các skill của dự án trong .claude/skills/. Một skill có thể bao gồm tên, mô tả giúp Claude quyết định khi nào sử dụng skill và một chuỗi hướng dẫn. Giữ quy trình ở phạm vi hẹp và xác định đầu ra mong đợi.

Ví dụ, một skill về ghi chú phát hành có thể hướng dẫn Claude tìm Git tag mới nhất, thu thập các commit kể từ tag đó và nhóm các thay đổi theo danh mục. Bộ khởi đầu đã cung cấp các skill có thể tái sử dụng, bạn có thể khám phá chúng sau khi cài đặt.

Sử dụng Subagent cho Công việc Cô lập hoặc Chuyên biệt

Subagent nhận cửa sổ ngữ cảnh riêng và trả về kết quả cho phiên chính. Cách này hữu ích cho việc nghiên cứu kho lưu trữ có nhiều thông tin gây nhiễu, chạy kiểm thử, phân tích bảo mật hoặc review độc lập.

Ví dụ reviewer của kho lưu trữ được lưu tại .claude/agents/reviewer.md và cấp cho agent các công cụ đọc, tìm kiếm và shell. Vai trò của agent là kiểm tra git diff để phát hiện lỗi, trường hợp biên, rò rỉ bí mật và các vi phạm phong cách của dự án.

Một quy trình writer-reviewer thực tế là:

  1. Dùng một phiên Claude để triển khai thay đổi.
  2. Mở một phiên sạch hoặc subagent để review diff.
  3. Gửi các phát hiện về phiên triển khai.
  4. Sửa các vấn đề và chạy lại bước xác minh.

Ngữ cảnh sạch giúp reviewer nhận ra những vấn đề có thể bị bỏ sót sau một phiên triển khai dài.

Thực thi các Đảm bảo bằng Hook

Các chỉ dẫn của dự án cung cấp hướng dẫn, trong khi hook có thể tự động chạy hoặc chặn các hành động. Những sự kiện hook hữu ích được khóa học mô tả gồm:

  • SessionStart để tải thông tin về nhánh hoặc tác vụ.
  • UserPromptSubmit để bổ sung ngữ cảnh vào prompt.
  • PreToolUse để chặn các lệnh nguy hiểm hoặc chỉnh sửa tệp được bảo vệ.
  • PostToolUse để định dạng, lint hoặc chạy các bài kiểm thử có mục tiêu.
  • Notification để gửi thông báo trên máy tính khi Claude cần dữ liệu đầu vào.
  • Stop cho bước xác minh cuối cùng.
  • PreCompact để lưu thông tin quan trọng trước khi nén ngữ cảnh.

Ví dụ này chạy Prettier sau khi chỉnh sửa hoặc ghi tệp:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
          }
        ]
      }
    ]
  }
}

Đối với các biện pháp bảo vệ quan trọng, hãy kết hợp permissions.deny với một hook PreToolUse thay vì chỉ dựa vào các chỉ dẫn bằng văn bản.

Kết nối các hệ thống bên ngoài bằng MCP

Sử dụng MCP khi Claude cần các công cụ hoặc dữ liệu bên ngoài kho mã cục bộ. Khóa học đề cập đến các tích hợp với GitHub, trình duyệt, cơ sở dữ liệu và các máy chủ MCP tùy chỉnh.

MCP trình duyệt đặc biệt hữu ích cho công việc trực quan: Claude có thể triển khai giao diện người dùng, chụp ảnh màn hình, so sánh với bản tham chiếu và lặp lại để khắc phục khác biệt. Nội dung bên ngoài có thể chứa văn bản không đáng tin cậy, vì vậy hãy xem xét cẩn thận quyền truy cập MCP và luôn cảnh giác với prompt injection.

Tự động hóa tác vụ bằng chế độ không giao diện

Tùy chọn -p chạy một prompt mà không cần phiên tương tác, phù hợp với tập lệnh và CI. Ví dụ, gửi nhật ký bản dựng thất bại và yêu cầu đầu ra có cấu trúc:

claude -p "Find the cause of the build failure" \
  --output-format json < build.log

Xem xét các thay đổi hiện tại trước khi đẩy lên:

git diff main | claude -p \
  "Review this diff for bugs, edge cases, and security issues"

Giới hạn các công cụ và số lượt cho một tác vụ tự động có phạm vi rõ ràng:

claude -p "Update CHANGELOG from recent commits" \
  --allowedTools "Read,Edit,Bash(git log:*)" \
  --max-turns 10

Kho mã cũng bao gồm các ví dụ GitHub Actions để gọi @claude trong issue và pull request, cũng như để tự động đánh giá.

Chạy nhiều tác vụ bằng Git worktree

Để làm việc song song, hãy tạo một worktree và nhánh riêng cho từng tác vụ. Khi đó, mỗi phiên Claude hoạt động trong một thư mục khác nhau, ngăn các agent đồng thời chỉnh sửa cùng một working tree.

git worktree add ../app-auth -b feature/auth
cd ../app-auth && claude

Bạn có thể lặp lại cách này cho công việc thanh toán, sửa lỗi hoặc các tác vụ độc lập khác. Hãy hợp nhất hoặc xem xét từng nhánh theo quy trình Git thông thường.

Các điều khiển phiên hữu ích

  • Esc ngắt Claude mà không loại bỏ ngữ cảnh của phiên.
  • Esc Esc hoặc /rewind quay lại trạng thái mã và cuộc trò chuyện trước đó.
  • Shift+Tab chuyển đổi giữa các chế độ thông thường, tự động chấp nhận chỉnh sửa và Lập kế hoạch.
  • /model thay đổi model đang hoạt động.
  • /permissions, /hooks, /agents và /mcp mở các quy trình cấu hình liên quan.
  • claude --continue tiếp tục phiên gần nhất.
  • claude --resume cho phép bạn chọn một phiên trước đó.

Mẹo nâng cao và lỗi thường gặp

  • Bắt đầu bằng kế hoạch: sử dụng chế độ Lập kế hoạch cho các thay đổi trải rộng trên nhiều tệp hoặc có rủi ro đáng kể.
  • Luôn cung cấp phản hồi: các bài kiểm thử, kiểm tra kiểu, linter, bản dựng, ảnh chụp màn hình hoặc đầu ra kỳ vọng chính xác giúp agent tự sửa lỗi.
  • Tập trung phiên vào từng tác vụ: xóa ngữ cảnh giữa các công việc không liên quan thay vì duy trì một phiên suốt cả ngày.
  • Quay lại các cách tiếp cận thất bại: sau nhiều lần sửa không thành công, hãy dùng /rewind và nêu lại tác vụ thay vì tích lũy ngữ cảnh không tốt.
  • Không chấp nhận diff một cách mù quáng: tự kiểm tra các thay đổi hoặc yêu cầu một subagent đánh giá độc lập.
  • Tránh cấp quyền không hạn chế: sử dụng danh sách cho phép và sandbox thay vì bỏ qua các kiểm tra an toàn.
  • Tự động hóa các quy trình lặp lại: chuyển phần lặp lại thành một skill và hành vi bắt buộc thành một hook.
  • Lưu tiến độ bên ngoài: duy trì tệp kế hoạch hoặc ghi chú trong các tác vụ dài để công việc có thể tiếp tục sau /clear.

Theo lộ trình học đầy đủ

Các module trong kho mã lần lượt đi qua cài đặt, viết prompt, bộ nhớ dự án, cài đặt, quy trình chuyên nghiệp, skill, subagent, hook, MCP, plugin, CI không giao diện và các kỹ thuật nâng cao. Tám phòng lab bao gồm làm quen, quyền truy cập, TDD, tạo skill, subagent, hook, MCP và tự động hóa.

Bắt đầu với phần cài đặt nhanh và các lệnh ngữ cảnh cơ bản. Tiếp theo, tạo một CLAUDE.md ngắn gọn cùng chính sách quyền an toàn. Sau đó thực hành lập kế hoạch, TDD, skill, subagent và hook trước khi chuyển sang MCP, plugin và thực thi CI không cần giám sát.

Kết luận

Claude Code phát huy hiệu quả nhất khi được sử dụng như một agent phát triển có thể cấu hình thay vì một giao diện trò chuyện. Hãy cung cấp ngữ cảnh tập trung, thống nhất kế hoạch, đưa ra các bước kiểm tra khách quan và thực thi những ranh giới quan trọng bằng quyền hạn cùng hook. Kho mã Claude Code PRO cung cấp khóa học có cấu trúc, các phòng lab thực tiễn và những mẫu có thể tái sử dụng để áp dụng quy trình này từ phát triển cá nhân đến tự động hóa nhóm.