{
  "title": "تعریف انجام شده",
  "slug": "team/platform/standards/definition-of-done",
  "url": "/docs/team/platform/standards/definition-of-done",
  "frontmatter": {
    "layout": "doc",
    "title": "تعریف انجام شده",
    "description": "معیارهای پذیرش Feature، Service و Pull Request — چک‌لیست کامل DoD",
    "version": "1.0.0",
    "status": "PRIVATE",
    "author": "xoxxel",
    "owner": "xoxxel",
    "created_at": "2026-06-07",
    "updated_at": "2026-06-07",
    "tags": "",
    "reviewers": ""
  },
  "sections": [
    {
      "level": 1,
      "heading": "تعریف انجام شده",
      "content": "**Definition Of Done (DoD)**\n\nنسخه 1.0 | معیار پذیرش برای همه Features، Services و Pull Requests\n\n---"
    },
    {
      "level": 2,
      "heading": "اصل کلی",
      "content": "هیچ قابلیت، سرویس یا Pull Requestای کامل محسوب نمی‌شود مگر اینکه **همه** شرایط زیر را داشته باشد.\n\n---"
    },
    {
      "level": 2,
      "heading": "1. چک‌لیست اصلی",
      "content": ""
    },
    {
      "level": 3,
      "heading": "کد (Code)",
      "content": "- [ ] پیاده‌سازی کامل انجام شده است\n- [ ] کد از قراردادهای نام‌گذاری پیروی می‌کند\n- [ ] کد از قوانین زبانی (انگلیسی) پیروی می‌کند\n- [ ] هیچ `console.log` یا عبارت Debug باقی نمانده است\n- [ ] هیچ راز یا اعتباری در کد نیست\n- [ ] خطاها به درستی مدیریت شده‌اند (بدون try/catch خالی)\n- [ ] کد توسط حداقل یک نفر دیگر Review شده است"
    },
    {
      "level": 3,
      "heading": "تست (Testing)",
      "content": "- [ ] تست‌های واحد (Unit) برای منطق بحرانی نوشته شده است\n- [ ] تست‌های یکپارچه (Integration) برای مسیر خوشحال و خطاها نوشته شده است\n- [ ] همه تست‌ها به صورت محلی قبول می‌شوند\n- [ ] تست‌ها در CI سبز هستند"
    },
    {
      "level": 3,
      "heading": "مستندات (Documentation)",
      "content": "- [ ] `docs/README.md` به‌روزرسانی شده است (در صورت تغییر رفتار)\n- [ ] `docs/openapi.yaml` به‌روزرسانی شده است (در صورت تغییر API)\n- [ ] `docs/events.md` به‌روزرسانی شده است (در صورت تغییر رویدادها)\n- [ ] `docs/database.md` به‌روزرسانی شده است (در صورت تغییر دیتابیس)"
    },
    {
      "level": 3,
      "heading": "دمو (Demo)",
      "content": "- [ ] `demo/index.html` به‌روزرسانی شده است (در صورت تغییر رفتار قابل مشاهده)\n- [ ] دمو در مرورگر به درستی کار می‌کند"
    },
    {
      "level": 3,
      "heading": "تغییرات (Changelog)",
      "content": "- [ ] `CHANGELOG.md` به‌روزرسانی شده است\n- [ ] مدخل در بخش `[نسخه منتشر نشده]` ثبت شده است"
    },
    {
      "level": 3,
      "heading": "پیکربندی (Configuration)",
      "content": "- [ ] `.env.example` به‌روزرسانی شده است (در صورت اضافه شدن متغیر جدید)\n- [ ] متغیرهای محیطی جدید مستند شده‌اند\n- [ ] Dockerfile در صورت نیاز به‌روزرسانی شده است"
    },
    {
      "level": 3,
      "heading": "زیرساخت (Infrastructure)",
      "content": "- [ ] Docker Image ساخته می‌شود\n- [ ] سرویس به صورت محلی قابل اجرا است\n- [ ] مهاجرت‌های دیتابیس (در صورت وجود) کار می‌کنند\n\n---"
    },
    {
      "level": 2,
      "heading": "2. چک‌لیست پیش از انتشار (Pre-release)",
      "content": "- [ ] نسخه سرویس مطابق با Semantic Versioning افزایش یافته است\n- [ ] CHANGELOG نهایی شده است (تاریخ به جای `[نسخه منتشر نشده]`)\n- [ ] Git Tag ایجاد شده است: `{service}/v{version}`\n- [ ] GitHub Release ایجاد شده است\n- [ ] مستندات Migration (در صورت MAJOR) آماده است\n\n---"
    },
    {
      "level": 2,
      "heading": "3. چک‌لیست Blueprint (فاز طراحی)",
      "content": "قبل از شروع توسعه هر سرویس:\n\n- [ ] `blueprint/blueprint.md` نوشته شده است\n- [ ] `blueprint/requirements.md` نوشته شده است\n- [ ] `blueprint/scenarios.md` نوشته شده است\n- [ ] API اولیه مشخص شده است\n- [ ] رویدادهای اولیه مشخص شده است\n- [ ] مدل داده اولیه طراحی شده است\n- [ ] حداقل یک نسخه از `demo/` (HTML/CSS) ساخته شده است\n- [ ] Blueprint توسط تیم تأیید شده است\n\n---"
    },
    {
      "level": 2,
      "heading": "4. مصادیق رد (وقتی DoD قبول نیست)",
      "content": "| سناریو | وضعیت |\n|---|---|\n| کد کار می‌کند اما تست ندارد | ❌ رد |\n| تست‌ها سبز هستند اما CHANGELOG به‌روز نشده | ❌ رد |\n| مستندات آپدیت شده اما دمو تغییر نکرده | ❌ رد (در صورت تغییر UI) |\n| همه چیز کامل است اما `.env.example` قدیمی است | ❌ رد |\n| کد انگلیسی است اما کامنت فارسی دارد | ❌ رد |\n| Blueprint تأیید نشده اما توسعه شروع شده | ❌ نقض فرآیند |\n\n---"
    },
    {
      "level": 2,
      "heading": "خلاصه",
      "content": "| معیار | وضعیت |\n|---|---|\n| پیاده‌سازی | ✅ اجباری |\n| تست‌ها | ✅ اجباری |\n| Blueprint | ✅ اجباری (پیش از توسعه) |\n| Demo | ✅ اجباری |\n| Documentation | ✅ اجباری |\n| CHANGELOG | ✅ اجباری |\n| CI موفق | ✅ اجباری |\n| Review | ✅ اجباری |\n| امنیت | ✅ اجباری |"
    }
  ]
}