المساهمة
لماذا لا يقبل Tanrei مساهمات من خارج المشروع، وكيف تبلّغ عن خلل أو تطرح سؤالًا، وأين توجد القواعد.
لا تُقبل المساهمات من خارج المشروع
المستودع عام على
github.com/chnotchy/tanrei، ليتمكّن أي أحد من قراءة كيف يُصنع Tanrei. المشرفون على المشروع هم من يُجرون كل التغييرات: تُغلق طلبات السحب (pull requests) الآتية من الخارج دون دمجها، ولا تُقبل اقتراحات مكوّنات أو رموز جديدة. والسبب أمن سلسلة التوريد: Tanrei شيفرة تعمل داخل منتجات الآخرين، وكل تغيير من الخارج طريقٌ تصل منه إلى تلك المنتجات شيفرةٌ لم يكتبها المشرفون، ونظرًا إلى الوضع الأمني الراهن لا يتحمّل المشروع هذا الخطر. للتبليغ عن خلل أو لطرح سؤال،
افتح قضية. وبلِّغ عن أي مشكلة أمنية على انفراد، كما يصف الملف SECURITY.md في المستودع، ولا تبلّغ عنها في قضية أبدًا.
الملف AGENTS.md في جذر المستودع هو الدليل المعتمد لكل من يغيّر المستودع، بشرًا كان أو ذكاءً اصطناعيًّا. هو قصير، وقراءته أولًا توفّر الوقت. يجوز لكل حزمة ولكل مجلد مصدر أن يضيف AGENTS.md داخليًّا فيه قواعد محلية؛ يسري أقرب ملف، ولا يجوز لأيٍّ منها أن يُضعف ملف الجذر. والملف CONTRIBUTING.md في الجذر هو صيغته المطوَّلة.
المواد الأطول موجودة تحت المجلد docs/ في المستودع: النظرة العامة على المعمارية، والحوكمة التي تقول من يقرر ماذا.
كل تغيير يتبع هذه الخطوات، أيًّا كان من يُجريه.
- ابدأ من مصدر الحقيقة. التغييرات على السطح العام لمكوّن تبدأ في
specs/. والتغييرات على قيمة تصميم تبدأ فيtokens/. ثم تتبعها شيفرة المنصات. - شغِّل الفحوص محليًّا.
pnpm validateثمpnpm generateثمpnpm check. إذا فشل فحص الانحراف فأعد التوليد؛ ولا تحرّر الملف المولَّد. - أبقِ المنصات صادقة. إذا لم تستطع إتمام منصة فاترك حالتها كما هي حقًّا. المصفوفة مولَّدة من المستودع ويجب ألا تدّعي أكثر مما هو موجود.
- أضف changeset لكل ما يراه المستخدمون، واستخدم Conventional Commits (
feat(web): …،fix(tokens): …،docs: …).
- ألوان أو أنصاف أقطار أو قيم طباعة أو تباعد أو حركة أو عتامة مكتوبة مباشرة داخل مكوّن.
- صور مرجعية للقطات حُدِّثت لكي ينجح اختبار.
- عتبات تباين أو إمكانية وصول خُفِّفت.
- نص توثيق منسوخ من نظام تصميم آخر. كل نصوص Tanrei أصلية.
هذا الموقع موجود في apps/docs/. النصوص MDX مكتوبة باليد: الإنجليزية هي المصدر، وتُترجم كل صفحة إلى لغات الموقع الأخرى (الملف apps/docs/i18n/README.md يسردها، ويبيّن كيف تسجّل الترجمة ما صُنعت منه). والجداول التي يمكن أن توفّرها مواصفة أو ملف رموز (tokens) أو مصفوفة الحالة تُعرض من تلك البيانات ولا تُكتب باليد أبدًا. انظر apps/docs/AGENTS.md للقواعد المحلية.