Ink: ساخت رابط خط فرمان با کامپوننتهای React
خلاصهٔ کاملتر
Ink همون تجربهی کامپوننتنویسی React رو میآره تو خط فرمان؛ بهجای رندر شدن تو مرورگر، خروجیش تو ترمینال نمایش داده میشه و چیدمانش با یه موتور Flexbox به اسم Yoga انجام میشه. چون Ink یه رندرر واقعی Reactـه، همهی امکانات ریاکت مثل state و هوکها همونجوری که تو مرورگر کار میکنن، توی ترمینال هم کار میکنن.
برای مثال، این کامپوننت هر ۱۰۰ میلیثانیه یه شمارنده رو آپدیت میکنه و رنگ سبز نشونش میده:
const Counter = () => {
const [counter, setCounter] = useState(0);
useEffect(() => {
const timer = setInterval(() => setCounter(c => c + 1), 100);
return () => clearInterval(timer);
}, []);
return <Text color="green">{counter} tests passed</Text>;
};بهگفتهی این پروژه، ابزارهای شناختهشدهای مثل Claude Code، Gemini CLI، GitHub Copilot CLI، Cloudflare Wrangler و Shopify CLI همه روی Ink ساخته شدن. برای چیدمان، کامپوننت Box مثل یه div با display: flex تو مرورگر عمل میکنه و هوکهایی مثل useInput و useWindowSize هم برای گرفتن ورودی کیبورد و اندازهی ترمینال در اختیارته.
نکتهی تازهی این پروژه سختگیری بیشتر روی پولریکوئستهای ساختهشده با هوش مصنوعیه: پولریکوئست کاملاً اتوماتیک پذیرفته نمیشه، باید یه آدم بازبینی و پاکش کنه، و فقط مدلهای Opus 4.6 به بالا یا Codex 5.4 به بالا (با حالت پردازش سنگین) مجازن، ترجیحاً با Opus ساخته بشه و با Codex بازبینی بشه.
نکات کلیدی:
- Ink یه رندرر واقعی Reactـه که چیدمانش رو با موتور Flexbox به اسم Yoga تو ترمینال انجام میده.
- ابزارهایی مثل Claude Code، Gemini CLI و GitHub Copilot CLI روی Ink ساخته شدن.
- نصبش با npm install ink react انجام میشه.
- پولریکوئستهای کاملاً اتوماتیک هوش مصنوعی پذیرفته نمیشن؛ فقط Opus 4.6+ یا Codex 5.4+ با بازبینی انسانی مجازن.




