ساختمان با مینی، قسمت 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 قبل از اینکه به آن تکیه کنید:
-
فقط یک قدم را به یاد می آورد. این تاریخچه git نیست، یک سطح به عقب است. یک ثانیه
undoپشت سر هم هیچ کاری نمی کند وقتی نیاز دارید عمیقتر بروید، در حال آمادهسازی هستید. -
همچنین میتواند یک مرحله 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.



