เป็นเครื่องมือ CLI สำหรับการนำโค้ดกลับมาใช้ซ้ำในลักษณะเดียวกับ shadcn-ui โดยไม่ได้ติดตั้งเป็นแพ็กเกจ npm แต่ติดตั้งโค้ดจริงลงในโปรเจกต์โดยตรง ทำให้แก้ไขได้อย่างอิสระ jsrepo มีเป้าหมายเพื่อรวมกระบวนการสร้างและเผยแพร่รีจิสทรีสำหรับการนำโค้ดกลับมาใช้ซ้ำ เพื่อทำให้ขั้นตอนนี้ง่ายขึ้นและดูแลรักษาได้สะดวกยิ่งขึ้น

คุณสมบัติหลัก

  • แนวทางแบบ shadcn/ui: แทนที่จะติดตั้งคอมโพเนนต์เป็นแพ็กเกจ npm จะเพิ่มไฟล์โค้ดจริงเข้าไปในโปรเจกต์โดยตรงผ่าน CLI ทำให้ควบคุมซอร์สโค้ดได้เองและปรับแก้ได้ตามต้องการ
  • รีจิสทรีของตัวเอง: ทุกคนสามารถสร้างรีจิสทรีโค้ดของตนเองเพื่อแชร์แบบสาธารณะหรือใช้งานแบบส่วนตัวได้
  • การเชื่อมต่อ MCP: เชื่อมต่อกับ AI code editor อย่าง Cursor และ Windsurf ผ่าน Model Context Protocol (MCP) ทำให้ AI เข้าใจคอมโพเนนต์ในรีจิสทรีของ JSRepo และสามารถค้นหาคอมโพเนนต์หรือเพิ่มเข้าโปรเจกต์ด้วยคำสั่งภาษาธรรมชาติได้
  • การโฮสต์ที่ยืดหยุ่น: รองรับทั้งการโฮสต์เอง (Self-hosted) โดยใช้ผู้ให้บริการ Git หลากหลายราย เช่น GitHub, GitLab, BitBucket และการโฮสต์ผ่าน jsrepo.com
  • CLI ทรงพลัง: มีฟีเจอร์อย่างคำสั่ง add สำหรับเพิ่มบล็อกโค้ดได้อย่างง่ายดาย และคำสั่ง update สำหรับอัปเดตแบบโต้ตอบ (interactive)
  • การจัดการเวอร์ชันที่ปลอดภัย: รองรับ SemVer อย่างสมบูรณ์ ทำให้อัปเกรดได้อย่างคาดการณ์ได้ และยังเข้ากันได้กับโซลูชันเดิมอย่าง Changesets
  • การทำงานร่วมกันเป็นทีม: แชร์และจัดการโค้ดภายในทีมได้อย่างปลอดภัยผ่าน Private Registries
  • รีจิสทรีแบบไดนามิก: มีความสามารถขั้นสูงสำหรับโหลดคอมโพเนนต์แบบไดนามิกในขณะรันไทม์
  • ฟีเจอร์เสริม: มีการเชื่อมต่อเพื่ออำนวยความสะดวกในการพัฒนา เช่น Raycast extension

เปรียบเทียบรูปแบบการโฮสต์: jsrepo.com vs. Git Provider (โฮสต์เอง)

JSRepo มีตัวเลือกหลัก 2 แบบสำหรับการโฮสต์รีจิสทรี

jsrepo.com (Managed Hosting)

  • วิธีที่ง่ายที่สุด: ล็อกอินด้วยบัญชี GitHub และเผยแพร่รีจิสทรีได้ทันทีโดยไม่ต้องตั้งค่าเพิ่มเติม
  • การจัดการเวอร์ชันที่แข็งแกร่ง: ต่างจาก Git tag เวอร์ชันที่เผยแพร่แล้วจะไม่สามารถแก้ไขได้ (immutable) จึงรองรับการจัดการเวอร์ชันแบบ SemVer ที่ปลอดภัยและเชื่อถือได้มากกว่า
  • รีจิสทรีส่วนตัว: รองรับการแชร์โค้ดส่วนตัวกับสมาชิกทีมอย่างปลอดภัยผ่านคำสั่ง jsrepo auth ได้โดยตรง
  • ประสิทธิภาพและฟีเจอร์อำนวยความสะดวก: ให้ประสิทธิภาพที่ดีขึ้น พร้อมฟีเจอร์เสริมอย่างการค้นหาและการวิเคราะห์

Git Provider (โฮสต์เอง)

  • ควบคุมได้เต็มที่: ใช้ Git repository อย่าง GitHub หรือ GitLab เป็นรีจิสทรีโดยตรง ทำให้ควบคุมทุกอย่างได้เอง
  • การจัดการเวอร์ชันพื้นฐาน: จัดการเวอร์ชันด้วย Git tag แต่แท็กสามารถแก้ไขได้ จึงอาจเสถียรน้อยกว่าเมื่อเทียบกับ jsrepo.com
  • ต้องตั้งค่าเอง: ต้องจัดการการยืนยันตัวตนและสิทธิ์การเข้าถึงด้วยตนเอง เช่น สำหรับการเข้าถึงรีจิสทรีส่วนตัว

กรณีการใช้งาน

https://github.com/shyakadavis/geist
https://github.com/ieedan/shadcn-svelte-extras

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น