> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kazzle CLI

> Kazzle रनटाइम संदर्भ के साथ जेनरेट किए गए ऐप कमांड चलाएँ।

# Kazzle CLI

**विकास और पूर्वावलोकन** में ऐप कमांड चलाने के लिए Kazzle CLI का उपयोग करें:

```bash theme={"theme":"material-theme-darker"}
kazzle run -- <command>
```

`--` के बाद सब कुछ वास्तविक कमांड है। Kazzle पहले रनटाइम वातावरण इंजेक्ट करता है।

`kazzle run` केवल विकास और पूर्वावलोकन के लिए है। यह `dev` स्क्रिप्ट में जाता है, कभी `start` में नहीं। उत्पादन में, तैनात रनटाइम `PORT`, `HOST` और सीक्रेट सीधे इंजेक्ट करता है, और उत्पादन कमांड नंगी कमांड है (जैसे `bun run index.ts`)। `kazzle` CLI तैनात इमेज में स्थापित नहीं है, इसलिए एक उत्पादन कमांड जो `kazzle run` को कॉल करती है `kazzle: command not found` के साथ क्रैश हो जाती है।

## `kazzle run` क्या इंजेक्ट करता है

* `kazzle.config.ts` में घटक की `env` प्रविष्टि से सीक्रेट
* `PORT` और `HOST`
* भाई घटक URL जैसे `KAZZLE_APP_COMPONENT_SERVER_URL`
* ऐप ID और घटक नाम जैसी Kazzle रनटाइम पहचान

## उदाहरण

```json theme={"theme":"material-theme-darker"}
{
  "scripts": {
    "dev": "kazzle run -- bun --watch server/index.ts",
    "start": "bun server/index.ts"
  }
}
```

`dev` `kazzle run` के माध्यम से चलता है ताकि Kazzle पूर्वावलोकन पोर्ट और रनटाइम env इंजेक्ट कर सके। `start` नंगी कमांड है — उत्पादन `PORT`/`HOST`/सीक्रेट को स्वयं इंजेक्ट करता है।

`package.json` में सीक्रेट संग्रह नाम न रखें। उन्हें `kazzle.config.ts` में रखें।

```ts theme={"theme":"material-theme-darker"}
components: [
  {
    name: 'server',
    type: 'process',
    path: './server/index.ts',
    env: { collection: 'my-app', environment: 'local' },
  },
]
```

## चेकआउट को ऐप से जोड़ना

`kazzle run` को जानना होगा कि यह निर्देशिका किस ऐप से संबंधित है। समाधान क्रम:

1. कमांड लाइन पर `--app=<appId>`
2. `KAZZLE_APP_ID` env वेरिएबल (जब Kazzle एक निरीक्षित घटक शुरू करता है तो स्वचालित रूप से सेट)
3. वर्तमान निर्देशिका से ऊपर की ओर चलने वाली `.kazzle/link.json`

यदि इनमें से कोई भी समाधान नहीं होता है, तो `kazzle run` इसके साथ बाहर निकलता है:

```
Error: This directory is not linked to a Kazzle app. Run `kazzle link` to fix.
```

`app { create: {} }` स्वचालित रूप से `<checkout>/.kazzle/link.json` लिखता है — Vercel के `.vercel/project.json` की तरह। फ़ाइल प्रति-क्लोन है और gitignored है। किसी मौजूदा ऐप के ताज़े `git clone` के बाद, चलाएँ:

```bash theme={"theme":"material-theme-darker"}
kazzle link              # वर्तमान निर्देशिका को आपके Space के ऐप चेकआउट के विरुद्ध मिलाएँ
kazzle link --app=<id>   # एक विशिष्ट ऐप को बाध्य करें
kazzle unlink            # लिंक फ़ाइल हटाएँ
```

AI एक thread से `app { link: { appId } }` के साथ एक लापता लिंक की मरम्मत कर सकता है।
