1 điểm bởi kyu1204 20 giờ trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Xin chào. Trong lúc dùng Claude Code và Codex, vì bị prompt “phản bội” (?) nên tôi đang làm một CLI tên là oh-my-harness, một trình tạo hook.

Ban đầu tôi chỉ thêm các chỉ dẫn vào CLAUDE.md hoặc AGENTS.md như bên dưới.

Hãy sửa test trước
Hãy chạy test trước khi commit
Đừng commit lên nhánh main
Đừng đụng vào node_modules hay dist
Đừng sửa .env

Nhưng dùng một thời gian thì hầu hết các chỉ dẫn gần như đều bị bỏ qua, và đến một lúc nào đó nó không còn tuân thủ nữa.

Đặc biệt là dù tôi bảo phát triển theo TDD,
nó vẫn nói kiểu
“Xin lỗi, tôi đã không sửa test”
chẳng hạn,

hoặc tôi bảo kiểm tra xem đó có phải nhánh đã merge rồi hay không, nhưng sau khi push commit xong lại khăng khăng rằng
“Đây vẫn chưa phải nhánh đã được merge”
(?)

Vì thế tôi đã tạo ra oh-my-harness.

Nó cung cấp CLI cho agent, đồng thời cũng cung cấp TUI cho con người.

omh init "React app with TDD"  

Hoặc

omh init  

Khi đó nó sẽ nhìn vào project, tạo harness.yaml, rồi dựa trên đó tạo luôn CLAUDE.md cho Claude Code, AGENTS.md cho Codex và cấu hình hook cho từng runtime.

Ví dụ, hiện tại có thể chặn hoặc kiểm tra những việc như sau.

  • Chặn khi cố commit trên main hoặc trên nhánh đã được merge
  • Chạy test hoặc type check trước khi commit
  • Nếu chưa sửa test trước mà lại định chỉ sửa source thì sẽ bị chặn theo quy tắc TDD
  • Bảo vệ các file/thư mục như node_modules, dist, .next, .env
  • Lọc các shell command nguy hiểm

Tất cả những thứ này hoạt động bằng một tập hợp shell script được chuẩn bị sẵn, mà tôi gọi là catalog.

omh init đóng vai trò chọn ra catalog phù hợp từ ngôn ngữ tự nhiên được truyền vào.

Cá nhân tôi cảm thấy khi dùng công cụ coding AI, thay vì chỉ nói “nhờ bạn nhé”, thì những cơ chế an toàn có thể dừng lại ngay khi mắc lỗi quan trọng hơn rất nhiều.

Đặc biệt, khi agent ngày càng sửa nhiều file hơn và việc đi đến cả bước commit trở thành một luồng tự nhiên hơn, tôi nghĩ những cơ chế như vậy sẽ càng cần thiết.

———

Cài đặt: npm install -g oh-my-harness

GitHub: https://github.com/kyu1204/oh-my-harness

npm: https://www.npmjs.com/package/oh-my-harness

Hiện vẫn còn ở giai đoạn đầu nên còn nhiều chỗ thiếu sót.
Mong mọi người dùng thử và cho nhiều ý kiến. Rất hoan nghênh cả đóng góp nữa!

Chưa có bình luận nào.

Chưa có bình luận nào.