📑 विषय सूची
Carch में योगदान
हम इस बात से उत्साहित हैं कि आप Carch में योगदान देने में रुचि रखते हैं! सभी प्रकार के योगदान स्वागत हैं, चाहे आप बग फिक्स कर रहे हों, नई फीचर्स जोड़ रहे हों, या डॉक्यूमेंटेशन में सुधार कर रहे हों। शुरुआत करने के लिए इस गाइड का पालन करें।
WARNING
कोई भी योगदान करने से पहले, पहले Feature Request सेक्शन में एक इश्यू खोलें। इम्प्लीमेंटेशन के साथ आगे बढ़ने से पहले हम वहाँ बदलावों पर चर्चा करेंगे।
📌 कोडबेस को समझें
NOTE
योगदान करने से पहले, Carch की संरचना को समझें:
- Carch की मुख्य Rust फाइलें यहाँ स्थित हैं:
src
src/
├── ui/
│ ├── app.rs
│ ├── mod.rs
│ ├── popups.rs
│ └── render.rs
├── main.rs
├── commands.rs
├── display.rs
├── script_list.rs
└── version.rs
- सभी
modules
स्क्रिप्ट श्रेणी के अनुसार व्यवस्थित हैं:
modules/
├── Browser/ # ब्राउज़र संबंधित स्क्रिप्ट
├── Desktop/ # डेस्कटॉप एनवायरनमेंट संबंधित स्क्रिप्ट
├── Development/ # डेवलपमेंट टूल्स स्क्रिप्ट
├── System/ # सिस्टम कॉन्फ़िगरेशन स्क्रिप्ट
└── Terminal/ # टर्मिनल सेटअप स्क्रिप्ट
IMPORTANT
सबसे पहले, कोई भी बदलाव करने से पहले स्क्रिप्ट कैसे काम करती है इसका विश्लेषण करें। यदि आप प्रोजेक्ट में सुधार या जोड़ना चाहते हैं, तो सुनिश्चित करें कि आप संरचना को समझते हैं और प्रत्येक हिस्सा कैसे इंटरैक्ट करता है। यह आपको प्रोजेक्ट के डिज़ाइन के अनुकूल तरीके से योगदान करने में मदद करेगा।
कमिट करने के लिए, इस तरह के लेबल का उपयोग करें
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 करने के लिए निम्नलिखित कमांड का उपयोग करें:
bashgit clone https://github.com/your-username/carch.git
your-username
को अपने GitHub username से बदलें।
💡 सुझाव
आप GitHub Desktop
जैसे GUI टूल या GitHub वेब इंटरफ़ेस का भी उपयोग कर सकते हैं रिपॉजिटरी को fork और clone करने के लिए। ये टूल आपके योगदान को मैनेज करने के लिए उपयोग में आसान विजुअल इंटरफ़ेस प्रदान करते हैं।
3. 🌱 मूल रिपॉजिटरी को Upstream के रूप में सेट करें
अपने fork को अपडेट रखने के लिए मूल Carch रिपॉजिटरी को upstream remote के रूप में जोड़ें:
bashcd carch
bashgit remote add upstream https://github.com/original-author/carch.git
4. 🍇 नई Feature Branch बनाएं
बदलाव करने से पहले, वर्णनात्मक नाम के साथ एक नई branch बनाएं:
bashgit checkout -b feature/your-branch-name
Branch नामों के उदाहरण:
feature/add-new-script
bugfix/fix-installation-issue
5. 🔧 अपने बदलाव करें
- कोड या डॉक्यूमेंटेशन में आवश्यक बदलाव implement करें।
- सुनिश्चित करें कि आपके बदलाव स्पष्ट हैं, परीक्षित हैं और प्रोजेक्ट के coding standards का पालन करते हैं।
6. 📝 अपने बदलावों को Stage और Commit करें
संशोधित फाइलों को staging area में जोड़ें:
bashgit add .
स्पष्ट संदेश के साथ अपने बदलावों को commit करें:
bashgit commit -m "Add: [आपके बदलावों का संक्षिप्त विवरण]"
7. 🚀 बदलावों को अपने Fork में Push करें
अपनी branch को forked रिपॉजिटरी में push करें:
bashgit push origin feature/your-branch-name
8. 📥 Pull Request (PR) सबमिट करें
- GitHub पर मूल Carch रिपॉजिटरी पर जाएं।
- New Pull Request पर क्लिक करें।
- ड्रॉपडाउन से अपनी branch चुनें और अपने बदलावों का विस्तृत विवरण दें।
- समीक्षा के लिए PR सबमिट करें!
📚 Carch डॉक्स में योगदान
Carch Docs ➥ यहाँ लाइव है
🚀 योगदान के तरीके
आप इस तरह योगदान कर सकते हैं:
- 🪛 मौजूदा गाइड में टाइपो या गलतियों को ठीक करना
- 🌐 डॉक्यूमेंटेशन को अन्य भाषाओं में अनुवाद करना (अत्यधिक प्रोत्साहित!)
🌍 डॉक्यूमेंटेशन का अनुवाद
Carch को दुनिया भर के उपयोगकर्ताओं के लिए सुलभ बनाने में मदद करना चाहते हैं? डॉक्स का अनुवाद करने में हमारी मदद करें!
यदि आप नई भाषा का योगदान दे रहे हैं, तो इन चरणों का पालन करें:
- 📁
docs/
डायरेक्टरी के अंदर अपनी भाषा के लिए एक नया फ़ोल्डर बनाएं। ISO 639-1 codes का उपयोग करें (जैसेfr
,es
,hi
, आदि)। - 🛠️ नए फ़ोल्डर के अंदर Markdown सामग्री का अनुवाद करें।
- 🧩
docs/.vitepress/config.ts
को संशोधित करें:locales
सेक्शन में अपनी भाषा जोड़ें।- नेवीगेशन के लिए
label
,lang
, औरlink
प्रदान करें।
🧪 अपने बदलावों को स्थानीय रूप से परीक्षण करना
अपने बदलावों का पूर्वावलोकन करने के लिए:
bun install
bun run docs:dev
IMPORTANT
यदि आप मुख्य संरचनात्मक या संगठनात्मक बदलाव करने की योजना बना रहे हैं तो कृपया पहले एक इश्यू खोलें। हम पहले से ही इस पर चर्चा और सहयोग करना चाहेंगे!
🧾 कमिट स्टाइल
स्पष्ट कमिट संदेशों का उपयोग करें:
git commit -m "fix(docs): इंस्टॉलेशन गाइड में टाइपो ठीक करें"
git commit -m "feat(docs): हिंदी अनुवाद जोड़ें"
Conventional Commits पर अधिक।
🙌 डॉक्यूमेंटेशन को बेहतर बनाने में मदद करने के लिए धन्यवाद!
दिशानिर्देश
कोड गुणवत्ता
- प्रोजेक्ट की मौजूदा coding style का पालन करें।
- स्पष्ट, संक्षिप्त और अच्छी तरह से डॉक्यूमेंट किया गया कोड लिखें।
परीक्षण
- अपने बदलावों को स्थानीय रूप से परीक्षण करें ताकि यह सुनिश्चित हो सके कि वे अपेक्षित रूप से काम करते हैं।
- यदि आपके बदलाव नई सुविधाएं पेश करते हैं, तो जहाँ लागू हो वहाँ आवश्यक परीक्षण जोड़ें।
डॉक्यूमेंटेशन
- यदि आपके बदलावों में नई कार्यक्षमता शामिल है, तो संबंधित डॉक्यूमेंटेशन को अपडेट करें।
- सुनिश्चित करें कि README या Wiki आपके अपडेट को दर्शाता है।
अपने Fork को Sync करना
संघर्षों से बचने के लिए अपने fork को अपडेटेड रखें:
bashgit fetch upstream
bashgit merge upstream/main
- यदि रिपॉजिटरी की डिफ़ॉल्ट branch अलग है तो
main
को बदलें।
- यदि रिपॉजिटरी की डिफ़ॉल्ट branch अलग है तो
Carch में योगदान देने के लिए धन्यवाद! आपके प्रयास से यह प्रोजेक्ट सभी के लिए बेहतर बनता है।