> ## 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.config.ts के लिए संपूर्ण संदर्भ — ऐप मैनिफेस्ट।

# कॉन्फ़िगरेशन

हर Kazzle ऐप के प्रोजेक्ट रूट में एक `kazzle.config.ts` होता है। यह फ़ाइल परिभाषित करती है कि आपके ऐप में क्या है — कंपोनेंट, स्किल्स और मेटाडेटा।

## त्वरित शुरुआत

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  components: [
    { name: 'My App', type: 'ui', path: '.' }
  ]
});
```

`defineConfig` हेल्पर TypeScript ऑटोकंप्लीशन और वेलिडेशन प्रदान करता है। टाइप्स `@kazzle/app` पैकेज से आते हैं जो हर टेम्पलेट में शामिल होता है।

## शीर्ष-स्तरीय फ़ील्ड

| फ़ील्ड         | टाइप                         | आवश्यक | विवरण                                                                                                                                                                                   |
| -------------- | ---------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`         | `string`                     | नहीं   | ऐप कैटलॉग में दिखाया जाने वाला मार्केटिंग डिस्प्ले नाम। जब छोड़ा जाए तो स्लग पर वापस जाता है।                                                                                           |
| `subtitle`     | `string`                     | नहीं   | कैटलॉग में ऐप नाम के नीचे दिखाई देने वाली छोटी एक-पंक्ति टैगलाइन (जैसे "Kazzle से Mac ऐप्स को नियंत्रित करें")। प्रकाशित करने के लिए आवश्यक — छोड़ने पर प्रकाशन विफल हो जाता है।        |
| `version`      | `string`                     | नहीं   | लेखक द्वारा निर्धारित संस्करण लेबल (जैसे "1.2.0")। केवल प्रदर्शन के लिए; प्रकाशन पर स्नैपशॉट किया जाता है और क्लोन पर फोर्क किए गए संस्करण के रूप में दिखाया जाता है।                   |
| `icon`         | `string`                     | नहीं   | रेपो रूट के सापेक्ष ऐप आइकन फ़ाइल का पथ (png, jpg, svg, webp, ico)। प्रकाशन पर CDN पर अपलोड किया जाता है।                                                                               |
| `accentColor`  | `string`                     | नहीं   | वैकल्पिक ब्रांड एक्सेंट रंग हेक्स स्ट्रिंग के रूप में (जैसे "#3b82f6")। ऐप आइकन चिप और विवरण हीरो को रंगित करता है। जब छोड़ा जाए तो एक्सेंट आइकन से स्वचालित रूप से नमूना लिया जाता है। |
| `kazzleAuth`   | `"optional"` \| `"required"` | नहीं   | ऐप लॉन्च सतह के लिए पहचान गेटिंग — "optional" (यदि Kazzle उपयोगकर्ता मौजूद है तो पहचान प्रदान की जाती है) या "required" (देखने के लिए लॉगिन किए गए Kazzle उपयोगकर्ता होना चाहिए)।       |
| `launchUrl`    | `string`                     | नहीं   | Kazzle के अंदर खोला जाने वाला शाब्दिक निरपेक्ष URL जब ऐप क्लिक किया जाता है, शब्दशः उपयोग किया जाता है। जब छोड़ा जाए तो लॉन्च सतह UI कंपोनेंट का तैनात पूर्वावलोकन URL होता है।         |
| `webhookUrl`   | `string`                     | नहीं   | प्रकाशक एंडपॉइंट जो Kazzle app.installed / app.uninstalled पर POST करता है (इंस्टॉल कुंजी प्रदान करता है)।                                                                              |
| `components`   | object\[]                    | नहीं   | निष्पादन योग्य कंपोनेंट — UI फ्रंटएंड या पृष्ठभूमि प्रक्रियाएं                                                                                                                          |
| `skills`       | object\[]                    | नहीं   | AI स्किल परिभाषाएं — मार्कडाउन फ़ाइलें जो AI डोमेन ज्ञान के लिए पढ़ता है                                                                                                                |
| `capabilities` | `object`                     | नहीं   | वैकल्पिक डेस्कटॉप एकीकरण सुविधाएं जैसे हॉटकी, सूचनाएं और स्टेटस बार उपस्थिति                                                                                                            |

## कंपोनेंट फ़ील्ड

`components[]` में प्रत्येक प्रविष्टि:

| फ़ील्ड                 | टाइप                     | आवश्यक        | विवरण                                                                                   |
| ---------------------- | ------------------------ | ------------- | --------------------------------------------------------------------------------------- |
| `name`                 | `string`                 | हाँ           | ऐप के भीतर अद्वितीय कंपोनेंट नाम                                                        |
| `type`                 | `"ui"` \| `"process"`    | हाँ           | कंपोनेंट टाइप — ui (अधिकतम 1) या process                                                |
| `path`                 | `string`                 | हाँ           | ऐप निर्देशिका के भीतर प्रविष्टि पथ                                                      |
| `runtime`              | object                   | नहीं          | कमांड और वैकल्पिक env ओवरराइड: `{ dev?, prod? }`                                        |
| `runtime.dev.command`  | `string`                 | नहीं          | dev सर्वर शुरू करने के लिए कमांड (जैसे `"bun run dev"`)                                 |
| `runtime.dev.env`      | object                   | नहीं          | Dev-only env ओवरराइड। कंपोनेंट `env` पर वापस जाता है।                                   |
| `runtime.prod.command` | `string`                 | नहीं          | उत्पादन में शुरू करने के लिए कमांड (जैसे `"bun run start"`)                             |
| `runtime.prod.build`   | `string`                 | नहीं          | उत्पादन के लिए बिल्ड करने के लिए कमांड (जैसे `"vite build"`)                            |
| `runtime.prod.env`     | object                   | नहीं          | Production-only env ओवरराइड। कंपोनेंट `env` पर वापस जाता है।                            |
| `schedule`             | `string`                 | नहीं          | प्रक्रिया कंपोनेंट के लिए Cron शेड्यूल (जैसे `"*/5 * * * *"`)                           |
| `trigger`              | `"webhook"` \| `"event"` | नहीं          | प्रक्रिया कंपोनेंट के लिए ट्रिगर मोड                                                    |
| `env`                  | object                   | नहीं          | गुप्त संग्रह + env var इंजेक्शन के लिए पर्यावरण                                         |
| `env.collection`       | `string`                 | हाँ (यदि env) | गुप्त संग्रह स्लग                                                                       |
| `env.environment`      | `string`                 | हाँ (यदि env) | पर्यावरण स्लग                                                                           |
| `env.include`          | `string[]`               | नहीं          | केवल ये env var नाम इंजेक्ट करें। यदि छोड़ा जाए तो संग्रह+पर्यावरण से सभी इंजेक्ट करें। |

## स्किल फ़ील्ड

`skills[]` में प्रत्येक प्रविष्टि:

| फ़ील्ड | टाइप     | आवश्यक | विवरण                                  |
| ------ | -------- | ------ | -------------------------------------- |
| `name` | `string` | हाँ    | स्किल नाम                              |
| `path` | `string` | हाँ    | ऐप रूट के सापेक्ष SKILL.md फ़ाइल का पथ |

## बाधाएं

* **प्रति ऐप अधिकतम 1 UI कंपोनेंट**
* कंपोनेंट `name` मान ऐप के भीतर अद्वितीय होने चाहिए

## टेम्पलेट उदाहरण

### ai app

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  /** One-line catalog tagline. Required to publish. */
  subtitle: 'My App',
  icon: 'components/ui/public/favicon.svg',
  components: [
    { name: 'ui', type: 'ui', path: './components/ui' },
    { name: 'server', type: 'process', path: './components/server/index.ts', runtime: { dev: { command: 
```
