تحويل مستودع GitHub إلى نص

حوّل مستودع GitHub إلى ملف نصي واحد يقرأه LLM. اختر الملفات المهمة، راقب عدد الرموز، ثم الصق النتيجة في ChatGPT أو Claude أو Gemini. مجانًا وبلا تسجيل.

GitHub الريبو إلى النص: تحويل مستودع كامل إلى ملف واحد يمكن لـ LLM قراءته

الصق عنوان URL GitHub أعلاه وستحصل على شجرة ملفات المستودع في قائمة مربعات الاختيار. ضع علامة على ماذا يهم، قم بإنشاء ملف نصي واحد: بنية الدليل في الأعلى، ثم كل منهما الملف المحدد أسفله، مفصولاً برأس مع مساره. هذا هو التنسيق الذي يعمل معه ChatGPT، Claude، Gemini، DeepSeek، أو أي شيء آخر تلصق فيه — يرى النموذج شكل المشروع والكود في نفس الوقت، حتى يتمكن من التفكير في كيفية تناسب القطع معًا بدلاً من ذلك التخمين من ملف واحد في عزلة.

لا يوجد شيء لاستنساخه، ولا شيء لتثبيته، ولا تسجيل، وهو مجاني. تتم قراءة الريبو من خلال GitHub API مباشرة من متصفحك، لذلك لا تحتاج إلى المشروع على جهازك على الإطلاق — وهو نقطة عندما تنظر إلى كود شخص آخر، أو التبعية التي تقوم بتقييمها، أو الريبو الذي قمت لقد تم منحه للتو إمكانية الوصول إلى.

الصق عنوان URL، بما في ذلك الفرع أو العلامة

السهل https://github.com/owner/repo يعمل النموذج ويمنحك الفرع الافتراضي. لكن يحمل عنوان URL أكثر من ذلك، وهو يستحق الاستخدام. انسخ شريط العناوين أثناء التصفح GitHub وأي شيء تنظر إليه يصادفك:

  • فرع/tree/develop أو فرع الميزة، حتى تتمكن من تحويل العمل قيد التقدم بدلاً من ما هو رئيسي.
  • علامة أو إصدار/tree/v2.1.0. مفيد عندما تسأل عن الإصدار الذي تشحنه بالفعل، أو قم بتمييز إصدارين في المحادثة عن طريق تحويل كل إصدار.
  • دليل فرعي/tree/main/packages/api. هذا هو الذي ينقذ أنت في monorepo. ابدأ بالحزمة التي تهتم بها والشجرة التي ستعود إليها موجودة بالفعل نطاق، بدلاً من عشرة آلاف ملف يجب عليك بعد ذلك إلغاء تحديدها.

إذا لم يكن الفرع أو المسار موجودًا، فسيتم إخبارك بالجزء الذي لم يتم حله، وهو عادةً ما يكون خطأ مطبعي في اسم فرع أو ريبو خاص بالرمز المميز الذي تستخدمه.

المستودعات الخاصة، وأين يذهب الرمز المميز الخاص بك

تعمل عمليات إعادة الشراء الخاصة باستخدام رمز الوصول الشخصي GitHub. قم بإنشاء واحد في مطور GitHub الخاص بك الإعدادات مع إمكانية الوصول للقراءة إلى المستودعات التي تحتاجها - رمز مميز دقيق النطاق مخصص لمستودع واحد يكفي، وهو الخيار الذي يستحق الأخذ به. قم بلصقه في حقل الرمز المميز وتقوم الشجرة بتحميل الملف بنفس الطريقة التي يفعلها الجمهور.

يتم الاحتفاظ بالرمز المميز في متصفحك localStorage حتى لا تعيد كتابتها في كل زيارة، و يذهب إلى مكان واحد بالضبط: api.github.com، في رؤوس الطلبات، من تلقاء نفسك آلة. لا يوجد حساب هنا لإرفاقه به ولا توجد واجهة خلفية خاصة بنا في المسار. امسح المجال ويتم إزالته من التخزين. على جهاز مشترك، قم بمسحه عند الانتهاء، وإذا أردت ذلك بالتأكيد، قم بإلغاء الرمز المميز في GitHub بعد ذلك - وهذا إجراء بنقرة واحدة ويكلفك لا شيء.

يساعد الرمز المميز أيضًا في عمليات إعادة الشراء العامة. طلبات واجهة برمجة التطبيقات GitHub غير المصادق عليها ذات معدل محدود إلى حد ما بقوة، لذلك إذا كنت تقوم بتحويل مستودع كبير، أو عدة مستودعات متتالية، فإن إضافة رمز مميز هو الحل الفرق بين العمل وبين الانتظار لمدة ساعة.

ما يجب إلغاء تحديده قبل الإنشاء

هذه هي الخطوة التي تقرر ما إذا كان الإخراج مفيدًا أم لا. يحتوي المستودع على الكثير من الملفات التي يتم تعقبها لأسباب وجيهة ولا تزال عديمة القيمة كسياق نموذجي. مر عبر الشجرة وأسقط:

  • التبعيات المباعةnode_modules، vendor، third_party. نادر في الريبو ولكنه مدمر عند وجوده. إنه مصدر الآخرين رمز، وسوف يغرق لك.
  • بناء الإخراجdist، build، out، .next، target، تقارير التغطية. الكود الخاص بك مرة أخرى، مترجم أو تم تصغيره، بحيث يقرأ النموذج كل شيء مرتين ولا يتعلم شيئًا جديدًا في المرة الثانية.
  • ملفات القفلpackage-lock.json، yarn.lock، poetry.lock، Cargo.lock. عشرات الآلاف من الرموز المميزة للتجزئة مع تقريبا لا معنى لهم. احتفظ بالبيان بدلاً من ذلك؛ package.json أو pyproject.toml هو ما يخبر النموذج بالمكدس الذي تستخدمه.
  • الكود الذي تم إنشاؤه - مخرجات protobuf وgRPC، وGraphQL codegen، وعملاء OpenAPI، عمليات ترحيل قاعدة البيانات واختبارات اللقطات. مكتوب آليًا ومتكرر ويدفع النموذج نحو الأمام تحرير الملفات التي يتم تجديدها على أي حال.
  • ملفات البيانات الكبيرة — التركيبات، ومقالب البذور، وعينات ملفات CSV، والحزم المصغرة الملتزم بها منذ سنوات. يمكن لأحد هذه العناصر أن يأكل نافذة السياق بمفردها.

التصفية حسب الامتداد هي الطريق السريع عندما يكون الريبو كبيرًا: ضيقًا .ts و .tsxأو .py، وقمت بقطع معظم الضوضاء بحركة واحدة. ثم أضف مرة أخرى مجموعة من ملفات التكوين والوثائق التي تشرح المشروع - README، التكوين الرئيسي، المخطط.

عداد الرمز المميز هو الجزء المهم

يأتي الإخراج الذي تم إنشاؤه مزودًا بعدد الرموز المميزة، والذي يتم حسابه باستخدام ملف gpt-tokenizer مكتبة بدلاً من تقدير الأحرف مقسمة على أربعة. التحقق من ذلك قبل لصق. معرفة ما إذا كان تفريغ يناسب نافذة السياق التي أنت على وشك استخدامها في اللعبة بأكملها - والبديل هو اللصق، والانتظار، وقراءة خطأ الطول.

استخدامه للتوجيه، وليس فقط للتحقق. إذا كان العدد ضعف ما لديك من مساحة، فارجع إلى شجرة وقم بإلغاء تحديد الدليل بدلاً من اقتطاع الملف في النهاية، بسبب قطع التفريغ منتصف المشروع يترك النموذج بنصف تنفيذ ولا توجد فكرة أنه مفقود. وتذكر أن نافذة السياق الكبيرة ليست مثل النافذة الجيدة: تحديد مركز لـ 8000 رمز مميز - الوحدة، عادةً ما تتفوق اختباراتها والملفان اللذان تستوردهما على 200000 رمز لكل شيء. أرسل كله الريبو عندما يكون السؤال معماريًا، وشريحة عندما يكون محليًا.

عندما يكون جاهزًا، انسخ النص إلى الحافظة، ثم قم بتنزيله كملف .txt، أو الاستيلاء على الملفات المحددة كملف ZIP إذا كنت تفضل الحصول عليها كملفات بدلاً من مستند واحد مدمج.

كيفية استخدامه

ما الذي يستخدمه الناس فعليًا من أجله

  • الإعداد على قاعدة تعليمات برمجية غير مألوفة. وظيفة جديدة، فريق جديد، أو مصدر مفتوح المشروع الذي تريد المساهمة فيه. قم بتحويله ولصقه واطلب نقاط الدخول الأساسية التجريدات، والأشياء الثلاثة التي قد تفاجئ المشرف الجديد. سوف تحصل على التوجه أسرع من قراءة الملف التمهيدي (README) والنقر فوق الملفات لمدة يوم واحد.
  • مراجعة طلب السحب مع محيطه. يظهر الفرق ما تغير ولكن وليس ما يمس. قم بتحويل الفرع، أو الحزمة المتأثرة فقط، واسأل عما يستدعيه أيضًا الوظيفة التي تغيرت وما هي الافتراضات التي يضعها الكود الجديد بشأنها.
  • كتابة الوثائق التي هي في الواقع صحيحة. تتعفن ملفات README لأنها مكتوبة مرة واحدة. قم بإنشاء نظرة عامة على البنية أو ملخصات الوحدة أو القائمة الحقيقية للبيئة المتغيرات من الكود كما هو موجود في main اليوم.
  • توليد الاختبارات. قم بتضمين الوحدة بالإضافة إلى ملف اختبار موجود كنمط مرجع. يتطابق النموذج مع إطار العمل الخاص بك، والتسمية الخاصة بك، والتركيبات الخاصة بك بدلاً من الابتكار اتفاقية لا يستخدمها أحد في الفريق.
  • الهجرة وتخطيط إعادة البناء. صنف المكونات إلى خطافات، وجافا سكريبت إلى TypeScript، ORM إلى آخر. النموذج الذي يمكنه رؤية كل موقع اتصال ينتج تسلسلاً حقيقيًا لـ خطوات بدلاً من قائمة مرجعية عامة.
  • عمليات التدقيق والعناية الواجبة. تقييم المستودع الذي ترثه، وتكتسبه، أو اعتبارها تبعية. الملف الموحد يجعل من العملي السؤال عن مكان الأسرار يتم التعامل معها، وكيف تبدو مسارات الخطأ، وأين تعيش الأنماط الخطرة.
  • RAG والتضمين. يتم تقسيم المقاطع المحددة بمسار بشكل نظيف، وبالتالي ينخفض الإخراج إلى متجر ناقلات مع القليل جدًا من المعالجة المسبقة.

الأسئلة المتداولة

كيف أقوم بتحويل الريبو GitHub إلى ملف نصي؟

الصق عنوان URL للمستودع أعلاه وستظهر شجرة الملفات كقائمة مربعات اختيار. قم بإلغاء تحديد ما لا يحتاجه النموذج، وقم بإنشاءه، وستحصل على ملف نصي واحد: بنية الدليل في الأعلى، ثم كل ملف محدد أسفل رأس بمساره. لا شيء للاستنساخ، لا شيء للتثبيت، مجاني وبدون تسجيل.

كيف أقوم بتحويل مستودع GitHub خاص؟

قم بلصق رمز الوصول الشخصي بجانب عنوان URL. قم بإنشاء رمز مميز محدد النطاق لمستودع واحد فقط مع إذن محتويات للقراءة فقط وانتهاء قصير - وهذا هو أقل امتياز تقبله واجهة برمجة التطبيقات لهذا الغرض. يتم استخدام الرمز المميز للاتصال بـ GitHub من متصفحك ولا يتم تخزينه لدينا.

ما هو عدد الرموز المميزة الموجودة في قاعدة التعليمات البرمجية الخاصة بي، وهل ستكون مناسبة؟

يتم تحديث العداد عند تحديد الملفات، حتى تتمكن من رؤية الرقم قبل لصق أي شيء. كدليل تقريبي، يبلغ عدد الرموز المصدرية حوالي 3 إلى 4 أحرف لكل رمز مميز، لذا فإن تحديد 500 كيلو بايت يصل إلى ما يقرب من 140،000 رمزًا مميزًا. يتناسب ذلك مع نافذة سياق بحجم 200 كيلو بايت ولن يتناسب مع رسالة دردشة واحدة على معظم الواجهات.

ما هي الملفات التي يجب علي استبعادها قبل تغذية الريبو إلى LLM؟

node_modules، vendor، وأي دليل تبعية أولاً - عادةً ما يمثلون الأغلبية الساحقة من البايتات ولا يساهمون بأي شيء في التعليمات البرمجية الخاصة بك. ثم قم بقفل الملفات، وبناء المخرجات، والحزم المصغرة، واختبار التركيبات، والأصول الثنائية. في مشروع JavaScript النموذجي الذي يتم تمريره بمفرده غالبًا ما يزيل أكثر من تسعين بالمائة من الرموز المميزة.

كيف يمكن مقارنة هذا بـ gitingest أو repomix أو code2prompt؟

هذه أدوات قوية والفرق الصادق هو سير العمل، وليس القدرة. فهي عبارة عن سطر أوامر أولاً، وقابلة للبرمجة، والإجابة الصحيحة داخل CI أو مهمة دفعية. يتم تشغيل هذا في علامة تبويب المتصفح مع شجرة مربعات الاختيار، حتى تتمكن من رؤية الريبو، وإلغاء تحديد ما لا تريده، ومشاهدة تحرك عدد الرموز المميزة - وهو أفضل للحالة لمرة واحدة حيث لا تزال تقرر ما تريد تضمينه.

هل من الآمن وضع الكود الخاص بي من خلال هذا؟

تتم قراءة المستودعات العامة من خلال واجهة برمجة التطبيقات GitHub من متصفحك، وبالتالي ينتقل الرمز من GitHub إليك. لأي شيء سري فإن الخيار الأقوى هو محول المجلد المحلي، والذي لا يتم تحميله مطلقًا. وفي كلتا الحالتين، قم بمسح اختيارك بحثًا عن مفاتيح واجهة برمجة التطبيقات وبيانات الاعتماد قبل لصقه في نموذج - وهذه هي الخطوة التي يتخطاها الأشخاص.

المجلدات المحلية، GitLab، وكل ما ليس كودًا

ليس كل ما تريد تحويله يعيش على GitHub. ال المجلد المحلي لتحويل النص يأخذ أ الدليل مباشرة من القرص الخاص بك ودمجه في ملف واحد دون تحميل أي شيء - لا مكالمات الشبكة على الإطلاق، وهو ما تريده لعمل العميل، أو الفروع غير الملتزم بها، أو المشروع الذي لم يكن أبدا جيت الريبو. بالنسبة إلى GitLab، فإن GitLab لتحويل النص يفعل نفس الشيء العمل ضد المشاريع العامة والخاصة والمستضافة ذاتيا.

عادةً ما يمثل الكود نصف السياق أيضًا. المواصفات موجودة في ملف PDF، والمخطط في JSON، والإرث التكوين في XML، نموذج البيانات في ملف CSV. قم بتحويل تلك الموجودة بجانب الريبو الخاص بك باستخدام PDF إلى Markdown، JSON إلى Markdown، XML إلى Markdown، CSV إلى Markdownأو HTML إلى Markdown. إذا كان شخص ما يسلمك الارشيف ، الرمز البريدي إلى النص تسحب للقراءة محتوى للخروج منه، و File2Txt يأخذ أي من ثلاثة عشر تنسيقًا مدعومًا إذا كنت تفضل عدم اختيار صفحة. بالنسبة للوثائق الموجودة فقط على الويب، Web2Txt كشط عنوان URL إلى تنظيف Markdown، بما في ذلك الصفحات المعروضة بواسطة JavaScript - قم بإقران مرجع API المسروق مع يمكن للريبو المحول ومساعد الترميز رؤية كلا الجانبين في وقت واحد.

هناك المزيد من العمق في المدونة: الدليل الكامل لتحويل مستودعات GitHub لـ LLMs، تحويل قاعدة التعليمات البرمجية إلى ملف جاهز LLM، تغذية مستودع كامل في الذكاء الاصطناعي، و المجلد إلى تجول النص للدلائل المحلية.

تم إنشاء Repo2Txt وصيانته بواسطة v12hero، مطور مستقل يبني تطبيقات أصلية وتطبيقات ويب تهتم بالخصوصية أولاً.