Skip to content

مشارکت در Hatcher

از علاقه‌تان به مشارکت در Hatcher متشکریم! این راهنما به شما کمک می‌کند تا شروع به مشارکت در پروژه کنید.

قوانین رفتاری

با شرکت در این پروژه، شما موافقت می‌کنید که از قوانین رفتاری ما پیروی کنید. لطفاً قبل از مشارکت آن را بخوانید.

شروع کار

راه‌اندازی توسعه

  1. Fork و Clone

    bash
    git clone https://github.com/your-username/dx-engine.git
    cd dx-engine
  2. نصب وابستگی‌ها

    bash
    pnpm install
  3. راه‌اندازی سرور توسعه

    bash
    pnpm dev

ساختار پروژه

dx-engine/
├── apps/
│   ├── electron/          # فرآیند اصلی Electron
│   ├── web/              # فرآیند رندر (Vue.js)
│   ├── preload/          # اسکریپت‌های پیش‌بارگذاری
│   └── docs/             # مستندات VitePress
├── universal/
│   ├── vite-plugin/      # پلاگین‌های سفارشی Vite
│   └── puppeteer-google-translate/
└── scripts/              # اسکریپت‌های ساخت و توسعه

راه‌های مشارکت

گزارش باگ‌ها

هنگام گزارش باگ‌ها، لطفاً موارد زیر را شامل کنید:

  • توضیح روشن: چه اتفاقی افتاد در مقابل چه انتظاری داشتید
  • مراحل بازتولید: مراحل مفصل برای بازسازی مشکل
  • محیط: سیستم عامل، نسخه Node.js، نسخه pnpm
  • تصاویر: در صورت لزوم، شواهد بصری ارائه دهید

هنگام ایجاد issue از الگوی گزارش باگ ما استفاده کنید.

درخواست‌های ویژگی

ما از درخواست‌های ویژگی استقبال می‌کنیم! لطفاً موارد زیر را شامل کنید:

  • مورد استفاده: چرا این ویژگی مورد نیاز است؟
  • راه‌حل پیشنهادی: چگونه باید کار کند؟
  • جایگزین‌ها: چه رویکردهای دیگری در نظر گرفتید؟

از الگوی درخواست ویژگی ما استفاده کنید.

مشارکت‌های کد

قبل از شروع

  1. بررسی Issue‌های موجود: به دنبال issue‌ها یا درخواست‌های ویژگی مرتبط بگردید
  2. بحث در مورد تغییرات بزرگ: یک issue برای بحث در مورد تغییرات مهم باز کنید
  3. کوچک شروع کنید: با مشارکت‌های کوچک و متمرکز شروع کنید

جریان کاری توسعه

  1. ایجاد شاخه

    bash
    git checkout -b feature/your-feature-name
  2. ایجاد تغییرات

    • استانداردهای کدنویسی ما را دنبال کنید (پایین را ببینید)
    • تست‌هایی برای عملکرد جدید بنویسید
    • در صورت نیاز مستندات را به‌روزرسانی کنید
  3. تست تغییرات

    bash
    pnpm build
    pnpm test
  4. Commit تغییرات

    bash
    git commit -m "feat: add amazing new feature"

    ما از فرمت Conventional Commits پیروی می‌کنیم.

  5. Push و ایجاد PR

    bash
    git push origin feature/your-feature-name

استانداردهای کدنویسی

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

📋 راهنمای کامل استانداردهای کدنویسی

مرجع سریع

TypeScript

  • برای تمام کدهای جدید از TypeScript با فعال‌سازی حالت strict استفاده کنید
  • برای اشکال اشیاء، interface را به type ترجیح دهید
  • برای متغیرها و توابع از نام‌های معنادار و توصیفی استفاده کنید
  • برای تمام APIهای عمومی کامنت‌های JSDoc شامل کنید

Vue.js

  • از Composition API با syntax <script setup> استفاده کنید
  • props و emits را با interface‌های TypeScript تعریف کنید
  • برای منطق قابل استفاده مجدد، composable‌ها را ترجیح دهید
  • ساختار کامپوننت تک‌فایله را دنبال کنید: script → template → style

ابزارهای کیفیت کد

ما از ابزارهای خودکار برای اعمال استانداردها استفاده می‌کنیم:

bash
# lint و اصلاح مسائل سبک کد
pnpm lint:fix

# بررسی نوع
pnpm typecheck

# اجرای تمام تست‌ها
pnpm test

# فرمت کردن کد
pnpm format

فرآیند Pull Request

قبل از ارسال

  • [ ] کد از استانداردهای پروژه پیروی می‌کند
  • [ ] تست‌ها به صورت محلی پاس می‌شوند
  • [ ] مستندات به‌روزرسانی شده است
  • [ ] تغییرات متمرکز و اتمی هستند

الگوی توضیحات PR

markdown
## توضیحات

توضیح مختصر تغییرات

## نوع تغییر

- [ ] رفع باگ
- [ ] ویژگی جدید
- [ ] تغییر شکننده
- [ ] به‌روزرسانی مستندات

## تست

- [ ] تست‌های واحد اضافه/به‌روزرسانی شدند
- [ ] تست‌های یکپارچگی اضافه/به‌روزرسانی شدند
- [ ] تست دستی تکمیل شد

جامعه

کانال‌های ارتباطی

  • GitHub Issues: گزارش‌های باگ و درخواست‌های ویژگی
  • GitHub Discussions: سوالات عمومی و ایده‌ها
  • Discord: چت بلادرنگ با جامعه
  • Twitter: @HatcherDX را برای به‌روزرسانی‌ها دنبال کنید

رهنمودهای جامعه

  • احترام‌آمیز باشید: با همه با احترام رفتار کنید
  • سازنده باشید: روی راه‌حل‌ها متمرکز شوید، نه مشکلات
  • صبور باشید: به یاد داشته باشید همه ما داوطلب هستیم
  • مفید باشید: دانش را به اشتراک بگذارید و به دیگران کمک کنید

منابع توسعه

لینک‌های مفید

سوال دارید؟

اگر در مورد مشارکت سوالی دارید:

  1. GitHub Discussions موجود را بررسی کنید
  2. به جامعه Discord ما بپیوندید
  3. یک بحث یا issue جدید ایجاد کنید

از مشارکت در Hatcher متشکریم! با هم، آینده توسعه با کمک هوش مصنوعی را می‌سازیم.

Released under the MIT License. Built with ❤️ by Chriss Mejía and the Hatcher community.