میز کار توسعهدهنده، اینبار ایجنتمحور
خلاصهٔ کاملتر
نویسندهٔ این پست تو وبلاگ Atomic Object میگه محیط توسعهش تو هشت سال کار هیچوقت واقعاً طراحی نشده بود، فقط انباشته شده بود: هر پروژه و زبون و جریان کاری جدید یه alias یا پلاگین یا ابزار خط فرمان اضافه میکرد و خیلیهاشون سالها بیاستفاده تو تنظیمات میموندن. به گفتهٔ اون انگیزهٔ بازسازی فقط تمیزکاری نبوده؛ شکل کار کردنش عوض شده و حالا بهجای تمرکز روی یه کار، چند نخ موازی رو مدیریت میکنه که تو هر کدوم یکی دو تا ایجنت مشغولن.
نتیجه یه محیط ترمینالمحور و به قول خودش agentic-first ـه — یعنی ایجنت یه شرکتکنندهٔ عادی تو جریان توسعهست، نه چیزی که از بغل بهش وصل شده. ترمینال لایهٔ مشترکه چون هم آدم و هم ایجنت به یه مجموعه پرایمیتیو یکسان دسترسی دارن: فایل، پروسه، مخزن Git، ابزار جستوجو، اسکریپت و session. استک نهایی WezTerm، zsh، tmux، Neovim و Codex ـه، در کنار ripgrep، fzf، lazygit و revdiff.
tmux همونجاییه که کار توش زندگی میکنه: هر واحد کاری session خودش رو داره تا پروژه، دایرکتوری، ادیتور و ایجنت با هم بمونن و آدم موقع جابهجایی مجبور نباشه حالت هر کدوم رو از نو بسازه. نویسنده میگه ویژگی مهم tmux تقسیم پنجره نیست — هر ترمینال مدرنی این کارو میکنه — بلکه اینه که sessionها پایدار، آدرسپذیر و از خط فرمان قابل کنترلان، پس بلوک ساختمونی خوبی برای اتوماسیون میشن.
برای اجرای موازی ایجنتها هم هر شاخه یه Git worktree جدا میگیره تا هر نخ کار، برنچ و دایرکتوری مستقل خودش رو داشته باشه. نویسنده یه ابزار سفارشی نوشته که این تیکهها رو به هم وصل میکنه و میگه خود اسکریپت مهم نیست، این ساختار مهمه:
branch
└── Git worktree
└── tmux session
├── shell
└── agentبه گفتهٔ خودش همین مقدار کم ارکستراسیون اونقدر اصطکاک رو کم میکنه که ساختن یه فضای کاری تازه تبدیل به حالت پیشفرض میشه. البته یادآوری میکنه این کار یه پیشنیاز داره: محیط توسعهٔ لوکال باید بتونه چند نمونه رو بدون تداخل پورت و دیتابیس و نام کانتینر بالا بیاره.
تو ابزارهای Git هم نقشها جدا شدن: خط فرمان برای بیشتر کارها، lazygit برای مرور بصری وضعیت مخزن و عملیات تعاملی، و revdiff برای بازبینی چنجستهایی که ایجنت تولید کرده و دادن بازخورد یکجا روی کل diff بهجای رفتوبرگشت پشت سر هم. نویسنده تأکید میکنه این چیدمان عمداً ناتمومه و شاید WezTerm رو کنار بذاره؛ هدف یه مجموعهٔ کامل و دائمی از ابزارها نیست، بلکه ساختاریه که با شکل جدید کار جور دربیاد.
نکات کلیدی:
- محیط جدید ترمینالمحوره تا آدم و ایجنت به پرایمیتیوهای یکسان دسترسی داشته باشن
- استک اصلی: WezTerm، zsh، tmux، Neovim و Codex، بههمراه ripgrep، fzf، lazygit و revdiff
- هر شاخه یه Git worktree، هر worktree یه session تو tmux با شل و ایجنت داخلش
- ارزش tmux تو پایدار و آدرسپذیر بودن sessionهاست، نه تقسیم پنجره
- نقش ابزارهای Git تفکیک شده: CLI برای عملیات روزمره، lazygit برای مرور انسانی، revdiff برای بازبینی کار ایجنت




