इस प्रोजेक्ट के बारे में
# @overeng Effect Utils
प्रोडक्शन-तैयार Effect उपयोगिताओं और एकीकरणों का संग्रह।
## पैकेज
### Notion एकीकरण
टाइप-सुरक्षित स्कीमा जनरेशन के साथ पूर्ण-सुविधा वाला Effect-नेटिव Notion API क्लाइंट।
#### @overeng/notion-effect-client
टाइप्ड क्वेरी के साथ Notion API के लिए Effect-नेटिव HTTP क्लाइंट
- **स्कीमा-जागरूक क्वेरी** - पूरी तरह टाइप्ड परिणाम और स्वचालित डिकोडिंग के लिए Effect स्कीमा पास करें
- **Markdown रूपांतरण** - अनुकूलन योग्य ट्रांसफ़ॉर्मर के साथ पेज/ब्लॉक को Markdown में बदलें
- **स्ट्रीमिंग API** - सभी लिस्ट ऑपरेशन के लिए Effect Streams के माध्यम से ऑटो-पेजिनेशन
#### @overeng/notion-effect-schema
सभी Notion API प्रकारों के लिए व्यापक Effect स्कीमा
- **पूर्ण कवरेज** - सभी 27 ब्लॉक प्रकारों और 21+ प्रॉपर्टी प्रकारों के लिए स्कीमा
- **प्रॉपर्टी ट्रांसफ़ॉर्म** - सुविधाजनक एक्सेस के लिए `asString`, `asNumber`, `asOption` वेरिएंट
- **राइट सपोर्ट** - पेज बनाने/अपडेट करने के लिए समर्पित राइट स्कीमा
#### @overeng/notion-effect-cli
आपके Notion डेटाबेस से टाइप-सुरक्षित स्कीमा जनरेट करने के लिए CLI टूल
- **स्कीमा जनरेशन** - लाइव Notion डेटाबेस से टाइप्ड स्कीमा जनरेट करें
- **ड्रिफ्ट डिटेक्शन** - CI/CD के लिए `diff` कमांड के साथ स्कीमा परिवर्तनों को ट्रैक करें
- **API रैपर जनरेशन** - `--include-api` के साथ टाइप्ड CRUD ऑपरेशन जनरेट करें
### AI एकीकरण
| पैकेज | विवरण |
| --- | --- |
| @overeng/effect-ai-claude-cli | Effect AI के लिए Claude CLI प्रोवाइडर |
API कॉल के लिए भुगतान करने के बजाय अपनी **Claude Code सदस्यता** का उपयोग करें। `claude` CLI को डेलीगेट करके Effect AI के LanguageModel इंटरफ़ेस को लागू करता है।
- **सदस्यता-आधारित** - अपनी मौजूदा Claude Code सदस्यता का उपयोग करें (API से बहुत सस्ता)
- **कोई API कुंजी नहीं** - CLI आपकी सदस्यता के माध्यम से प्रमाणीकरण संभालता है
- **पूर्ण LanguageModel सपोर्ट** - `@effect/ai` Chat, generateText, आदि के साथ काम करता है
### स्कीमा फ़ॉर्म
सुलभ React Aria कार्यान्वयन के साथ Effect स्कीमा के लिए हेडलेस फ़ॉर्म लाइब्रेरी।
| पैकेज | विवरण |
| --- | --- |
| @overeng/effect-schema-form | स्कीमा इंट्रोस्पेक्शन के साथ हेडलेस फ़ॉर्म कंपोनेंट |
| @overeng/effect-schema-form-aria | Tailwind CSS के साथ स्टाइल्ड React Aria कंपोनेंट (Storybook) |
- **स्कीमा इंट्रोस्पेक्शन** - Effect Schema संरचना से स्वचालित रूप से फ़ॉर्म फ़ील्ड जनरेट करें
- **हेडलेस आर्किटेक्चर** - अपने स्वयं के कंपोनेंट लाएं या पूर्व-निर्मित React Aria कार्यान्वयन का उपयोग करें
- **टैग्ड स्ट्रक्ट सपोर्ट** - लेबल किए गए समूहों के साथ विभेदित यूनियनों का स्वचालित संचालन
- **लचीली रेंडरिंग** - पूर्ण नियंत्रण के लिए प्रोवाइडर पैटर्न, रेंडर प्रॉप्स, या हुक API
- **डिफ़ॉल्ट रूप से सुलभ** - WCAG अनुपालन के साथ React Aria कंपोनेंट
### React एकीकरण
Effect-संचालित एप्लिकेशन बनाने के लिए React हुक और उपयोगिताएँ।
| पैकेज | विवरण |
| --- | --- |
| @overeng/effect-react | हुक और कॉन्टेक्स्ट प्रोवाइडर के साथ Effect रनटाइम के लिए React एकीकरण |
| @overeng/react-inspector | Effect Schema सपोर्ट के साथ DevTools-शैली इंस्पेक्टर (Storybook) |
- **EffectProvider** - एक Layer से Effect रनटाइम प्रारंभ करें और React ट्री को प्रदान करें
- **हुक API** - कंपोनेंट में इफेक्ट चलाने के लिए `useEffectRunner`, `useEffectCallback`, `useEffectOnMount`
- **स्वचालित त्रुटि प्रबंधन** - कस्टम त्रुटि कंपोनेंट के साथ अंतर्निहित त्रुटि सीमाएँ
- **DevTools इंस्पेक्टर** - Effect Schema जागरूकता के साथ ब्राउज़र-शैली ऑब्जेक्ट/टेबल इंस्पेक्टर
- **टाइप-सुरक्षित रनटाइम एक्सेस** - उन्नत उपयोग मामलों के लिए Effect रनटाइम तक सीधी पहुँच
### Playwright एकीकरण
| पैकेज | विवरण |
| --- | --- |
| @overeng/utils/node/playwright | OTEL एकीकरण के साथ Effect-नेटिव Playwright रैपर |
- **सर्विस टैग** - डिपेंडेंसी इंजेक्शन के लिए `PwPage`, `PwBrowserContext`
- **संरचित त्रुटियाँ** - सुसंगत त्रुटि प्रबंधन के लिए सभी ऑपरेशन `PwOpError` के साथ लिपटे हुए
- **OTEL स्पैन** - क्रॉस-प्रोसेस ट्रेस प्रोपेगेशन के साथ स्वचालित ट्रेसिंग
- **टेस्ट हेल्पर** - Playwright टेस्ट में स्वचालित लेयर प्रावधान के लिए `withTestCtx`
### उपयोगिताएँ
| पैकेज | विवरण |
| --- | --- |
| @overeng/utils | वितरित लॉक, लॉग ब्रिजिंग, और डीबग उपयोगिताएँ |
मुख्य विशेषताएँ:
- BroadcastChannel के माध्यम से SharedWorker→Tab लॉग ब्रिजिंग (`@overeng/utils/browser`)
- स्कोप/फ़ाइनलाइज़र डीबगिंग और सक्रिय हैंडल मॉनिटरिंग
- TTL समाप्ति के साथ फ़ाइल सिस्टम-समर्थित वितरित लॉक
- वैकल्पिक लॉगिंग/रिटेंशन के साथ वर्कस्पेस-जागरूक कमांड हेल्पर
### डेवलपर टूल
| पैकेज | विवरण |
| --- | --- |
| @overeng/genie | TypeScript-आधारित कॉन्फ़िग फ़ाइल जनरेटर |
| @overeng/oxc-config | साझा oxlint और oxfmt कॉन्फ़िगरेशन |
**Genie** TypeScript स्रोतों (`.genie.ts` फ़ाइलों) से `package.json`, `tsconfig.json`, और GitHub वर्कफ़्लो फ़ाइलें जनरेट करता है। विशेषताओं में शामिल हैं:
- **टाइप-सुरक्षित कॉन्फ़िग** - पूर्ण ऑटोकम्पलीट के साथ TypeScript के रूप में कॉन्फ़िग परिभाषित करें
- **सुसंगत फ़ॉर्मेटिंग** - oxfmt के माध्यम से ऑटो-फ़ॉर्मेट
- **रीड-ओनली सुरक्षा** - जनरेट की गई फ़ाइलें डिफ़ॉल्ट रूप से रीड-ओनली होती हैं
- **CI एकीकरण** - `--check` मोड सत्यापित करता है कि फ़ाइलें अद्यतित हैं
## त्वरित शुरुआत
### डेव शेल में प्रवेश करें
यह रेपो एक सुसंगत टूलचेन प्रदान करने के लिए `devenv` का उपयोग करता है। शेल के अंदर कमांड चलाएँ:
```bash
devenv shell
```
### डिपेंडेंसी व्यू प्रकाशित करें
```bash
devenv tasks run buck2:editor:publish
```
### सभी TypeScript प्रोजेक्ट जाँचें
```bash
devenv tasks run buck2:quick
```
जब स्रोत-पक्ष टूल या एडिटर को उनकी आवश्यकता हो, तो Buck-निर्मित डिक्लेरेशन को पैकेज `dist` डायरेक्टरी में प्रकाशित करें:
```bash
devenv tasks run buck2:typescript:materialize-dist
```
### टेस्ट चलाएँ
```bash
# सभी टेस्ट
devenv tasks run test:run
# एकल पैकेज (जैसे, utils, genie)
devenv tasks run test:utils
devenv tasks run test:genie
# इंटीग्रेशन टेस्ट (Notion पैकेज के लिए NOTION_API_TOKEN आवश्यक)
NOTION_API_TOKEN=secret_xxx devenv tasks run test:integration
# वॉच मोड
devenv tasks run test:watch
```
### टाइप चेकिंग
Buck ही संपूर्ण रेपो में TypeScript जाँच का एकमात्र प्राधिकारी है:
```bash
devenv tasks run buck2:quick
```
क्रॉस-सेल Buck प्रोवाइडर पहचान की अलग से जाँच करें:
```bash
devenv tasks run buck2:providers:check
```
### Nix आर्टिफ़ैक्ट इम्पोर्ट जाँच
रेपो उत्पादों को साकार किए बिना सामान्य और JavaScript Buck उत्पाद आयात सीमाओं को मान्य करें:
```bash
devenv tasks run nix:buck2-artifact-import:check
devenv tasks run nix:javascript-product-import:check
```
`check:all` कुछ भी बनाए बिना होस्ट सिस्टम के लिए प्रत्येक flake आउटपुट का भी मूल्यांकन करता है:
```bash
devenv tasks run nix:flake:eval
```
### लिंटिंग
```bash
# फ़ॉर्मेटिंग + लिंट जाँचें
devenv tasks run lint:check
# फ़ॉर्मेटिंग + लिंट समस्याओं को ऑटो-फ़िक्स करें
devenv tasks run lint:fix
```
## पैकेज संरचना
प्रत्येक पैकेज आधुनिक ESM परंपराओं का पालन करता है:
- स्रोत फ़ाइलें `src/` में (`.ts` एक्सटेंशन के साथ TypeScript)
- एंट्री पॉइंट `src/mod.ts` पर
- संकलित आउटपुट `dist/` में (gitignored)
- डेवलपमेंट एक्सपोर्ट स्रोत फ़ाइलों की ओर इंगित करते हैं
- प्रकाशित एक्सपोर्ट संकलित JavaScript की ओर इंगित करते हैं
## योगदान
यह मोनोरेपो उपयोग करता है:
- पैकेज प्रबंधन के लिए **bun workspaces**
- इंक्रीमेंटल बिल्ड के लिए **TypeScript प्रोजेक्ट रेफ़रेंस**
- लिंटिंग और फ़ॉर्मेटिंग के लिए **oxlint + oxfmt**
- टेस्टिंग के लिए **Vitest**
- मुख्य कार्यक्षमता के लिए **Effect**
पैकेज-विशिष्ट दस्तावेज़ीकरण के लिए व्यक्तिगत पैकेज README देखें।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.