برنامه نویسی

ساختمان با مینی، قسمت 7/9: دستورات حالت – وضعیت، لغو، مدل

مینی (mini) — ابزار خط‌فرمان سبک برای مدیریت فازهای توسعه

مینی یک هم‌ارزیِ ارزان و فوری (بدون کلود) است که حلقه‌ی توسعه را در state.json پیگیری می‌کند. سه دستور هسته‌آن عبارتند از:

۱. status — دیدِ لحظه‌ای
mini status عنوان پروژه، ایده‌های باز، تمام فازها با وضعیت/زمان و فاز بعدی را نمایش می‌دهد. پرچم --phase N جزئیات کامل فاز (هدف، مراحل، گزارش اجرا) و --json خروجی قابل‌تجزیه برای اسکریپت‌ها می‌دهد. فقط‌خواندنی، توکن‌صرف، همیشه امن.

۲. undo — یک قدم به عقب
mini undo --dry-run پیش‌نمایش می‌دهد: کدام فاز/مرحله/کامیت برگردانده می‌شود. با --yes اعمال می‌گردد. تنها یک سطح تاریخچه دارد (نه ctrl-Z کامل)؛ اگر فاز done شده و کامیت در HEAD با درخت تمیز باشد، git reset --soft نرم انجام می‌شود، در غیر این صورت فقط state.json بازگردانده می‌شود. در محیط‌های غیر-TTY (مانند Bash کلود) از /mini:undo با --dry-run استفاده کنید.

۳. model — هدایت مدل‌های هوش مصنوعی
هفت دامنه وجود دارد: default (وارث همه) و next, plan, do, importGsd, audit, memory. هرکدام قابل تنظیم جدا:
mini model do haiku — کارهای مکانیکی، سریع/ارزان
mini model plan opus — تصمیمات معماری، بهترین کیفیت
پیش‌فرض‌ها: opus/sonnet/haiku یا شناسه کامل مدل. تنظیمات در state.json ذخیره می‌شوند؛ mini model reset به پیش‌فرض کلود کد بازمی‌گردد.

فلسفه مشترک: دستوراتِ کنترلِ حالت، نهِ اجرا. status/model show آنی و رایگان؛ undo احتیاط‌محور (پیش‌نمایش، یک سطح، git فقط در صورت ایمن بودن). تعادل هزینه/کیفیت با اختصاص مدل‌ مناسب به فاز درست تأمین می‌شود.

pycalc چهار فاز پشت خود دارد و اجرا می شود. حلقه، پست های بازرسی، حالت خودمختار – همه اینها تغییر دهید دولت حالا سه دستور که فقط نگاه کن در حالت، یا با دقت آن را به عقب برگردانید: status (من کجا هستم)، undo (یک قدم به عقب)، model (با چه چیزی و به چه قیمتی آن را رانندگی کنیم). این صفحه ابزار مینی است — ارزان، فوری، عمدتاً بدون کلود.

status – من کجا هستم

mini status
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

pycalc
  A small command-line calculator: `pycalc "2+3*4"` evaluates one expression and exits…
  Ideas: 2 open (mini todo)

Phases:
  [done]       1. Tokenizer with positions (took 2m 6s)
  [done]       2. Parser and evaluation (took 1m 16s)
  [done]       3. CLI layer and formatting (took 29m 5s)
  [done]       4. Help flag support (took 1m 24s)

  Next: mini next (proposes the first phase)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک نگاه: آنچه می‌سازید، تعداد ایده‌هایی که در پس مانده‌ها منتظر می‌مانند، هر مرحله با وضعیت و زمان آن، و کارهای بعدی. می خواند از state.json – بدون کلود، بدون نشانه، بدون انتظار. وقتی جزئیات یک فاز را می خواهید:

mini status --phase 4
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

هدف را چاپ می کند، تمام مراحل را با جزئیات آنها، و کل گزارش اجرا – چی do نوشت، از جمله تصمیمات و یادداشت ها. و برای یک اسکریپت یا ابزار دیگر:

mini status --json
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک شی قابل خواندن توسط ماشین (title، phases[] با وضعیت ها و مراحل، ideasOpen، currentPhaseId، …). کل از status است فقط خواندنی – هرگز چیزی را تغییر نمی دهد، بنابراین می توانید آن را در هر زمان بدون نگرانی اجرا کنید.

undo – یک قدم به عقب

گاهی اوقات done تفنگ را می پرد، یا next مرحله ای را که نمی خواستید ذخیره می کند. undo را برمی گرداند آخرین تغییر حالت:

mini undo --dry-run
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Undo would revert the last change:
  1 phase will be removed; current phase: 5 (Throwaway demo phase) → (none)

Preview only — nothing changed. Run "mini undo --yes" to apply.
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

--dry-run یک پیش‌نمایش است: دقیقاً نشان می‌دهد که چه اتفاقی می‌افتد (فازها حذف/بازیابی شدند، وضعیت‌های مرحله برگردانده شدند، یک commit احتمالاً حذف شد) و چیزی را لمس نمی‌کند. فقط mini undo --yes در واقع این کار را انجام می دهد

دو چیز که باید در مورد آن بدانید undo قبل از اینکه به آن تکیه کنید:

  1. فقط یک قدم را به یاد می آورد. این تاریخچه git نیست، یک سطح به عقب است. یک ثانیه undo پشت سر هم هیچ کاری نمی کند وقتی نیاز دارید عمیق‌تر بروید، در حال آماده‌سازی هستید.
  2. همچنین می‌تواند یک مرحله commit را رها کند – اما فقط با خیال راحت. چه زمانی done مرحله را انجام داد و آن تعهد هنوز با یک درخت کار تمیز در صدر است، undo تنظیم مجدد نرم آن (تغییرات شما در ایندکس می ماند). اما اگر از آن زمان به بعد چیز دیگری مرتکب شده اید، یا تغییرات ذخیره نشده ای داشته اید، undo ارتکاب را به حال خود رها می کند – فقط برمی گردد state.json و به شما می گوید که git reset --soft با دست هیچ وقت حرفت را بالای سرت بازنویسی نمی کند.

به محیط زیست فکر کنید: لخت mini undo به صورت تعاملی می پرسد (Y/n). در غیر TTY Bash کلود کد آویزان می شود – به همین دلیل است /mini:undo دستور اسلش اجرا می شود --dry-run (پیش نمایش را در چت نشان می دهد)، منتظر تایید شما می ماند، سپس --yes.

model – با چه چیزی و به چه قیمتی

مینی هر قدم را با همان کلود نمی‌راند – می‌توانید آن را هدایت کنید:

mini model show
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Models for this project
  default     (inherited from default / Claude Code)
  next        (inherited from default / Claude Code)
  plan        (inherited from default / Claude Code)
  do          (inherited from default / Claude Code)
  importGsd   (inherited from default / Claude Code)
  audit       (inherited from default / Claude Code)
  memory      (inherited from default / Claude Code)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

هفت دامنه ها: default (برای همه چیز بدون تنظیمات خاص خود) به علاوه مراحل جداگانه – next، plan، do، importGsd، audit، memory. هر کدام از آنها ارث می برد default تا زمانی که مدل خودش را به آن بدهید:

mini model do haiku       # mechanical work, cheap and fast
mini model plan opus      # leave the thinking to the best one
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پیش تنظیم ها هستند opus (بهترین کیفیت، کندتر، وزن بیشتری در حد مجاز دارد) sonnet (متعادل) و haiku (سریع، ارزان، برای چیزهای ساده)؛ شما همچنین می توانید یک شناسه مدل کامل را ارسال کنید. محیط زندگی می کند state.json، بنابراین برای هر پروژه است. mini model reset همه را پاک می کند (به حالت پیش فرض کلود کد باز می گردد).

این کل موضوع دامنه هاست: در جایی خرج می کند که پس می دهد plan و do در مورد معماری تصمیم بگیرید – اینجاست که کیفیت ارزش آن را دارد. memory (نوشتن حافظه فاز بعد) یا audit (نمای کلی پایگاه کد) مکانیکی تر هستند – یک مدل ارزان تر خوب است. این در مورد “بهترین یکی در همه جا” نیست، بلکه در مورد این است که بودجه را کجا قرار دهید.

وجه اشتراک آنها

هیچکدام از این سه قسمتی از حلقه نیستند – شما بین کار به آنها دسترسی پیدا می کنید. status و model show قرائت های محلی خالص هستند (توکن های صفر، فوری). undo تنها چیزی است که هر چیزی را تغییر می‌دهد، و حتی مراقب است: یک پیش‌نمایش، یک مرحله، و git را فقط زمانی لمس می‌کند که ایمن باشد. این یک صفحه ابزار عمدا خسته کننده و قابل پیش بینی است – که برای ابزاری که وظیفه آن حفظ حالت است، دقیقاً همان چیزی است که شما می خواهید.

مبادلات

  • undo کم عمق است یک قدم، نه تاریخ. هرکسی که انتظار «ctrl-Z برای کل پروژه» را داشته باشد به دیوار برخورد خواهد کرد — git برای همین است، و undo آن را جایگزین نمی کند، فقط با آن مبارزه نمی کند.
  • الف model نادیده گرفتن می تواند بی سر و صدا آسیب برساند. شما تغییر دهید do به haiku برای صرفه جویی در هزینه و ناگهان فازها شلخته می شوند. صرفه جویی فقط با کیفیت خروجی به حساب می آید، نه به تنهایی – یک مدل ارزان قیمت در پله اشتباه گرانتر از مدل گران قیمت در پله درست است.
  • status حقیقت را در مورد وضعیت می گوید، نه در مورد کد. این نشان می دهد که چه چیزی در آن است state.json – یک موجود فاز done به این معنی نیست که کد کار می کند تایید است verify و چشمانت، نه status.

دفعه بعد

می توانید وضعیت را ببینید، به عقب برگردید و مدل را هدایت کنید. دو دستور باقی می ماند، آنهایی که پروژه را تماشا می کنند سلامتی: changelog (چه چیزی تغییر کرد و چه زمانی برای کاربران) و doctor (بررسی کنید که کل تنظیمات مینی درست است). دفعه بعد – و سپس فینال.


mini منبع باز است: npm install -g mini-orchestrator، سپس mini install-commands در پروژه شما منبع و اسناد در GitHub.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا