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
“Đoạn sửa @Composable vừa rồi có render đúng không?” là câu hỏi mà bình thường được trả lời bằng
cách một người ngồi soi emulator. Screenshot test có giúp, nhưng nó chỉ báo rằng có gì đó đã đổi —
không nói được là đổi tốt hay xấu, và cũng không nói được đây đã là sprint thứ tư liên tiếp cùng
một lỗi khoảng cách quay lại.
Harness này biến chuyện đó thành một vòng lặp có trí nhớ. Mọi màn hình được render qua một stress matrix, hai bên chấm điểm độc lập ghi finding vào một ledger được commit, và những finding cứ tái diễn sẽ được nâng thành gate cố định. Phần hướng dẫn mềm co lại khi số gate lớn lên.
Cách cài đặt
/plugin marketplace add ShipWithAI/shipwithai-plugins/plugin install shipwithai-mobile-ui-harness@shipwithaiCách sử dụng
/shipwithai-mobile-ui-harness:setup com.acme.app --module feature/foo/impl/ui-iterate FooScreen # render, chấm điểm, ghi log — giới hạn 4 vòng/ui-distill # nâng lỗi tái diễn thành gate cố định/ui-metrics # nó có đang cộng dồn không?Ba lớp:
- Prevent — Konsist boundary test và design token chặn cả nhóm lỗi ngay ở tầng kiến trúc.
- Gate và grade —
/ui-iteratechạy gate rẻ trước (không render), rồi tới render matrix kèmTier1Assertionsduyệt cây semantics của Compose, rồi tới lane thị giácmobile-design-evaluator, cuối cùng gộp vào ledger. - Ratchet —
/ui-distillgom nhóm các finding tái diễn, nâng chúng thành gate, và xoá phần hướng dẫn mềm đã thừa.
Mẹo dùng
- Chạy
/ui-metricstrước khi kết luận harness có hiệu quả. Số vòng lặp tới lúc pass và tỉ lệ tái diễn sau khi deposit mới là con số đáng nhìn; một ảnh screenshot pass thì không. - Cứ để giới hạn 4 vòng làm việc của nó. Màn hình cần hơn bốn vòng thì vấn đề nằm ở thiết kế hoặc ở yêu cầu, không nằm ở vòng lặp.
- Coi
findings.jsonllà artifact thật và commit nó. Phần cộng dồn nằm ở ledger; xoá nó là đưa harness về lại mức lời khuyên.
Khi KHÔNG nên dùng
Không dành cho UI web hay iOS native. Không đáng bỏ công setup trên project chưa có sẵn screenshot test cho Compose — như vậy là nhận hai thứ mới cùng lúc. Và ở mức 0.1.0, hãy chuẩn bị đọc kỹ integration guide chứ đừng lướt.