Kiểm chứng trên Claude Code 2.1.x. Flag thay đổi theo phiên bản: luôn đối chiếu claude --help trên máy bạn. Cấu hình permission/hook chi tiết xem Claude Code: settings.json và hooks.
CLI
| Mục đích | Lệnh |
|---|---|
| Mở phiên tương tác trong thư mục hiện tại | claude |
| Mở phiên với prompt đầu tiên | claude "giải thích playbook site.yml" |
| Chạy một lần, in kết quả rồi thoát (script/CI) | claude -p "tóm tắt diff này" < change.diff |
| Output JSON cho script | claude -p "..." --output-format json |
| Tiếp tục phiên gần nhất trong thư mục | claude -c |
| Chọn phiên cũ để resume | claude -r |
| Chọn model | claude --model opus / claude --model claude-sonnet-5-5 |
| Bắt đầu ở plan mode (chỉ đọc, lập kế hoạch) | claude --permission-mode plan |
| Cho phép sẵn tool cho phiên này | claude --allowedTools "Bash(git diff *)" Read |
| Chặn tool cho phiên này | claude --disallowedTools "Bash(rm *)" |
| Thêm thư mục ngoài cwd | claude --add-dir ../ansible-roles |
| Nạp settings bổ sung | claude --settings ./ci-settings.json |
| Chạy trong git worktree riêng | claude -w fix-bgp-policy |
| Kiểm tra cài đặt | claude doctor |
| Cập nhật | claude update |
MCP
| Mục đích | Lệnh |
|---|---|
| Thêm server stdio | claude mcp add netops -- uv run server.py |
| Thêm server kèm env | claude mcp add netbox -e NETBOX_TOKEN=$NETBOX_TOKEN -- uv run netbox-mcp |
| Thêm server HTTP | claude mcp add --transport http netops https://mcp.example.net/mcp |
Chia sẻ cho team (ghi .mcp.json) |
claude mcp add netops -s project -- uv run server.py |
| Liệt kê / chi tiết / xoá | claude mcp list / claude mcp get netops / claude mcp remove netops |
| Chỉ dùng server trong file cấu hình chỉ định | claude --mcp-config ./mcp.json --strict-mcp-config |
Slash command (trong phiên)
| Mục đích | Lệnh |
|---|---|
| Danh sách lệnh | /help |
Tạo CLAUDE.md từ codebase |
/init |
Sửa memory (CLAUDE.md) |
/memory |
| Xoá context, bắt đầu lại | /clear |
| Nén hội thoại khi context đầy | /compact (có thể kèm chỉ dẫn: /compact giữ lại kết quả show bgp) |
| Xem context đang dùng bao nhiêu | /context |
| Đổi model | /model |
| Xem/sửa rule permission | /permissions |
| Xem hook đang nạp | /hooks |
| Trạng thái MCP server | /mcp |
| Quản lý subagent | /agents |
| Cấu hình chung | /config |
| Resume phiên khác | /resume |
| Chẩn đoán cài đặt | /doctor |
Phím tắt
| Mục đích | Phím |
|---|---|
| Xoay vòng chế độ permission (mặc định, accept edits, plan...) | Shift+Tab |
| Dừng Claude đang chạy | Esc |
| Quay lại sửa tin nhắn trước | Esc Esc |
| Chạy lệnh shell trực tiếp, output vào context | ! ở đầu dòng, vd !git status |
| Tham chiếu file | @ + đường dẫn, vd @roles/bgp/tasks/main.yml |
| Xuống dòng không gửi | \ rồi Enter |
| Thoát | Ctrl+D hoặc Ctrl+C hai lần |
Chế độ permission
| Mode | Hành vi |
|---|---|
| mặc định | Hỏi trước khi sửa file / chạy lệnh chưa được allow |
acceptEdits |
Tự chấp nhận sửa file, lệnh shell vẫn hỏi |
plan |
Chỉ đọc và lập kế hoạch, không sửa gì |
dontAsk |
Không hỏi: cái gì chưa có trong allow thì bị từ chối |
bypassPermissions |
Bỏ qua mọi kiểm tra, chỉ dùng trong sandbox/container cô lập |
--dangerously-skip-permissions = bypassPermissions. Không dùng trên jump host có SSH key tới router production.
CLAUDE.md
| Vị trí | Phạm vi |
|---|---|
~/.claude/CLAUDE.md |
Mọi project của bạn |
./CLAUDE.md (commit vào repo) |
Cả team, project này |
./<subdir>/CLAUDE.md |
Nạp khi Claude làm việc trong thư mục con đó |
@docs/conventions.md trong CLAUDE.md |
Import file khác vào memory |
# Repo ansible-network
- Lint: `ansible-lint` và `yamllint .` trước khi báo xong.
- Không chạy playbook không có `--check` trên group `prod`.
- IOS XR: luôn `commit confirmed 300`, Junos: `commit confirmed 5`.
- Inventory: inventory/hosts.yml, secret qua ansible-vault, không ghi plaintext.CLAUDE.md nên ngắn: lệnh build/test, quy ước, điều cấm. Thứ model tự đọc được từ code thì không cần ghi.