TermUI: کامپوننتهای آمادهٔ ترمینال برای React و Ink
خلاصهٔ کاملتر
TermUI یه رجیستری کامپوننت برای ساخت رابط کاربری تو ترمیناله که روی React و کتابخونهٔ Ink سواره. ایدهش رو از الگوی shadcn/ui گرفته: بهجای اینکه یه پکیج به پروژه اضافه کنی و پشت API اون قفل بشی، سورس هر کامپوننت با دستور npx termui add و اسم کامپوننت مستقیم تو کدت کپی میشه و از اون به بعد خودت صاحبشی و هرجور خواستی تغییرش میدی.
نسخهٔ فعلی ۱.۴.۰ هست و ۱۱۳ کامپوننت رو تو ۱۳ دسته چیده: چیدمان، تایپوگرافی، ورودی، انتخاب، داده، بازخورد، ناوبری، اورلی، فرم، ابزار، نمودار، قالبهای آماده و یه دستهٔ هوش مصنوعی. یعنی از باکس و استک و جدول و درخت دایرکتوری گرفته تا اسپینر، نوار پیشرفت، مودال، ویزارد فرم و حتی نمودار میلهای و هیتمپ، همه رو تو ترمینال داری.
چیزی که این مجموعه رو از یه کتابخونهٔ معمولی جدا میکنه، دستهٔ هوش مصنوعیشه که دقیقاً برای ابزارهای خط فرمان مبتنی بر مدلهای زبانی طراحی شده: پیام چت، رشتهٔ گفتوگو، بلوک فراخوانی ابزار، تأیید اجرای ابزار، بلوک thinking، شمارش مصرف توکن، انتخاب مدل، نمایش تغییرات فایل و متن استریمشونده. اینا همون قطعاتیه که ابزارهای کدنویسی ترمینالی امروز لازم دارن.
خود رجیستری هم مثل shadcn روی چند فایل JSON بنا شده: یه schema.json که فهرست کامل کامپوننتهاست با دسته، وابستگیها و فایلهاشون، بهعلاوهٔ یه meta.json و سورس TypeScript جدا برای هر کامپوننت. کنارش چند دستور CLI برای راهاندازی اولیه، پیشنمایش تعاملی و اعمال تم هست. طبق خود رجیستری، بخش زیادی از کامپوننتها بعد از نسخهٔ ۱.۰ اضافه شدن، پس پروژه هنوز داره سریع رشد میکنه.
نکات کلیدی:
- رجیستری کامپوننت ترمینالی به سبک shadcn برای React + Ink
- ۱۱۳ کامپوننت تو ۱۳ دسته، نسخهٔ ۱.۴.۰
- سورس TypeScript هر کامپوننت تو پروژه کپی میشه، نه نصب پکیج
- یه دستهٔ جداگانه برای رابط ابزارهای هوش مصنوعی
- CLI برای افزودن، پیشنمایش تعاملی و تمدهی




