مرحلہ وار AGENTS.md فائل بنائیں

AGENTS.md فائل آپ کے ریپوزٹری (repo) کی روٹ میں موجود ایک واحد مارک ڈاؤن فائل ہے۔ یہ AI کوڈنگ ایجنٹس کو بتاتی ہے کہ انہیں کیسے کام کرنا ہے۔ اس میں بلڈ اسٹیپس، ٹیسٹ اور قواعد شامل ہوتے ہیں۔

Python FastAPI پروجیکٹ کے لیے اسے بنانے کے لیے ان مراحل پر عمل کریں۔

1. اسٹیک (stack) کی وضاحت کریں

ایک جملے سے آغاز کریں۔ ایجنٹ کو زبان، فریم ورک اور ڈیٹا بیس کے بارے میں بتائیں۔ مثال: FastAPI، SQLite، اور pytest کا استعمال کرتے ہوئے Python میں ایک URL shortener API۔

2. سیٹ اپ کمانڈز فراہم کریں

ایجنٹ کو چلانے کے لیے اصل کمانڈز دیں۔ پلیس ہولڈرز (placeholders) کا استعمال نہ کریں۔

  • سیٹ اپ: python -m venv .venv && source .venv/bin/activate
  • چلائیں: uvicorn app.main:app --reload

3. ٹیسٹنگ کا معیار مقرر کریں

یہ انتہائی اہم ہے۔ ایجنٹ اپنے کام کو چیک کرنے کے لیے ٹیسٹ کا استعمال کرتا ہے۔

  • pytest چلائیں
  • ruff check چلائیں
  • mypy چلائیں

4. ڈھانچے (structure) کا نقشہ بنائیں

اپنے فولڈرز کی فہرست بنائیں تاکہ ایجنٹ کو ہر فائل تلاش نہ کرنی پڑے۔

  • app/main.py: روٹ ہینڈلرز (route handlers)
  • app/db.py: SQLite تک رسائی
  • migrations/: تیار کردہ SQL (ایڈٹ نہ کریں)

5. روایات (conventions) کی وضاحت کریں

واضح رہیں۔ مبہم قواعد بیکار ہوتے ہیں۔

  • تمام ان پٹ ویلیڈیشن کے لیے Pydantic کا استعمال کریں۔
  • کلائنٹ کی غلطیوں (client errors) کے لیے HTTPException اٹھائیں۔
  • mypy کو صاف رکھنے کے لیے ہر چیز کو ٹائپ (type) کریں۔

6. "کیا نہ کریں" (Don'ts) کی فہرست بنائیں

سخت حدود مقرر کر کے غلطیوں سے بچیں۔

  • مائیگریشنز (migrations) کو خود سے ایڈٹ نہ کریں۔
  • براہ راست main میں کمٹ (commit) نہ کریں۔
  • نان-لوکل ڈیٹا بیس پر کبھی بھی سیڈ اسکرپٹس (seed scripts) نہ چلائیں۔

یہ کیوں کام کرتا ہے

جب آپ کسی AI ایجنٹ کو "Add a DELETE endpoint" جیسا کام دیتے ہیں، تو وہ پہلے اس فائل کو پڑھتا ہے۔

AGENTS.md فائل کے ساتھ، ایجنٹ:

  • جانتا ہے کہ کوڈ بالکل کہاں شامل کرنا ہے۔
  • آپ کے مخصوص ٹیسٹنگ ٹولز استعمال کرتا ہے۔
  • سوالات پوچھے بغیر آپ کے اسٹائل کی پیروی کرتا ہے۔
  • آپ کے مین کوڈ کو خراب کرنے کے بجائے ایک برانچ (branch) کھولتا ہے۔

اس فائل کے بغیر، ایجنٹ اندازہ لگاتا ہے۔ یہ غلط ٹیسٹ رنر استعمال کر سکتا ہے یا ان فائلوں کو ایڈٹ کر سکتا ہے جنہیں اسے نہیں چھونا چاہیے۔

اس فائل کو کوڈ کی طرح سمجھیں۔ اگر آپ کا ورک فلو تبدیل ہوتا ہے، تو فائل کو فوری طور پر اپ ڈیٹ کریں۔ ایک پرانی (stale) فائل غلطیوں کا باعث بنتی ہے۔

ماخذ: https://dev.to/wolfejam/agentsmd-hands-on-build-one-step-by-step-and-watch-an-agent-use-it-3g27

اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi