منصوبے کے بارے میں
AI Commits ایک کمانڈ لائن ٹول ہے جو آپ کی اسٹیج شدہ تبدیلیوں سے منتخب کردہ AI فراہم کنندہ کی مدد سے Git commit پیغامات بناتا ہے۔ یہ npm پر دستیاب ہے اور اس کے لیے Node.js v22 یا اس سے نیا ورژن درکار ہے۔
سیٹ اپ کا آغاز گلوبل انسٹال (`npm install -g aicommits`) سے ہوتا ہے، جس کے بعد `aicommits setup` چلایا جاتا ہے جو فراہم کنندہ کے انتخاب، API key کی ترتیب، ماڈل کے انتخاب اور پسندیدہ commit پیغام فارمیٹ کے مراحل سے گزارتا ہے۔ معاون فراہم کنندگان میں TogetherAI، OpenAI، Groq، xAI، OpenRouter، Ollama (مقامی)، LM Studio (مقامی) اور کوئی بھی حسب ضرورت OpenAI-compatible endpoint شامل ہیں۔ CI/CD کے استعمال کے لیے `aicommits config set` کے ذریعے ترتیب براہ راست بھی لکھی جا سکتی ہے۔
عام استعمال یہ ہے کہ فائلیں `git add` سے اسٹیج کی جائیں اور پھر `aicommits` چلایا جائے۔ نامعلوم flags کو `git commit` تک پہنچا دیا جاتا ہے۔ قابل ذکر CLI اختیارات میں `--all` (ٹریک شدہ تبدیلیاں اسٹیج کرنے کے لیے)، `--clipboard` (commit کرنے کے بجائے پیغام کاپی کرنے کے لیے)، `--generate` (متعدد امیدوار پیغامات بنانے کے لیے)، `--exclude` (تجزیے سے فائلیں خارج کرنے کے لیے)، `--description` (body شامل کرنے کے لیے)، `--type` (فارمیٹ منتخب کرنے کے لیے)، `--prompt` (حسب ضرورت ہدایات کے لیے)، `--no-verify` (hooks کو نظرانداز کرنے کے لیے) اور `--yes` (تصدیق چھوڑنے کے لیے) شامل ہیں۔ ایک `aic` alias بھی فراہم کیا گیا ہے۔
commit پیغام کے پانچ فارمیٹس دستیاب ہیں: plain، conventional، conventional+body، gitmoji اور subject+body۔ حسب ضرورت prompts زبان، لہجے یا توجہ کی سمت متعین کر سکتے ہیں۔ `prepare-commit-msg` Git hook کو `aicommits hook install` سے انسٹال کیا جا سکتا ہے تاکہ عام `git commit` کالز پر ایسا پیغام بنے جو جائزے کے لیے آپ کے ایڈیٹر میں کھل جائے۔
ترتیب درج ذیل ترتیب سے طے ہوتی ہے: کمانڈ لائن آرگیومنٹس، environment variables، config فائل، پھر defaults۔ ترتیبات میں OPENAI_API_KEY، OPENAI_BASE_URL، OPENAI_MODEL، provider، locale، generate count، timeout، max-length اور type شامل ہیں۔ `aicommits config`، `aicommits config get`، `aicommits config set`، `aicommits model` اور `aicommits update` جیسے کمانڈز ترتیب اور اپ گریڈ کا انتظام کرتے ہیں۔
یہ ٹول صرف Git کے اسٹیج شدہ snapshot کو پڑھتا ہے، لہٰذا غیر اسٹیج شدہ ترامیم ماڈل کو نہیں بھیجی جاتیں۔ README میں بتایا گیا ہے کہ متعدد پیغامات بنانے سے زیادہ tokens استعمال ہوتے ہیں اور اس لیے لاگت بھی بڑھ جاتی ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.