Перейти до основного вмісту

Kazzle CLI

Використовуйте Kazzle CLI для запуску команд додатків у розробці та попередньому перегляді:
kazzle run -- <command>
Все після -- — це реальна команда. Kazzle спочатку вводить середовище runtime. kazzle run призначена тільки для розробки та попереднього перегляду. Вона належить до скрипту dev, ніколи до start. У виробництві розгорнутий runtime вводить PORT, HOST та секрети безпосередньо, а команда виробництва — це проста команда (наприклад bun run index.ts). CLI kazzle не встановлюється в розгорнутих образах, тому команда виробництва, яка викликає kazzle run, падає з помилкою kazzle: command not found.

Що вводить kazzle run

  • секрети з запису env компонента в kazzle.config.ts
  • PORT та HOST
  • URL-адреси сусідніх компонентів, як-от KAZZLE_APP_COMPONENT_SERVER_URL
  • ідентичність Kazzle runtime, таку як ID додатку та ім’я компонента

Приклад

{
  "scripts": {
    "dev": "kazzle run -- bun --watch server/index.ts",
    "start": "bun server/index.ts"
  }
}
dev запускається через kazzle run, щоб Kazzle могла ввести порт попереднього перегляду та середовище runtime. start — це проста команда — виробництво вводить PORT/HOST/секрети саме. Не розміщуйте назви колекцій секретів у package.json. Розміщуйте їх у kazzle.config.ts.
components: [
  {
    name: 'server',
    type: 'process',
    path: './server/index.ts',
    env: { collection: 'my-app', environment: 'local' },
  },
]

Зв’язування перевірки з додатком

kazzle run потребує знати, якому додатку належить цей каталог. Порядок розв’язання:
  1. --app=<appId> у командному рядку
  2. змінна середовища KAZZLE_APP_ID (встановлюється автоматично, коли Kazzle запускає контрольований компонент)
  3. .kazzle/link.json пройдена вгору від поточного каталогу
Якщо жодна з них не розв’язується, kazzle run завершується з:
Error: This directory is not linked to a Kazzle app. Run `kazzle link` to fix.
app { action: "create" } автоматично записує <checkout>/.kazzle/link.json — як .vercel/project.json Vercel. Файл є для кожного клону та gitignored. Після свіжого git clone існуючого додатку запустіть:
kazzle link              # зіставте поточний каталог з перевірками додатків вашого простору
kazzle link --app=<id>   # примусово встановіть конкретний додаток
kazzle unlink            # видаліть файл зв'язку
ШІ може відновити відсутнє посилання з потоку за допомогою app { action: "link", appId }.