Chuyển đến nội dung chính

Kazzle CLI

Sử dụng Kazzle CLI để chạy các lệnh ứng dụng trong phát triển và xem trước:
kazzle run -- <command>
Mọi thứ sau -- là lệnh thực tế. Kazzle tiêm môi trường thời gian chạy trước tiên. kazzle run chỉ dành cho phát triển và xem trước. Nó thuộc về script dev, không bao giờ trong start. Trong sản xuất, thời gian chạy được triển khai tiêm PORT, HOST và bí mật trực tiếp, và lệnh sản xuất là lệnh trần (ví dụ: bun run index.ts). CLI kazzle không được cài đặt trong các hình ảnh được triển khai, vì vậy lệnh sản xuất gọi kazzle run sẽ gặp lỗi kazzle: command not found.

kazzle run tiêm những gì

  • bí mật từ mục env của thành phần trong kazzle.config.ts
  • PORTHOST
  • URL thành phần anh chị em như KAZZLE_APP_COMPONENT_SERVER_URL
  • Danh tính thời gian chạy Kazzle như ID ứng dụng và tên thành phần

Ví dụ

{
  "scripts": {
    "dev": "kazzle run -- bun --watch server/index.ts",
    "start": "bun server/index.ts"
  }
}
dev chạy qua kazzle run để Kazzle có thể tiêm cổng xem trước và env thời gian chạy. start là lệnh trần — sản xuất tiêm PORT/HOST/bí mật chính nó. Không đặt tên bộ sưu tập bí mật trong package.json. Đặt chúng trong kazzle.config.ts.
components: [
  {
    name: 'server',
    type: 'process',
    path: './server/index.ts',
    env: { collection: 'my-app', environment: 'local' },
  },
]

Liên kết một checkout với một ứng dụng

kazzle run cần biết ứng dụng nào mà thư mục này thuộc về. Thứ tự phân giải:
  1. --app=<appId> trên dòng lệnh
  2. Biến env KAZZLE_APP_ID (được đặt tự động khi Kazzle khởi động một thành phần được giám sát)
  3. .kazzle/link.json được duyệt từ thư mục hiện tại
Nếu không có cái nào trong số đó được phân giải, kazzle run thoát với:
Error: This directory is not linked to a Kazzle app. Run `kazzle link` to fix.
app { action: "create" } ghi <checkout>/.kazzle/link.json tự động — giống như .vercel/project.json của Vercel. Tệp này dành cho mỗi bản sao và được gitignore. Sau khi git clone mới của một ứng dụng hiện có, chạy:
kazzle link              # khớp thư mục hiện tại với các checkout ứng dụng của không gian của bạn
kazzle link --app=<id>   # buộc một ứng dụng cụ thể
kazzle unlink            # xóa tệp liên kết
AI có thể sửa chữa một liên kết bị thiếu từ một thread với app { action: "link", appId }.