Expo یه CLI مخصوص ایجنتهای کدنویس ساخت
خلاصهٔ کاملتر
تیم Expo یه CLI آزمایشی به اسم @expo/agent-cli معرفی کرده که به گفتهٔ خودشون «با کمک ایجنتها و برای ایجنتها» ساخته شده. مثالی که تو مقاله اومده آشناست: ایجنت یه native module نصب میکنه و اپ رو تو Expo Go باز میکنه، ولی خطا میگیره. بعد کلی کد عوض میکنه و پکیج دوباره نصب میکنه، در حالی که مشکل فقط این بود که این ماژول یه development build (یعنی نسخهای از اپ که کد native خودت توش کامپایل شده) لازم داشت.
ایدهٔ اصلی از git status اومده. دستور status پروژه رو بدون اجرا کردن اپ بررسی میکنه و میگه با Expo Go سازگاره یا نه، rebuild لازمه یا نه، و قدم بعدی چیه. تیم Expo میگه هر وقت شک داری، status رو بزن. دستور dev هم مثل npm run dev تو وب کار میکنه: خودش تصمیم میگیره Expo Go یا development build، اگه بیلد قبلی قابل استفاده باشه دوباره نمیسازه، و با dev --plan میشه قبل از اجرا مراحل رو دید.
چون بیلد موفق همیشه یعنی اپ سالم نیست، دستور smoke هم اضافه شده. این دستور اپ رو بالا میاره، چک میکنه لود بشه و دنبال خطای runtime میگرده. برای اینکه ایجنت خودش اپ رو امتحان کنه هم دستورهایی مثل navigate (باز کردن یه route روی دستگاه) و runtime:reload هست. هر git worktree هم شبیهساز جدای خودش رو میگیره، پس ایجنتهایی که موازی کار میکنن اپ همدیگه رو خراب نمیکنن.
از SDK 58 هم co-located skills اومده، یعنی هر پکیج میتونه skillهای خودش رو (دستورالعملهایی که ایجنت میخونه) کنار کدش منتشر کنه. مثلاً وقتی expo-sqlite رو با این CLI نصب میکنی، نسخهٔ سازگار با SDK نصب میشه و skillهاش هم به پوشهٔ skillهای ایجنت سینک میشه. این ایده از ابزار skills-npm آنتونی فو اومده. نتیجهاش اینه که ایجنت فقط راهنمای پکیجهایی رو داره که واقعاً استفاده میکنی.
یه نکتهٔ دیگه یکی شدن کار لوکال و ابریه. بهجای جابهجا شدن بین Expo CLI و EAS CLI، ایجنت همون dev رو با فلگ --eas اجرا میکنه. پیشفرض لوکاله و CLI خودش سراغ EAS نمیره، چون بیلدهای ابری کردیت مصرف میکنن. دستور agents:setup هم فایل AGENTS.md پروژه رو آپدیت میکنه تا ایجنت از این CLI استفاده کنه. تیم Expo قبول داره که ایجنتها هنوز گاهی برمیگردن سراغ CLIهای قدیمی.
نکات کلیدی:
- پکیج @expo/agent-cli آزمایشیه و دستورها و خروجیش ممکنه عوض بشه؛ اسم کوتاهتر expo-agent-cli هم کار میکنه.
- دستور status بدون اجرای اپ میگه Expo Go کافیه یا rebuild لازمه.
- دستور dev همهٔ مراحل بیلد و اجرا رو یهجا انجام میده و dev --plan فقط مراحل رو نشون میده.
- از SDK 58 پکیجها میتونن skill خودشون رو همراه کد منتشر کنن.
- استفاده از EAS فقط با --eas یا تنظیم پروژه فعال میشه تا کردیت الکی خرج نشه.




