Sphinx: قبل از push بفهم agent چی نوشته
خلاصهٔ کاملتر
Sphinx یه Git hook (یعنی اسکریپتی که Git قبل یا بعد از یه کار مثل push خودکار اجرا میکنه) برای توسعه با کمک agentهاست. ایدهش سادهست: قبل از اینکه کدی که agent نوشته ارسال بشه، ازت یه سؤال دربارهی کاری که اون کد واقعاً انجام میده میپرسه. ابزار رایگان و متنبازه و از npm نصب میشه.
روال کار سه مرحله داره. تو یا agentت push میکنی و Git روی branchهایی که محافظت کردی صبر میکنه. بعد یه reviewer که هیچوقت چت تو با agent رو ندیده، diff رو میخونه و میپرسه این تغییر وقتی یه جای کار خراب میشه چه رفتاری داره. اگه غلط جواب بدی، دلیلش رو میفهمی و یه سناریوی تازه میگیری. اگه درست جواب بدی، push ادامه پیدا میکنه.
تو مثالی که خود سایت نشون میده، یه webhook هندلر Stripe قبل از صدا زدن charge() شناسهی رویداد رو ذخیره میکنه. Sphinx میپرسه اگه charge() شکست بخوره، تلاش بعدی چی کار میکنه؟ جواب درست اینه که پرداخت انجام نمیشه و مشتری هیچوقت پول نمیده، چون شناسه از قبل ذخیره شده. سایت توضیح میده این فقط یه نمونهست و سؤالهای واقعی از diff خودت درمیان.
Sphinx طوری ساخته شده که توکن کمی مصرف کنه. میتونه از coding agent فعلیت، OpenRouter یا هر endpoint سازگار با OpenAI استفاده کنه. با Codex، Claude Code، Cursor، OpenCode و Pi یا Git خالی کار میکنه. سازندهها میگن جوابهات هیچوقت به agent نمیرسه و فایلهای .env و کلیدها باز نمیشن. اگه عجله داری، دستور sphinx yolo اجازهی push میده ولی هر بار رد شدن ثبت میشه.
نکات کلیدی:
- Sphinx یه Git hook رایگان و متنبازه که با پکیج npm به اسم sphinx-understand نصب میشه.
- به Node نسخهی 22.19 به بالا نیاز داره و روی macOS، Linux و WSL کار میکنه.
- reviewer اون فقط diff رو میبینه، نه گفتوگوی تو با agent رو.
- با Codex، Claude Code، Cursor، OpenCode و Pi سازگاره.
- دستور sphinx yolo از سؤال رد میشه ولی هر بار رد شدن ثبت میشه.




