แปลง GitHub repo หรือโฟลเดอร์ใด ๆ บน Mac ของคุณเป็นไฟล์ข้อความง่ายๆเพื่อให้คุณสามารถอัปโหลดไปยัง LLM (Claude, CHATGPT ฯลฯ ) เพื่อให้เหตุผลเกี่ยวกับเรื่องทั้งหมดในหน้าต่างบริบท
LLMS เช่น CHATGPT และ Claude ให้คุณอัปโหลดไฟล์ แต่พวกเขา จำกัด จำนวนที่คุณสามารถอัปโหลดได้ในครั้งเดียว เมื่อคุณจัดการกับรหัสฐานขนาดใหญ่ที่มีไฟล์มากมายคุณไม่สามารถอัปโหลดได้โดยตรงไปยัง LLM คุณต้องใช้เทคนิค RAG (Generation Augmented Retrieval) ซึ่งจากประสบการณ์ของฉันไม่ได้มีประสิทธิภาพเท่ากับการอัปโหลดทุกอย่างลงในหน้าต่างบริบทเต็มรูปแบบโดยเฉพาะอย่างยิ่งเมื่อคุณต้องการให้เหตุผลเกี่ยวกับสถาปัตยกรรมหรือเข้าใจทั้งระบบ ดูตัวอย่าง
ผู้ช่วยการเขียนโค้ดเช่นเคอร์เซอร์เป็นสิ่งที่น่าประหลาดใจ แต่พวกเขาทำงานได้ดีขึ้นสำหรับการกรอกรหัสประจำวันและการแก้ไขแบบอินไลน์มากกว่าที่พวกเขาทำเพื่อความเข้าใจระบบระดับสูง
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
ควบคุมสิ่งที่รวมอยู่ในผลลัพธ์ที่แบนของคุณโดยการระบุรูปแบบและเงื่อนไข คุณสมบัตินี้ช่วยให้คุณสามารถมุ่งเน้นไปที่ส่วนเฉพาะของ codebase ของคุณปรับปรุงประสิทธิภาพและความเกี่ยวข้อง
อาร์กิวเมนต์บรรทัดคำสั่ง:
--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พฤติกรรม:
Skips อย่างชาญฉลาด:
node_modules vendor ).git.DS_Store ) ไฟล์ข้อความแบนจะถูกบันทึกไว้ใน ~/flattened/ ไดเรกทอรีที่มีชื่อไฟล์ที่จัดรูปแบบเป็น:
<project-name>-v<version>-<timestamp>.txt
ไฟล์เอาต์พุตแต่ละไฟล์รวมถึง:
พัฒนาด้วย❤โดย talktastic
ยินดีต้อนรับ! โปรดเปิดปัญหาหรือส่งคำขอดึงสำหรับการปรับปรุงหรือแก้ไขข้อบกพร่องใด ๆ
เพื่อรักษาความสมบูรณ์ของสคริปต์ flatty.sh และตรวจสอบให้แน่ใจว่าไฟล์ตรวจสอบ ( flatty.sh.sha256 ) เป็นที่นิยมอยู่เสมอผู้ร่วมให้ข้อมูลควรตั้งค่าเบ็ด git ล่วงหน้า ตะขอนี้จะสร้างและอัปเดตการตรวจสอบโดยอัตโนมัติก่อนแต่ละครั้ง
ขั้นตอนในการตั้งค่าเบ็ดล่วงหน้า:
นำทางไปยังไดเรกทอรี Git Hooks:
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 คำอธิบาย: ตะขอนี้ทำให้มั่นใจได้ว่าทุกครั้งที่ flatty.sh ได้รับการแก้ไขและมีการทำสัญญาไว้ไฟล์ตรวจสอบ flatty.sh.sha256 ที่สอดคล้องกันจะได้รับการปรับปรุงโดยอัตโนมัติและรวมอยู่ในการกระทำ สิ่งนี้จะรักษากระบวนการตรวจสอบความสมบูรณ์สำหรับสคริปต์การติดตั้ง
มิกซ์