منصوبے کے بارے میں

Keybase/client Keybase کلائنٹ ایکو سسٹم کی سرکاری سورس ریپوزٹری ہے۔ یہ بنیادی Go لائبریریاں (کرپٹو پرائمٹوز، Keybase سروس، اور `keybase` کمانڈ لائن کلائنٹ) کے ساتھ ساتھ ہر بڑے پلیٹ فارم کے لیے صارف کے سامنے آنے والی ایپلیکیشنز کو یکجا کرتی ہے: `osx/` کے تحت ایک macOS نیٹو ایپ، `shared/desktop` کے تحت Electron پر بنی کراس پلیٹ فارم ڈیسک ٹاپ ایپ، اور `shared/{ios,android}` کے تحت iOS اور Android کے لیے موبائل ایپس جو React Native میں لکھی گئی ہیں تاکہ React کوڈ ڈیسک ٹاپ اور موبائل کے درمیان مشترک ہو۔ `protocol/` ڈائریکٹری Avro پر مبنی وائر پروٹوکول کی تعریف کرتی ہے جو کلائنٹس Keybase سروسز سے بات کرنے کے لیے استعمال کرتے ہیں، `packaging/` میں ہر پلیٹ فارم کے لیے ریلیز اسکرپٹس (بشمول Linux کے لیے ایک Docker امیج) موجود ہیں، اور `media/` میں آئیکنز اور گرافکس محفوظ ہیں۔ README واضح طور پر بتاتا ہے کہ درخت کے کچھ حصے تجربات ہیں اور سورس سے بلڈ کرنا ممکن ہے کہ مکمل طور پر کام کرنے والی ایپ نہ بنائے؛ جو صارفین صرف Keybase انسٹال کرنا چاہتے ہیں انہیں سرکاری ریلیز صفحے کی طرف رجوع کیا جاتا ہے۔ شراکت داروں سے توقع ہے کہ وہ pre-commit.com کے ذریعے pre-commit ہکس انسٹال کریں، اور بیرونی پل ریکویسٹ Jenkins CI کے ذریعے اس وقت تک بلڈ نہیں کیے جاتے جب تک Keybase ٹیم کا کوئی رکن ان کا جائزہ نہ لے، کیونکہ غیر جائزہ شدہ کوڈ کو بلڈ کرنا سیکیورٹی خطرہ سمجھا جاتا ہے۔ مسائل GitHub پر ٹریک کیے جاتے ہیں، ویب سائٹ کے مسائل کے لیے ایک الگ `keybase-issues` ٹریکر اور CLI کے لیے ایک ٹربل شوٹنگ دستاویز موجود ہے۔ زیادہ تر کوڈ New BSD 3-Clause License کے تحت جاری کیا گیا ہے، جہاں نوٹ کیا گیا ہو وہاں ذیلی ڈائریکٹری کے مخصوص لائسنس کو ترجیح حاصل ہوتی ہے۔ ریپوزٹری میں کرپٹوگرافک سافٹ ویئر کے برآمد کے بارے میں ایک معیاری نوٹس (ECCN 5D002.C.1، TSU استثنا) بھی شامل ہے جو صارفین کو یاد دلاتا ہے کہ انکرپشن کوڈ استعمال کرنے سے پہلے اپنے مقامی قوانین چیک کریں۔