مدیریت فلوت agent های کدنویس با پوشههای سادهی گیت
خلاصهٔ کاملتر
فتح ارسلان (Fatih Arslan) که بهتازگی به Cursor ملحق شده، تو یه پست وبلاگی روش شخصیش برای مدیریت فلوت agent های کدنویسی رو توضیح میده؛ روشی که به گفتهی خودش ماههاست جواب داده. ایدهی اصلی اینه که هر تیکه کار agent یه فایل markdown جدا باشه، تو یه ریپوی گیت مشترک بین آدمها و agent ها. اینجوری هم تاریخچهی کار مجانی به دست میاد، هم همه میتونن فایلها رو بخونن و ویرایش کنن.
با دستور plan-init یه بار پوشهبندی پایه ساخته میشه: drafts، next، open، done و discarded. هر ایدهی خام با plan-add میره تو drafts، بدون اینکه هنوز تصمیمی پشتش باشه. وقتی وقتش شد، با plan-write (ترجیحا با یه مدل قویتر) اون draft تبدیل به یه plan کامل با تصمیمهای مشخص میشه و میره تو next.
با plan-dispatch یه agent (اینبار یه مدل سریع که خوب دستورالعمل رو دنبال میکنه) اون plan رو میگیره، فایلش میره تو open و agent شروع میکنه به کار و در نهایت یه Pull Request باز میکنه. بعد از merge شدن PR، دستور plan-sync چک میکنه که کار انجامشده با plan یکی باشه و فایل رو میبره تو done، یا اگه کار منتفی شده باشه، discarded.
نکتهی جالبتر بخش دومه: ارسلان دیگه تکتک agent ها رو دستی مدیریت نمیکنه، بهجاش از coordinator ها استفاده میکنه؛ agent های دائمی که خودشون کد نمیزنن و فقط agent های دیگه رو هدایت میکنن. اینها بخشی از فیچر جدید Cursor به اسم Projects هستن. هر Project یه notes.md داره (مثل یه README زنده) و یه پوشهی internal برای یادداشت داخلی agent که آدم بهش سر نمیزنه. یه User Context هم بین همهی Project ها مشترکه: preferences.md که فقط coordinator میخونتش نه worker ها، و یه پوشهی skills مشترک.
Project ها subscription هم دارن؛ coordinator میتونه یه Pull Request رو دنبال کنه، یه کانال Slack رو زیر نظر بگیره یا طبق زمانبندی بیدار بشه. وقتی CI تموم میشه یا ریویوئر کامنت میذاره، coordinator بیدار میشه و اگه لازم باشه agent رو برای اصلاح برمیگردونه. بعضی از coordinator های ارسلان حتی وقتی تو Slack هشدار میاد، خودشون plan-add رو صدا میزنن، بدون دخالت آدم. چون coordinator ها نمیتونن مستقیم پیام بدن، از طریق فایل inbox تو گیت حرف میزنن و یه coordinator مرکزی به اسم Hub واسطهست.
یه دستور دیگه هم به اسم plan-retro هست که plan های تمومشده رو با تاریخچهشون بررسی میکنه، دنبال اشتباه تکراری میگرده و اصلاح یه skill رو پیشنهاد میده؛ همون فیدبکلوپی که خود Cursor بهش میگه gardening، فقط اینجا رو skill ها اعمال میشه نه رو کد. ارسلان این skill های شخصیش رو منتشر نکرده چون کاملا مال روش کار خودشه؛ بهجاش پیشنهاد میده هرکسی با یه پرامپت از agent خودش بخواد این skill ها رو بر اساس تاریخچهی کامیت و چتهای خودش بسازه.
نکات کلیدی:
- ساختار پوشهای پیشنهادی: drafts، next، open، done، discarded
- دستورهای اصلی: plan-init، plan-add، plan-write، plan-dispatch، plan-sync، plan-status، plan-retro
- coordinator ها agent های دائمیان که فقط هدایت میکنن، خودشون کد نمیزنن
- Project (فیچر جدید Cursor) شامل Project Context و User Context مشترک میشه
- coordinator ها میتونن روی PR، کانال Slack یا زمانبندی subscribe بشن
- ارتباط بین coordinator ها از طریق فایلهای inbox تو گیت انجام میشه، نه پیام مستقیم




