Sản phẩm nhà. Plugin này do ShipWithAI xây dựng và duy trì. Khác với các tool bên thứ ba được review trong toolkit, đây là sản phẩm của chính chúng tôi — hãy đọc với tinh thần đó.
Vấn đề nó giải quyết
Phần lớn project bắt đầu đời sống Claude Code bằng một CLAUDE.md copy về, mô tả một project
không còn tồn tại. Commands sai, cấu trúc thư mục đã đổi từ ba lần refactor trước, và không có
gì ngăn model ghi vào .env.
Harness đảo ngược thứ tự: đọc repo trước, viết file sau. Stack, build commands, cấu trúc thư mục, env vars và test framework đều được trích từ file đang thật sự nằm trong project — không phải từ một template mà bạn tự hứa sẽ cập nhật sau.
Cách cài đặt
/plugin marketplace add ShipWithAI/shipwithai-plugins/plugin install shipwithai-harness@shipwithaiCách sử dụng
/shipwithai-harness:setup # quét project rồi sinh harness/shipwithai-harness:doctor # chấm điểm harness đang có và đề xuất sửasetup chạy năm bước — scan, summarize, ask, write, validate. Nó hỏi đúng hai câu: project của
bạn là gì (bắt buộc) và quy ước riêng nếu có (tuỳ chọn).
Năm file được sinh ra:
| File | Nội dung |
|---|---|
CLAUDE.md | Commands thật, cấu trúc thư mục thật, quy ước của bạn |
.claude/settings.json | Permission rules khớp với toolchain đang dùng |
.claude/hooks/validate-command.py | Chặn fork bomb, curl | bash, force push |
.claude/hooks/protect-files.py | Chặn cứng thao tác ghi vào .env, .pem, .key |
docs/ARCHITECTURE.md | Ảnh chụp kiến trúc từ cấu trúc thật của project |
Mẹo dùng
- Đọc scan summary trước khi trả lời hai câu hỏi. Nếu nó đọc sai stack, sửa ngay từ đó — mọi thứ phía sau đều thừa hưởng cái sai này.
- Chạy
/shipwithai-harness:doctorsau mỗi lần refactor lớn. Harness lệch với code là thứ vô hình cho tới khi Claude tự tin chạy một lệnh không còn tồn tại. - Hooks sinh ra là mức sàn, không phải mức trần. Bổ sung rule riêng khi bạn thấy codebase của mình hay mời gọi lỗi kiểu gì.
Khi KHÔNG nên dùng
Bỏ qua nếu bạn đã dùng ShipWithAI Starter — init của Starter phủ cùng phạm vi và rộng hơn. Bỏ qua
với script dùng một lần hoặc sandbox, nơi harness tốn công hơn phần nó tiết kiệm. Và nếu project
không có file config quen thuộc nào, hãy chuẩn bị sửa tay phần output.