Skip to content

Hatcher में योगदान

Hatcher में योगदान करने में आपकी रुचि के लिए धन्यवाद! आप AI युग में सॉफ्टवेयर विकास के भविष्य के निर्माण के एक आंदोलन में शामिल हो रहे हैं—एक ऐसा भविष्य जहां डेवलपर्स AI प्रवर्धन की शक्ति का उपयोग करते हुए पूर्ण नियंत्रण बनाए रखते हैं। यह गाइड शुरू करने के लिए व्यावहारिक चरण प्रदान करता है, लेकिन यदि आपने पहले से नहीं किया है, तो हम हमारे दर्शनशास्त्र को पढ़ने की सलाह देते हैं ताकि हमारे काम के पीछे के "क्यों" को समझा जा सके।

Hatcher में योगदान करके, आप केवल कोड नहीं लिख रहे हैं—आप यह परिभाषित करने में मदद कर रहे हैं कि AI के युग में मानवता सॉफ्टवेयर कैसे बनाएगी। प्रत्येक योगदान, चाहे वह बग फिक्स हो, फीचर हो या दस्तावेज़ीकरण सुधार हो, नियंत्रित प्रवर्धन के हमारे मिशन को आगे बढ़ाता है।

आचार संहिता

इस परियोजना में भाग लेकर, आप हमारी आचार संहिता का पालन करने के लिए सहमत हैं। कृपया योगदान देने से पहले इसे पढ़ें।

शुरुआत करें

डेवलपमेंट सेटअप

  1. फोर्क और क्लोन करें

    bash
    git clone https://github.com/your-username/dx-engine.git
    cd dx-engine
  2. डिपेंडेंसी इंस्टॉल करें

    bash
    pnpm install
  3. डेवलपमेंट सर्वर शुरू करें

    bash
    pnpm dev

प्रोजेक्ट संरचना

dx-engine/
├── apps/                           # एप्लिकेशन पैकेज
│   ├── electron/                   # मुख्य Electron प्रक्रिया
│   ├── web/                       # रेंडरर प्रक्रिया (Vue 3 + TypeScript)
│   ├── preload/                   # Electron के लिए प्रीलोड स्क्रिप्ट
│   └── docs/                      # VitePress दस्तावेज़ीकरण साइट
├── universal/                      # साझा लाइब्रेरीज़ और सिस्टम
│   ├── terminal-system/           # टर्मिनल एमुलेशन और प्रबंधन
│   ├── storage/                   # स्टोरेज एब्स्ट्रैक्शन लेयर
│   ├── git-genius/               # Git संचालन और टाइमलाइन
│   ├── shared-rendering/         # साझा रेंडरिंग यूटिलिटीज़
│   └── shared-utils/             # सामान्य यूटिलिटीज़
├── tooling/                       # डेवलपमेंट और बिल्ड टूल्स
│   ├── vite-plugin/              # कस्टम Vite प्लगइन्स
│   ├── translation-system/       # i18n और ट्रांसलेशन टूल्स
│   └── puppeteer-google-translate/ # स्वचालित अनुवाद
├── scripts/                       # बिल्ड, टेस्ट और यूटिलिटी स्क्रिप्ट
├── brand/                         # ब्रांड एसेट्स (लोगो, आइकन, आदि)
└── types/                         # साझा TypeScript टाइप परिभाषाएं

योगदान के तरीके

बग रिपोर्ट करना

बग रिपोर्ट करते समय, कृपया शामिल करें:

  • स्पष्ट विवरण: क्या हुआ बनाम आपने क्या अपेक्षा की थी
  • पुनर्निर्माण के चरण: समस्या को फिर से बनाने के लिए विस्तृत चरण
  • वातावरण: OS, Node.js संस्करण, pnpm संस्करण
  • स्क्रीनशॉट: यदि लागू हो, तो दृश्य साक्ष्य शामिल करें

मुद्दे बनाते समय हमारे बग रिपोर्ट टेम्पलेट का उपयोग करें।

फीचर अनुरोध

हम फीचर अनुरोधों का स्वागत करते हैं! कृपया शामिल करें:

  • उपयोग का मामला: इस फीचर की आवश्यकता क्यों है?
  • प्रस्तावित समाधान: यह कैसे काम करना चाहिए?
  • विकल्प: आपने कौन से अन्य दृष्टिकोण पर विचार किया?

हमारे फीचर अनुरोध टेम्पलेट का उपयोग करें।

कोड योगदान

शुरू करने से पहले

  1. मौजूदा मुद्दों की जांच करें: संबंधित मुद्दों या फीचर अनुरोधों की तलाश करें
  2. प्रमुख परिवर्तनों पर चर्चा करें: महत्वपूर्ण परिवर्तनों पर चर्चा करने के लिए एक मुद्दा खोलें
  3. छोटी शुरुआत करें: छोटे, केंद्रित योगदानों से शुरुआत करें

डेवलपमेंट वर्कफ़्लो

  1. एक ब्रांच बनाएं

    bash
    git checkout -b feature/your-feature-name
  2. परिवर्तन करें

    • हमारे कोडिंग मानकों का पालन करें (नीचे देखें)
    • नई कार्यक्षमता के लिए टेस्ट लिखें
    • आवश्यकतानुसार दस्तावेज़ीकरण अपडेट करें
  3. अपने परिवर्तनों का परीक्षण करें

    bash
    pnpm build
    pnpm test
  4. अपने परिवर्तनों को कमिट करें

    bash
    git commit -m "feat: add amazing new feature"

    हम Conventional Commits फॉर्मेट का पालन करते हैं।

  5. पुश करें और PR बनाएं

    bash
    git push origin feature/your-feature-name

कोडिंग मानक

Hatcher पूरे प्रोजेक्ट में निरंतरता, रखरखाव क्षमता और उच्च गुणवत्ता वाले कोड को सुनिश्चित करने के लिए सख्त कोडिंग मानकों का पालन करता है।

📋 पूर्ण कोडिंग मानक गाइड

त्वरित संदर्भ

TypeScript

  • स्ट्रिक्ट मोड सक्षम के साथ सभी नए कोड के लिए TypeScript का उपयोग करें
  • ऑब्जेक्ट शेप्स के लिए टाइप्स के बजाय इंटरफेस को प्राथमिकता दें
  • वेरिएबल्स और फ़ंक्शंस के लिए अर्थपूर्ण, वर्णनात्मक नाम का उपयोग करें
  • सभी पब्लिक API के लिए JSDoc टिप्पणियां शामिल करें

Vue.js

  • <script setup> सिंटैक्स के साथ Composition API का उपयोग करें
  • TypeScript इंटरफेस के साथ props और emits को परिभाषित करें
  • पुन: प्रयोज्य लॉजिक के लिए composables को प्राथमिकता दें
  • सिंगल-फाइल कंपोनेंट संरचना का पालन करें: script → template → style

स्टाइलिंग

  • कंपोनेंट-विशिष्ट CSS के लिए स्कोप्ड स्टाइल्स का उपयोग करें
  • क्लास नामकरण के लिए BEM मेथोडोलॉजी का पालन करें
  • थीमिंग के लिए CSS कस्टम प्रॉपर्टीज़ का उपयोग करें
  • लेआउट के लिए flexbox और CSS Grid को प्राथमिकता दें

Git कन्वेंशन

  • Conventional Commits फॉर्मेट का पालन करें
  • वर्णनात्मक ब्रांच नामों का उपयोग करें: feature/, fix/, docs/, refactor/
  • कमिट को परमाणु रखें और एकल परिवर्तन पर केंद्रित रखें

कोड गुणवत्ता टूल्स

हम मानकों को लागू करने के लिए स्वचालित टूल्स का उपयोग करते हैं:

bash
# कोड स्टाइल मुद्दों को लिंट और फिक्स करें
pnpm lint:fix

# टाइप चेकिंग
pnpm typecheck

# सभी टेस्ट चलाएं
pnpm test

# कोड फॉर्मेट करें
pnpm format

प्री-कमिट हुक

Husky प्रत्येक कमिट से पहले स्वचालित जांच चलाता है:

  • कोड गुणवत्ता के लिए ESLint
  • TypeScript संकलन
  • फॉर्मेटिंग के लिए Prettier
  • महत्वपूर्ण पथों के लिए यूनिट टेस्ट

विस्तृत दिशानिर्देशों, उदाहरणों और सर्वोत्तम प्रथाओं के लिए, हमारे कोडिंग मानक दस्तावेज़ीकरण देखें।

दस्तावेज़ीकरण

दस्तावेज़ीकरण के प्रकार

  • कोड टिप्पणियां: जटिल लॉजिक को समझाएं
  • README फाइलें: अवलोकन और सेटअप निर्देश
  • API दस्तावेज़ीकरण: पब्लिक इंटरफेस दस्तावेज़ित करें
  • उपयोगकर्ता गाइड: अंतिम उपयोगकर्ताओं के लिए हाउ-टू गाइड

लेखन दिशानिर्देश

  • स्पष्ट, संक्षिप्त भाषा का उपयोग करें
  • कोड उदाहरण शामिल करें
  • कोड परिवर्तनों के साथ दस्तावेज़ीकरण को अप-टू-डेट रखें
  • सभी कोड उदाहरणों का परीक्षण करें

पुल रिक्वेस्ट प्रक्रिया

सबमिट करने से पहले

  • [ ] कोड प्रोजेक्ट मानकों का पालन करता है
  • [ ] टेस्ट स्थानीय रूप से पास होते हैं
  • [ ] दस्तावेज़ीकरण अपडेट किया गया है
  • [ ] परिवर्तन केंद्रित और परमाणु हैं

PR विवरण टेम्पलेट

markdown
## विवरण

परिवर्तनों का संक्षिप्त विवरण

## परिवर्तन का प्रकार

- [ ] बग फिक्स
- [ ] नई फीचर
- [ ] ब्रेकिंग परिवर्तन
- [ ] दस्तावेज़ीकरण अपडेट

## टेस्टिंग

- [ ] यूनिट टेस्ट जोड़े/अपडेट किए गए
- [ ] इंटीग्रेशन टेस्ट जोड़े/अपडेट किए गए
- [ ] मैनुअल टेस्टिंग पूर्ण

## स्क्रीनशॉट (यदि लागू हो)

UI परिवर्तनों के लिए बिफोर/आफ्टर स्क्रीनशॉट शामिल करें

समीक्षा प्रक्रिया

  1. स्वचालित जांच: CI/CD पास होना चाहिए
  2. कोड समीक्षा: कम से कम एक मेंटेनर समीक्षा
  3. टेस्टिंग: डेवलपमेंट वातावरण में परिवर्तनों का परीक्षण
  4. दस्तावेज़ीकरण: सत्यापित करें कि दस्तावेज़ अपडेट किए गए हैं
  5. मर्ज: स्वीकृत PR को स्क्वैश और मर्ज करें

रिलीज प्रक्रिया

संस्करण

हम Semantic Versioning का पालन करते हैं:

  • MAJOR: ब्रेकिंग परिवर्तन
  • MINOR: नई फीचर्स (बैकवर्ड कम्पैटिबल)
  • PATCH: बग फिक्सेस (बैकवर्ड कम्पैटिबल)

रिलीज वर्कफ़्लो

  1. फीचर फ्रीज: नई फीचर्स स्वीकार करना बंद करें
  2. टेस्टिंग: व्यापक टेस्टिंग चरण
  3. दस्तावेज़ीकरण: चेंजलॉग और दस्तावेज़ अपडेट करें
  4. रिलीज: टैग की गई रिलीज बनाएं
  5. घोषणा: समुदाय को परिवर्तनों के बारे में सूचित करें

समुदाय

संचार चैनल

  • GitHub Issues: बग रिपोर्ट और फीचर अनुरोध
  • GitHub Discussions: सामान्य प्रश्न और विचार
  • Discord: समुदाय के साथ रीयल-टाइम चैट
  • Twitter: अपडेट के लिए @HatcherDX फॉलो करें

समुदाय दिशानिर्देश

  • सम्मानजनक बनें: सभी के साथ सम्मान से व्यवहार करें
  • रचनात्मक बनें: समस्याओं पर नहीं, समाधानों पर ध्यान केंद्रित करें
  • धैर्यवान बनें: याद रखें कि हम सभी स्वयंसेवक हैं
  • सहायक बनें: ज्ञान साझा करें और दूसरों की मदद करें

मान्यता

हम सभी योगदानों की सराहना करते हैं! योगदानकर्ताओं को मान्यता प्राप्त है:

  • CONTRIBUTORS.md: सभी प्रोजेक्ट योगदानकर्ताओं की सूची
  • रिलीज नोट्स: प्रमुख योगदानों को हाइलाइट किया गया
  • सोशल मीडिया: समुदाय योगदानों को फीचर किया गया

डेवलपमेंट संसाधन

उपयोगी लिंक

डेवलपमेंट टूल्स

  • VS Code: Vue और TypeScript एक्सटेंशन के साथ अनुशंसित एडिटर
  • Vue DevTools: Vue एप्लिकेशन डिबग करने के लिए ब्राउज़र एक्सटेंशन
  • Electron DevTools: अंतर्निहित डिबगिंग टूल्स

प्रश्न?

यदि आपके योगदान के बारे में प्रश्न हैं:

  1. मौजूदा GitHub Discussions देखें
  2. हमारे Discord समुदाय में शामिल हों
  3. एक नई चर्चा या मुद्दा बनाएं

Hatcher में योगदान करने के लिए धन्यवाद! साथ में, हम AI-सहायक विकास के भविष्य का निर्माण कर रहे हैं।

अपनी छाप छोड़ने के लिए तैयार हैं?

AI युग के लिए Constitutional IDE बनाने वाले समुदाय में शामिल हों