قم بتحويل أي repo أو المجلد على جهاز Mac إلى ملف نصي بسيط بحيث يمكنك تحميله إلى LLM (Claude ، ChatGpt ، وما إلى ذلك) للتسبب في كل شيء في نافذة السياق.
تتيح لك LLMs مثل ChatGpt و Claude تحميل الملفات ، ولكنها تحد من عدد التحميل في وقت واحد. عندما تتعامل مع قواعد الكود الكبيرة التي تحتوي على الكثير من الملفات ، لا يمكنك فقط تحميلها مباشرة إلى LLM. ينتهي بك الأمر إلى استخدام تقنيات RAG (الجيل المعزز للاسترجاع) ، والتي في تجربتي ليست فعالة مثل تحميل كل شيء في نافذة السياق الكامل - خاصة عندما تحتاج إلى التفكير في الهندسة المعمارية أو فهم النظام بأكمله. انظر المثال.
مساعدو الترميز مثل المؤشر هم AmazEballs ، لكنهم يعملون بشكل أفضل من أجل إكمال التعليمات البرمجية اليومية والتعديلات المضمنة من فهمهم من أجل فهم النظام الأعلى.
AND / OR الظروف لاستهداف ما تحتاجه بالضبط للتحليل المركز. اختر مغامرتك:
curl -fsSL https://raw.githubusercontent.com/mattmireles/flatty/main/install_flatty.sh | bash -s -- --quickcurl -fsSL https://raw.githubusercontent.com/mattmireles/flatty/main/install_flatty.sh | bashيتضمن التثبيت بجنون العظمة (الافتراضي) التحقق من عمليات التحقق من عمليات التحقق من الأمن والفحوصات الأمنية الكاملة. يتخطى التثبيت السريع هذه الشيكات لحشد "أحب أن أعيش بشكل خطير".
الاستخدام الأساسي بسيط بغباء:
cd your-project-directory
flatty هذا ينشئ ملفًا نصيًا منسقًا جيدًا في ~/Documents/flatty/ يحتوي على جميع ملفات النصوص الخاصة بمشروعك ، جاهزًا لاستهلاك LLM.
تحكم في ما يتم تضمينه في الإخراج المسطح عن طريق تحديد الأنماط والظروف. تتيح لك هذه الميزة التركيز على أجزاء محددة من قاعدة كودك ، وتحسين الكفاءة والأهمية.
وسيطات سطر الأوامر:
--pattern "pattern1" : حدد نمطًا أو كلمة رئيسية لتصفية الملفات. يمكنك استخدام أعلام --pattern المتعددة لأنماط متعددة.--condition AND|OR : تحديد كيفية مطابقة الأنماط المتعددة.AND : يجب أن تكون جميع الأنماط المحددة موجودة في ملف (إما في اسم الملف أو المحتوى).OR : يجب أن يكون أي من الأنماط المحددة موجودة.أمثلة:
قم بتضمين الملفات التي تحتوي على دالة useEffect أو async function :
flatty --pattern " useEffect " --pattern " async function " --condition OR قم بتضمين ملفات تحتوي على كل من useEffect و async function :
flatty --pattern " useEffect " --pattern " async function " --condition AND قم بتضمين ملفات مع README في اسم الملف:
flatty --pattern " README " --condition ORالسلوك الافتراضي بدون أنماط (يتضمن جميع الملفات النصية المؤهلة):
flattyسلوك:
تتخطى Flatty بذكاء:
node_modules ، vendor ).git.DS_Store ) يتم حفظ الملفات النصية المسطحة في الدليل ~/flattened/ مع أسماء الملفات منسقة على النحو التالي:
<project-name>-v<version>-<timestamp>.txt
يتضمن كل ملف إخراج:
تم تطويره مع ❤ بواسطة TalkTastic
المساهمات مرحب بها! يرجى فتح مشكلة أو إرسال طلب سحب لأي تحسينات أو إصلاحات الأخطاء.
للحفاظ على سلامة البرنامج النصي flatty.sh والتأكد من أن ملف checksum ( flatty.sh.sha256 ) محدث دائمًا ، يجب على المساهمين إعداد خطاف GIT قبل الالتزام. يقوم هذا الخطاف تلقائيًا بإنشاء وتحديث الشيكومات قبل كل التزام.
خطوات لإعداد خطاف ما قبل الالتزام:
انتقل إلى دليل السنانير GIT:
cd .git/hooks قم بإنشاء أو تحرير خطاف pre-commit :
cursor pre-commit أضف البرنامج النصي التالي إلى ملف pre-commit :
#! /bin/bash
# Generate SHA256 checksum for flatty.sh
sha256sum flatty.sh > flatty.sh.sha256
# Add the checksum file to the commit
git add flatty.sh.sha256اجعل الخطاف قابل للتنفيذ:
chmod +x pre-commit Explanation: يضمن هذا الخطاف أنه في كل مرة يتم تعديل flatty.sh ويتم التزام ، يتم تحديث ملف Checksum flatty.sh.sha256 المقابل تلقائيًا في الالتزام. هذا يحافظ على عملية التحقق من النزاهة لنصي التثبيت.
معهد ماساتشوستس للتكنولوجيا