इस प्रोजेक्ट के बारे में

# @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 देखें।