Docs GitHub
-- --
Theme:
Language:
EN فا

راهنمای مشارکت (Contributing Guide)#

از اینکه علاقه‌مند به مشارکت در توسعه bgscan هستید، صمیمانه سپاسگزاریم! تک‌تک مشارکت‌های شما — چه در قالب رفع باگ، چه بهبود مستندات و چه پیاده‌سازی قابلیت‌های جدید — برای ما بسیار ارزشمند است.

قبل از شروع#

  • پیش از باز کردن یک ایشو (Issue) جدید، ابتدا لیست ایشوهای موجود را جستجو کنید تا از عدم وجود گزارش مشابه مطمئن شوید.
  • اگر قصد دارید قابلیت بزرگ یا تغییر عمده‌ای در پروژه ایجاد کنید، لطفاً ابتدا یک ایشو باز کنید تا درباره آن با هم گفتگو کنیم.
  • درخواست‌های ادغام (Pull Requests) خود را کوچک نگه دارید و تنها روی یک تغییر مشخص تمرکز کنید.

استراتژی شاخه‌ها (Branch Strategy)#

لطفاً به هیچ عنوان تغییرات خود را مستقیماً روی شاخه main کامیت نکنید.

ابتدا یک شاخه (Branch) جدید از روی شاخه main بسازید:

git checkout main
git pull origin main
git checkout -b feature/my-feature

نام‌های پیشنهادی برای شاخه‌ها:

feature/add-xray-parser
feature/ui-improvements
fix/memory-leak
fix/windows-build
docs/update-readme
refactor/scanner
test/unit-tests

سبک کدنویسی (Coding Style)#

  • از قواعد و کنوانسیون‌های فعلی پروژه پیروی کنید.
  • کدها را تا حد امکان ساده و خوانا بنویسید.
  • کامیت‌های کوچک، منسجم و هدفمند را ترجیح دهید.
  • از اعمال تغییرات ظاهری و فرمت‌دهی‌های نامربوط در بخش‌های دیگر کد خودداری کنید.
  • کامنت‌ها را تنها در نقاطی که واقعاً نیاز به توضیح دارند اضافه کنید.

پیام‌های کامیت (Commit Messages)#

از پیام‌های توصیفی و استاندارد برای کامیت‌های خود استفاده کنید.

نمونه‌ها:

feat: add HTTP/3 support
fix: resolve race condition in scanner
docs: improve installation guide
refactor: simplify writer pipeline
test: add unit tests for parser

درخواست‌های ادغام (Pull Requests)#

پیش از باز کردن یک Pull Request، مطمئن شوید که:

  • پروژه بدون هیچ خطایی با موفقیت بیلد (Build) می‌شود.
  • تمام تست‌های موجود با موفقیت پاس می‌شوند.
  • برای قابلیت‌های جدید، تست‌های لازم نوشته شده است.
  • مستندات مربوطه (در صورت نیاز) به‌روزرسانی شده‌اند.

لطفاً در توضیحات PR خود موارد زیر را بگنجانید:

  • چه چیزی تغییر کرده است؟
  • چرا این تغییر اعمال شده است؟
  • اسکرین‌شات‌ها (برای تغییرات مربوط به رابط کاربری UI)
  • شماره ایشو مرتبط (در صورت وجود)

گزارش باگ‌ها (Reporting Bugs)#

هنگام گزارش باگ، تا حد امکان جزئیات بیشتری را در اختیار ما بگذارید:

  • سیستم‌عامل (Operating System)
  • معماری پردازنده (Architecture)
  • نسخه bgscan
  • فایل پیکربندی (Configuration)
  • مراحل بازتولید باگ (Steps to reproduce)
  • رفتار مورد انتظار (Expected behavior)
  • رفتار واقعی رخ‌داده (Actual behavior)
  • فایل‌های لاگ (در صورت در دسترس بودن)

درخواست قابلیت‌های جدید (Feature Requests)#

لطفاً موارد زیر را شرح دهید:

  • مشکلی که در صدد حل آن هستید.
  • راه‌حل پیشنهادی شما.
  • جایگزین‌های احتمالی دیگر.
  • هرگونه توضیحات یا پس‌زمینه تکمیلی.

منشور اخلاقی (Code of Conduct)#

همواره محترمانه و سازنده رفتار کنید.

ما از گفتگوهای چالش‌برانگیز و پویا استقبال می‌کنیم؛ اما حملات شخصی، توهین، مزاحمت یا هرگونه رفتار غیرمحترمانه به هیچ وجه تحمل نخواهد شد.

از اینکه به بهتر شدن bgscan کمک می‌کنید، متشکریم!


صفحات مرتبط#