- โอเพนซอร์สคอมโพเนนต์ UI เทอร์มินัลสำหรับ React ที่ตั้งค่าได้ด้วยคำสั่งเดียวโดยไม่ต้องมีการตั้งค่าเพิ่มเติม
- สร้างอยู่บน Ink และ OpenTUI ทำงานร่วมกับ shadcn/ui ได้อย่างลื่นไหล และใช้รูปแบบ registry กับ CLI เดียวกัน
- ตรวจจับธีมเทอร์มินัลที่เลือกโดยอัตโนมัติ แล้วปรับให้เข้ากัน
- สร้าง UI เทอร์มินัลที่ซับซ้อนได้ด้วยคอมโพเนนต์ที่เรียบง่ายและเป็น declarative แบบ Composable
- มี คอมโพเนนต์ 99 รายการใน 11 หมวดหมู่
- เลย์เอาต์, ไทโปกราฟี, อินพุต, การเลือก, ข้อมูล, ฟีดแบ็ก, การนำทาง, โอเวอร์เลย์, ฟอร์ม, ยูทิลิตี, AI
- รวมถึง คอมโพเนนต์เฉพาะตัว จำนวนมากที่พบได้ยากในเทอร์มินัล
- สำหรับ AI Agent: Thinking Block, Streaming Text, Tool Approval, Token Usage, Model Selector และคอมโพเนนต์รูปแบบใหม่ ๆ ที่เพิ่งปรากฏในเครื่องมือ agentic CLI
- การเรนเดอร์กราฟิก: Image สำหรับวาดภาพจริงในเทอร์มินัล, QR Code สำหรับแสดง QR ใน CLI, Progress Circle แบบวงกลม
- กลุ่มโอเวอร์เลย์: Modal, Dialog, Drawer, Popover, Tooltip ที่ซ้อนเลเยอร์บนกริดข้อความ
- เฉพาะทางสำหรับเครื่องมือนักพัฒนา: Git Status, Diff View, Directory Tree, Embedded Terminal ซึ่งเป็นเทอร์มินัลในเทอร์มินัล
- วิดเจ็ตอินพุตแบบ GUI: Color Picker, Date Picker, File Picker และอื่น ๆ ที่จำลองด้วยการควบคุมผ่านคีย์บอร์ด
- ดูตัวอย่างการทำงานได้ที่ https://www.termcn.dev
- สัญญาอนุญาต MIT
2 ความคิดเห็น
ก็จริงที่ว่ามันช่วยให้ทำงานได้มีประสิทธิภาพสูง แต่ส่วนตัวคิดว่าถ้าไปบอกคนยุคก่อน ๆ ว่าจะทำ TUI ด้วย React คงโดนว่า “เจ้าบ้า! จะมาเพิ่ม overhead ไม่จำเป็นให้เทอร์มินัลทำไม”
ให้ความรู้สึกเหมือนนึกถึงเกร็ดเรื่องที่ฟอน นอยมันน์เห็นลูกศิษย์ใช้ภาษาแอสเซมบลีแล้วถามว่าทำไมไม่เขียนด้วยภาษาเครื่อง แต่ไปใช้อะไรประหลาด ๆ แทน
โดยส่วนตัวแล้ว ช่วงนี้เครื่องมือ TUI ใช้งานได้ดีมาก จนเมื่อเทียบกับ IDE ผมรู้สึกว่าอาจไม่ใช่ความต่างแบบภาษาเครื่อง ↔ ภาษาแอสเซมบลี แต่เป็นความต่างตามรสนิยมแบบเมาส์ ↔ แทร็กแพดมากกว่าครับ ฮ่าๆ