Vòng làm việc hằng ngày
pull → sửa → validate → test → push --dry-run → push → preview → publish.
webmati pull # 1. lấy những gì đã đổi trên server
# 2. sửa file
webmati validate # 3. kiểm tra như server, ngay trên máy
webmati test orders # 4. chạy thử workflow (nếu bạn sửa backend)
webmati push --dry-run # 5. xem sẽ gửi gì, server có nhận không
webmati push # 6. ghi vào bản NHÁP
webmati preview --open # 7. mở bản nháp trong trình duyệt
webmati publish theme # 8. đưa lên cho khách xem
Chạy các lệnh này bên trong thư mục project (hoặc thêm --dir <thư mục>
trước tên lệnh).
1. pull — bắt đầu mỗi buổi bằng pull
webmati pull
Lấy về những gì người khác (hoặc bạn, trong admin) đã đổi trên server. Thay đổi của bạn chưa đẩy vẫn được giữ nguyên. Nếu cùng một chỗ bị sửa ở cả hai phía, pull tự gộp khi được, còn không thì để lại xung đột — xem Xung đột.
Xem nhanh tình hình bất cứ lúc nào:
webmati status # có gì đổi ở đây và trên server
webmati diff # diff thay đổi của bạn so với lần đồng bộ cuối
webmati diff --remote # so với bản hiện tại trên server
3. validate — lỗi ở đây là lỗi server sẽ từ chối
webmati validate
webmati validate theme/sections/hero.liquid
webmati validate --remote
validate chạy chính các luật của server ngay trên máy: lint theme (~70 luật),
schema của section, cài đặt theme, đồ thị workflow, khai báo bảng, và cú pháp
Liquid y như storefront. Sửa hết mọi error; warning chỉ là gợi ý.
--remotehỏi thêm server (chạy thử changeset và kiểm tra đồ thị workflow trên server), cho những luật cần dữ liệu thật.--allliệt kê cả những lỗi đã có sẵn trong bản đang lưu, không chỉ lỗi mới.
Liquid parse skipped
Kiểm tra cú pháp Liquid offline cần Node.js ≥ 18 trên máy. Không có Node,
validatebáoLiquid parse skipped (install Node ≥18 or use --remote)— bước đó bị bỏ qua, không phải đã qua. Cài Node, hoặc dùngvalidate --remote.
4. test — chạy workflow không đụng dữ liệu thật
webmati test orders
Chạy bản nháp workflow orders trên máy bạn bằng đúng engine của platform,
với dữ liệu mẫu trong backend/fixtures/. Xem
webmati dev và webmati test.
5–6. push — chỉ ghi vào bản nháp
webmati push --dry-run
webmati push
webmati push theme/sections/hero.liquid # chỉ đẩy một file
push gửi file theme vào bản nháp theme, workflow vào bản nháp workflow,
trang vào bản nháp trang. Khách chưa thấy gì cả. push chạy validate
trước; nếu có error thì không gửi (--no-validate bỏ qua bước offline, server
vẫn tự kiểm tra).
Kết quả từng mục:
APPLIEDđã ghi ·UNCHANGEDserver đã có đúng như vậy ·WOULD_APPLY(với--dry-run) sẽ ghiCONFLICTserver đã đổi từ lần pull cuối của bạn — xem Xung độtREJECTEDserver từ chối, kèm lý do ·NOT_APPLIEDkhông gửi vì một mục khác trong cùng lô bị từ chốiSKIPPEDthay đổi chạy ngay (bảng, redirect, bản dịch…), phải đi quapush --live— xem Thay đổi chạy ngay
Nếu server lưu khác một chút so với bạn gửi (ví dụ chuẩn hoá JSON), CLI tự thay
file của bạn bằng bản server đã lưu, để lần status sau sạch.
7. preview — xem bản nháp
webmati preview # in ra link xem bản nháp
webmati preview --path /about # mở thẳng một trang
webmati preview --open # mở trong trình duyệt
Link có token xem trước, hết hạn sau một lúc (đổi bằng --ttl tính bằng giây).
Muốn trang tự tải lại mỗi khi bạn lưu file, dùng
webmati dev.
8. publish — đưa lên cho khách xem
webmati publish theme # bản nháp theme thành theme đang chạy
webmati publish workflow orders # bản nháp workflow thành bản chạy trên route
publish in ra những gì sẽ thay đổi rồi hỏi lại (--yes để không hỏi).
publish theme cũng đưa lên cả những chỉnh sửa người khác đã làm trong bản
nháp (ví dụ trong customizer); nó liệt kê chúng — đọc trước khi đồng ý.
Một trang được xuất bản bằng tool publish_page:
webmati tool call list_pages --json '{}' --select '.storePages[] | select(.slug == "about") | .id'
webmati tool call publish_page --json '{"id":"123"}'
(Thay 123 bằng id lệnh đầu tiên in ra.)
Mã thoát
| Mã | Ý nghĩa |
|---|---|
0 | xong |
1 | lỗi |
2 | dùng sai lệnh (thiếu tham số, cờ không có) |
3 | cần bạn xem: xung đột, lỗi validate, thay đổi bị từ chối |
4 | CLI quá cũ: chạy webmati update |
Mọi lệnh đều nhận --json để in kết quả cho máy đọc.

