Bỏ qua để đến nội dung

Quy trình thường gặp

Tuyển tập các “công thức” (recipe) cho công việc hằng ngày với Claude Code. Mỗi mục đều dùng được trên mọi nền tảng (terminal, VS Code, web…) — chỉ cần điều chỉnh cách diễn đạt cho phù hợp dự án của bạn.

Khi vào một dự án lạ, hãy để Claude Code đọc hiểu trước khi yêu cầu thay đổi — hỏi rộng trước, thu hẹp dần sau:

> cho tôi cái nhìn tổng quan về codebase này
> giải thích các pattern kiến trúc chính được dùng ở đây
> các data model quan trọng là gì?
> module xử lý auth nằm ở đâu, luồng hoạt động ra sao?

Muốn tìm code liên quan đến một tính năng cụ thể:

> tìm các file xử lý việc xác thực người dùng
> các file auth này liên kết với nhau ra sao?
> truy vết luồng đăng nhập từ front-end xuống database

Dán trực tiếp stack trace hoặc log lỗi, kèm cách tái hiện lỗi nếu có:

> tôi gặp lỗi này khi chạy npm test: [dán log lỗi]
hãy tìm nguyên nhân gốc và sửa
> gợi ý vài cách sửa lỗi @ts-ignore trong user.ts
> áp dụng cách sửa null check bạn vừa đề xuất vào user.ts

Claude Code sẽ truy vết lỗi qua codebase, xác định nguyên nhân và đề xuất/áp dụng bản sửa. Nói rõ lỗi là liên tục hay ngẫu nhiên (intermittent) giúp Claude khoanh vùng nhanh hơn.

Yêu cầu refactor theo từng bước nhỏ, có thể xem lại diff, giữ nguyên hành vi:

> tìm các API đã deprecated đang được dùng trong codebase
> gợi ý cách refactor utils.js sang cú pháp JavaScript hiện đại
> refactor utils.js dùng ES2024, giữ nguyên hành vi
> chạy test cho phần vừa refactor

Nên refactor theo từng bước nhỏ, có thể test được từng bước — tránh gộp một lần đổi quá nhiều thứ.

> tìm các hàm trong NotificationsService chưa có test bao phủ
> viết test cho notification service
> thêm test case cho các edge case của notification service
> chạy test mới và sửa nếu có lỗi

Claude Code đọc các file test có sẵn để bắt chước đúng style, framework và cách assert của dự án — nên kết quả thường “hoà” vào codebase thay vì lạc tông. Yêu cầu thêm test cho edge case, giá trị biên, input bất thường để tăng độ bao phủ.

Cách nhanh nhất là yêu cầu trực tiếp:

> tạo pr cho các thay đổi của tôi

Hoặc đi từng bước để kiểm soát nội dung PR:

> tóm tắt các thay đổi tôi đã làm ở module authentication
> tạo pr
> bổ sung mô tả PR với ngữ cảnh rõ hơn về các cải tiến bảo mật
> tìm các hàm chưa có JSDoc trong module auth
> thêm JSDoc cho các hàm chưa có tài liệu trong auth.js
> cải thiện tài liệu vừa tạo với ví dụ cụ thể hơn

Claude Code đọc hiểu được cả ảnh — kéo-thả ảnh vào cửa sổ, dán bằng Ctrl+V, hoặc cung cấp đường dẫn file ảnh:

> đây là ảnh chụp lỗi. Nguyên nhân là gì?
> đây là schema database hiện tại. Nên sửa thế nào cho tính năng mới?
> tạo CSS khớp với mockup thiết kế này

Hữu ích khi mô tả bằng chữ khó rõ ràng bằng: ảnh chụp lỗi UI, mockup thiết kế, sơ đồ kiến trúc.

> giải thích logic trong @src/utils/auth.js
> cấu trúc @src/components là gì?

@file đưa thẳng nội dung file vào hội thoại (không cần chờ Claude tự đọc); @thư-mục liệt kê danh sách file bên trong (không phải nội dung). Gõ @ sẽ hiện menu gợi ý đường dẫn.

Khi một tác vụ kéo dài qua nhiều lần ngồi làm việc, không cần giải thích lại từ đầu — Claude Code lưu hội thoại cục bộ trên máy:

Terminal window
claude --continue # tiếp tục phiên gần nhất trong thư mục hiện tại
claude --resume # chọn một phiên cũ từ danh sách

Trong phiên đang chạy, dùng /resume để làm điều tương tự.

Muốn vừa phát triển tính năng ở một terminal, vừa để Claude sửa bug ở terminal khác, mà không đụng chạm thay đổi của nhau — dùng git worktree (mỗi worktree là một checkout riêng trên branch riêng):

Terminal window
claude --worktree feature-auth

Chạy lệnh tương tự với tên khác ở terminal thứ hai để có phiên song song độc lập. Repo cần có ít nhất một commit trước khi dùng được worktree.

Với thay đổi cần soát kỹ trước khi đụng vào code thật, chuyển sang plan mode: Claude chỉ đọc và đề xuất kế hoạch, không sửa gì cho đến khi bạn duyệt.

Terminal window
claude --permission-mode plan

Hoặc nhấn Shift+Tab giữa phiên để chuyển qua plan mode bất cứ lúc nào.

Việc khám phá một codebase lớn có thể “ngập” ngữ cảnh chính bằng hàng loạt nội dung file chỉ dùng một lần. Giao việc đó cho subagent để chỉ kết quả tóm tắt quay lại:

> dùng một subagent để tìm hiểu cách hệ thống auth xử lý việc refresh token

Subagent tự đọc file trong ngữ cảnh riêng của nó, agent chính chỉ nhận về phần tóm tắt cần thiết — rất hữu ích cho việc khám phá song song nhiều phần độc lập của một tác vụ lớn.

Chế độ headless (-p) chạy Claude Code không tương tác, nhận input/xuất output như một công cụ Unix bình thường — phù hợp cho CI, pre-commit hook, hay xử lý hàng loạt:

Terminal window
# Phân tích log gần đây
tail -200 app.log | claude -p "có bất thường nào trong log này không?"
# Tóm tắt commit gần đây
git log --oneline -20 | claude -p "tóm tắt các commit gần đây này"
# Review file thay đổi trong CI
git diff main --name-only | claude -p "review các file này, chú ý vấn đề bảo mật"