सीधे मुख्य कॉन्टेंट पर जाएँ
menumenu tanreiexpand_morecontrasttranslate
tanreiexpand_more
शुरुआत करेंWebReactSwiftUIJetpack ComposeFlutterReact Nativeप्रीसेटआपका अपना डिज़ाइन सिस्टमAI एजेंट के साथ Tanrei का इस्तेमालब्रांडडिज़ाइन टोकनडिज़ाइन सिस्टम और कस्टमाइज़ेशनTheme Studioरंगटाइपोग्राफ़ीआइकनशेपएलिवेशनमोशनइंटरैक्शन स्टेटव्यवहारलेआउटसुलभताशब्दकलर टोकनटाइप स्केल टोकनशेप टोकनएलिवेशन टोकनमोशन टोकनस्टेट टोकनस्पेस और माप के टोकनकंपोनेंटबटनमुख्य ऐक्शन बटनसेगमेंटेड बटनबटन ग्रुपमेन्यू वाला बटनटूलबारकॉपी बटनचेकबॉक्सरेडियो बटनस्विचचिपमेन्यूस्लाइडरस्लाइडर फ़ील्डकैलेंडरDateTimePickerफ़ील्ड ग्रुपरेडियो ग्रुपचेकबॉक्स ग्रुपसिलेक्टसिलेक्ट फ़ील्डमेन्यू बारफ़ाइल अपलोडफ़ाइल पिकर उन्नतड्रॉप ज़ोनटेक्स्ट इनपुट उन्नतटेक्स्ट फ़ील्डचिप फ़ील्डफ़ील्डकॉम्बोबॉक्स उन्नतकॉम्बोबॉक्स फ़ील्डनंबर इनपुट उन्नतनंबर फ़ील्डकलर इनपुट उन्नतकलर फ़ील्डवन-टाइम कोड इनपुट उन्नतवन-टाइम कोड फ़ील्डएम्बेडेड टेक्स्ट इनपुट उन्नतचैट कंपोज़रकार्डडिवाइडरमोडल लेयर उन्नतडायलॉगलिस्टलिस्ट पंक्तिबॉटम शीटसाइड शीटकैरसेलकोड ब्लॉकटेबलपॉपओवरचरणअकॉर्डियनडिस्क्रिप्शन लिस्टफ़िगरऐप शेलपेज हेडरट्री व्यूटाइमलाइनइमेज प्रीव्यूसाइज़ हैंडलसाइज़ बदलने वाला फ़्रेमस्क्रॉल एरियाबैजप्रोग्रेस इंडिकेटरमीटरनंबर टिकरलोडिंग इंडिकेटरस्नैकबारटूलटिपकीबोर्ड शॉर्टकटटैगइनलाइन कोडकॉलआउटअवतारख़ाली स्टेटटैग ग्रुपस्केलेटनफ़ाइल आइटमस्वॉचमार्की टेक्स्टटैबटैब व्यूऐप बारनेविगेशन बारनेविगेशन ड्रॉअरखोजलिंकपेजिनेशनपिछला और अगला लिंकस्टेपरब्रेडक्रंबविषय सूचीलिंक कार्डFAB मेन्यूस्थितिTanrei कैसे बनता हैयोगदानलाइसेंस और श्रेय
होमप्रोजेक्टयोगदान

योगदान

Tanrei बाहरी योगदान क्यों स्वीकार नहीं करता, बग की रिपोर्ट कैसे करें या सवाल कैसे पूछें, और नियम कहाँ लिखे हैं।

content_copyMarkdown में देखें

बाहरी योगदान स्वीकार नहीं किए जाते

रिपॉज़िटरी सार्वजनिक है: github.com/chnotchy/tanrei, ताकि कोई भी पढ़ सके कि Tanrei कैसे बनता है। हर बदलाव मेंटेनर करते हैं: बाहर से आई पुल रिक्वेस्ट बिना मर्ज किए बंद कर दी जाती हैं, और नए कंपोनेंट या टोकन के प्रस्ताव नहीं लिए जाते। कारण सप्लाई चेन की सुरक्षा है: Tanrei दूसरों के प्रोडक्ट के भीतर चलने वाला कोड है, बाहर से आया हर बदलाव ऐसे कोड के उन प्रोडक्ट तक पहुँचने का रास्ता है जिसे मेंटेनरों ने नहीं लिखा, और सुरक्षा की आज की स्थिति को देखते हुए यह प्रोजेक्ट वह जोखिम नहीं उठाता। बग की रिपोर्ट करने या सवाल पूछने के लिए एक इश्यू खोलें। सुरक्षा से जुड़ी समस्या की रिपोर्ट निजी तौर पर करें, जैसा रिपॉज़िटरी की SECURITY.md बताती है, कभी किसी इश्यू में नहीं।

नियम कहाँ लिखे हैं

रिपॉज़िटरी के रूट की AGENTS.md रिपॉज़िटरी में बदलाव करने वाले हर किसी के लिए आधिकारिक गाइड है, चाहे वह इंसान हो या AI। यह छोटी है, और इसे पहले पढ़ लेने से समय बचेगा। हर पैकेज और सोर्स डायरेक्टरी स्थानीय नियमों वाली एक नेस्टेड AGENTS.md जोड़ सकती है; सबसे पास की फ़ाइल लागू होती है, और इनमें से कोई भी रूट के नियमों को कमज़ोर नहीं कर सकती। रूट की CONTRIBUTING.md इसका विस्तृत रूप है।

विस्तार से लिखी सामग्री रिपॉज़िटरी की docs/ डायरेक्टरी में है: आर्किटेक्चर का अवलोकन, और गवर्नेंस, जो बताती है कि कौन क्या तय करता है।

बदलाव का रूप

हर बदलाव इन्हीं चरणों से गुज़रता है, चाहे उसे कोई भी करे।

  1. सोर्स ऑफ़ ट्रुथ से शुरू करें। कंपोनेंट की सार्वजनिक सतह के बदलाव specs/ में शुरू होते हैं। किसी डिज़ाइन मान के बदलाव tokens/ में शुरू होते हैं। प्लैटफ़ॉर्म का कोड उसके बाद आता है।
  2. जाँचें लोकल में चलाएँ। pnpm validate, pnpm generate, फिर pnpm check। अगर ड्रिफ़्ट जाँच विफल हो, तो दोबारा जनरेट करें; जनरेट की गई फ़ाइल को संपादित न करें।
  3. प्लैटफ़ॉर्म के बारे में सच्चे रहें। अगर आप कोई प्लैटफ़ॉर्म पूरा नहीं कर सकते, तो उसकी स्थिति वैसी ही छोड़ें जैसी वह वास्तव में है। मैट्रिक्स रिपॉज़िटरी से जनरेट होती है और उसे जितना मौजूद है उससे ज़्यादा का दावा नहीं करना चाहिए।
  4. changeset जोड़ें, हर उस चीज़ के लिए जो लोगों को दिखती है, और Conventional Commits इस्तेमाल करें (feat(web): …, fix(tokens): …, docs: …)।

जो किसी भी बदलाव में नहीं होना चाहिए

  • कंपोनेंट के भीतर हार्डकोड किए हुए रंग, रेडियस, टाइप, स्पेसिंग, मोशन या ओपैसिटी।
  • टेस्ट पास कराने के लिए अपडेट की गई स्नैपशॉट बेसलाइन।
  • ढीले किए गए कंट्रास्ट या सुलभता के थ्रेशोल्ड।
  • किसी दूसरे डिज़ाइन सिस्टम से कॉपी किया गया दस्तावेज़ का टेक्स्ट। Tanrei का सारा गद्य मौलिक है।

दस्तावेज़ में बदलाव

यह साइट apps/docs/ में है। गद्य हाथ से लिखा MDX है: अंग्रेज़ी स्रोत है, और हर पेज का साइट की बाक़ी भाषाओं में अनुवाद होता है (apps/docs/i18n/README.md उनकी सूची देती है, और बताती है कि अनुवाद यह कैसे दर्ज करता है कि वह किससे बना)। जो टेबल कोई स्पेक, टोकन फ़ाइल या स्थिति मैट्रिक्स दे सकती है, वे उसी डेटा से रेंडर होती हैं और कभी हाथ से टाइप नहीं की जातीं। स्थानीय नियमों के लिए apps/docs/AGENTS.md देखें।