Skip to content

📑 विषय सूची

Carch में योगदान

हम इस बात से उत्साहित हैं कि आप Carch में योगदान देने में रुचि रखते हैं! सभी प्रकार के योगदान स्वागत हैं, चाहे आप बग फिक्स कर रहे हों, नई फीचर्स जोड़ रहे हों, या डॉक्यूमेंटेशन में सुधार कर रहे हों। शुरुआत करने के लिए इस गाइड का पालन करें।

WARNING

कोई भी योगदान करने से पहले, पहले Feature Request सेक्शन में एक इश्यू खोलें। इम्प्लीमेंटेशन के साथ आगे बढ़ने से पहले हम वहाँ बदलावों पर चर्चा करेंगे।

📌 कोडबेस को समझें

NOTE

योगदान करने से पहले, Carch की संरचना को समझें:

  • Carch की मुख्य Rust फाइलें यहाँ स्थित हैं: src
sh
src/
├── ui/
   ├── app.rs
   ├── mod.rs
   ├── popups.rs
   └── render.rs 
├── main.rs 
├── commands.rs
├── display.rs
├── script_list.rs 
└── version.rs
  • सभी modules स्क्रिप्ट श्रेणी के अनुसार व्यवस्थित हैं:
sh
modules/
├── Browser/     # ब्राउज़र संबंधित स्क्रिप्ट
├── Desktop/     # डेस्कटॉप एनवायरनमेंट संबंधित स्क्रिप्ट
├── Development/ # डेवलपमेंट टूल्स स्क्रिप्ट
├── System/      # सिस्टम कॉन्फ़िगरेशन स्क्रिप्ट
└── Terminal/    # टर्मिनल सेटअप स्क्रिप्ट

IMPORTANT

सबसे पहले, कोई भी बदलाव करने से पहले स्क्रिप्ट कैसे काम करती है इसका विश्लेषण करें। यदि आप प्रोजेक्ट में सुधार या जोड़ना चाहते हैं, तो सुनिश्चित करें कि आप संरचना को समझते हैं और प्रत्येक हिस्सा कैसे इंटरैक्ट करता है। यह आपको प्रोजेक्ट के डिज़ाइन के अनुकूल तरीके से योगदान करने में मदद करेगा।

sh
कमिट करने के लिए, इस तरह के लेबल का उपयोग करें
feat: your-commit-message या fix: your-commit-message।

वैसे, कमिट करने से पहले अगर आप कोई .sh या Bash स्क्रिप्ट फ़ाइल बदल रहे हैं, तो scripts/ डायरेक्टरी को चेक करें और ./check.sh चलाएं ताकि किसी भी अतिरिक्त सफेद या खाली स्पेस का पता चल सके। अगर यह फेल हो जाए तो ./cleanup.sh चलाएं। यह सिर्फ Bash स्क्रिप्ट्स के लिए है।
Rust फ़ाइलों में बदलाव के लिए, cargo fmt --all --check चलाना सुनिश्चित करें। अगर सुझाव आएं तो cargo fmt --all चलाएं।
साथ ही cargo clippy और cargo clippy -- -Dwarnings चलाकर यह सुनिश्चित करें कि कोई त्रुटि न बची हो। धन्यवाद।

Conventional Commits के बारे में अधिक जानकारी के लिए, इस गाइड को देखें।

यदि आपके कोई प्रश्न हैं या मदद की जरूरत है, तो हमसे संपर्क करने में संकोच न करें:
📧 ईमेल: [email protected]
💬 Discord: यहाँ शामिल हों

योगदान के चरण

1. 🍽️ रिपॉजिटरी को Fork करें

  • Carch GitHub पेज पर जाएं।
  • रिपॉजिटरी की अपनी कॉपी बनाने के लिए ऊपरी दाएं कोने में Fork बटन पर क्लिक करें।

2. 🌿 Forked रिपॉजिटरी को Clone करें

  • अपने लोकल सिस्टम में रिपॉजिटरी को clone करने के लिए निम्नलिखित कमांड का उपयोग करें:

    bash
    git clone https://github.com/your-username/carch.git
  • your-username को अपने GitHub username से बदलें।

💡 सुझाव

आप GitHub Desktop जैसे GUI टूल या GitHub वेब इंटरफ़ेस का भी उपयोग कर सकते हैं रिपॉजिटरी को fork और clone करने के लिए। ये टूल आपके योगदान को मैनेज करने के लिए उपयोग में आसान विजुअल इंटरफ़ेस प्रदान करते हैं।

3. 🌱 मूल रिपॉजिटरी को Upstream के रूप में सेट करें

  • अपने fork को अपडेट रखने के लिए मूल Carch रिपॉजिटरी को upstream remote के रूप में जोड़ें:

    bash
    cd carch
    bash
    git remote add upstream https://github.com/original-author/carch.git

4. 🍇 नई Feature Branch बनाएं

  • बदलाव करने से पहले, वर्णनात्मक नाम के साथ एक नई branch बनाएं:

    bash
    git checkout -b feature/your-branch-name
  • Branch नामों के उदाहरण:

    • feature/add-new-script
    • bugfix/fix-installation-issue

5. 🔧 अपने बदलाव करें

  • कोड या डॉक्यूमेंटेशन में आवश्यक बदलाव implement करें।
  • सुनिश्चित करें कि आपके बदलाव स्पष्ट हैं, परीक्षित हैं और प्रोजेक्ट के coding standards का पालन करते हैं।

6. 📝 अपने बदलावों को Stage और Commit करें

  • संशोधित फाइलों को staging area में जोड़ें:

    bash
    git add .
  • स्पष्ट संदेश के साथ अपने बदलावों को commit करें:

    bash
    git commit -m "Add: [आपके बदलावों का संक्षिप्त विवरण]"

7. 🚀 बदलावों को अपने Fork में Push करें

  • अपनी branch को forked रिपॉजिटरी में push करें:

    bash
    git push origin feature/your-branch-name

8. 📥 Pull Request (PR) सबमिट करें

  • GitHub पर मूल Carch रिपॉजिटरी पर जाएं।
  • New Pull Request पर क्लिक करें।
  • ड्रॉपडाउन से अपनी branch चुनें और अपने बदलावों का विस्तृत विवरण दें।
  • समीक्षा के लिए PR सबमिट करें!

📚 Carch डॉक्स में योगदान

Carch Docsयहाँ लाइव है

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

आप इस तरह योगदान कर सकते हैं:

  • 🪛 मौजूदा गाइड में टाइपो या गलतियों को ठीक करना
  • 🌐 डॉक्यूमेंटेशन को अन्य भाषाओं में अनुवाद करना (अत्यधिक प्रोत्साहित!)

🌍 डॉक्यूमेंटेशन का अनुवाद

Carch को दुनिया भर के उपयोगकर्ताओं के लिए सुलभ बनाने में मदद करना चाहते हैं? डॉक्स का अनुवाद करने में हमारी मदद करें!

यदि आप नई भाषा का योगदान दे रहे हैं, तो इन चरणों का पालन करें:

  1. 📁 docs/ डायरेक्टरी के अंदर अपनी भाषा के लिए एक नया फ़ोल्डर बनाएं। ISO 639-1 codes का उपयोग करें (जैसे fr, es, hi, आदि)।
  2. 🛠️ नए फ़ोल्डर के अंदर Markdown सामग्री का अनुवाद करें।
  3. 🧩 docs/.vitepress/config.ts को संशोधित करें:
    • locales सेक्शन में अपनी भाषा जोड़ें।
    • नेवीगेशन के लिए label, lang, और link प्रदान करें।

🧪 अपने बदलावों को स्थानीय रूप से परीक्षण करना

अपने बदलावों का पूर्वावलोकन करने के लिए:

sh
bun install
bun run docs:dev

IMPORTANT

यदि आप मुख्य संरचनात्मक या संगठनात्मक बदलाव करने की योजना बना रहे हैं तो कृपया पहले एक इश्यू खोलें। हम पहले से ही इस पर चर्चा और सहयोग करना चाहेंगे!

🧾 कमिट स्टाइल

स्पष्ट कमिट संदेशों का उपयोग करें:

sh
git commit -m "fix(docs): इंस्टॉलेशन गाइड में टाइपो ठीक करें"
git commit -m "feat(docs): हिंदी अनुवाद जोड़ें"

Conventional Commits पर अधिक।

🙌 डॉक्यूमेंटेशन को बेहतर बनाने में मदद करने के लिए धन्यवाद!

दिशानिर्देश

कोड गुणवत्ता

  • प्रोजेक्ट की मौजूदा coding style का पालन करें।
  • स्पष्ट, संक्षिप्त और अच्छी तरह से डॉक्यूमेंट किया गया कोड लिखें।

परीक्षण

  • अपने बदलावों को स्थानीय रूप से परीक्षण करें ताकि यह सुनिश्चित हो सके कि वे अपेक्षित रूप से काम करते हैं।
  • यदि आपके बदलाव नई सुविधाएं पेश करते हैं, तो जहाँ लागू हो वहाँ आवश्यक परीक्षण जोड़ें।

डॉक्यूमेंटेशन

  • यदि आपके बदलावों में नई कार्यक्षमता शामिल है, तो संबंधित डॉक्यूमेंटेशन को अपडेट करें।
  • सुनिश्चित करें कि README या Wiki आपके अपडेट को दर्शाता है।

अपने Fork को Sync करना

  • संघर्षों से बचने के लिए अपने fork को अपडेटेड रखें:

    bash
    git fetch upstream
    bash
    git merge upstream/main
    • यदि रिपॉजिटरी की डिफ़ॉल्ट branch अलग है तो main को बदलें।

Carch में योगदान देने के लिए धन्यवाद! आपके प्रयास से यह प्रोजेक्ट सभी के लिए बेहतर बनता है।

MIT लाइसेंस के तहत जारी।