• صفحه اصلی
  • درباره من
  • مهارت‌های ایجنت
  • پروژه‌ها
  • بلاگ
  • مشاوره
  • تماس با من
مشاورهرزومه
مهارت‌های ایجنت‌های برنامه‌نویسی/معماری/طراحی معماری Feature-Based در React

طراحی معماری Feature-Based در React

ساختار پروژه React یا Next.js را با مرزهای روشن، مالکیت Featureها، قواعد کد مشترک و Importهای مقیاس‌پذیر طراحی، بازبینی یا بازآرایی کن.

ReactNext.jsمعماری Feature-Basedمقیاس‌پذیری

راهنمای نصب Skill

فایل SKILL.md را دانلود کنید و در مسیر مخصوص ایجنت موردنظرتان قرار دهید. پیشنهاد می‌کنیم پیش از فعال‌سازی، محتوای کامل فایل و سطح دسترسی آن را بررسی کنید.

Codex

~/.codex/skills/feature-based-react/SKILL.md

Claude Code

.claude/skills/feature-based-react/SKILL.md

Cursor

.cursor/skills/feature-based-react/SKILL.md

GitHub Copilot

.github/skills/feature-based-react/SKILL.md
</>مشاهده محتوای خام SKILL.mdفقط دستورالعمل‌هایی را ببینید که ایجنت برنامه‌نویسی دریافت می‌کند؛ بدون عنوان، تگ و متادیتای کاتالوگ.
فایل منبع: feature-based-react/SKILL.md
---
name: "feature-based-react"
description: "ساختار پروژه React یا Next.js را با مرزهای روشن، مالکیت Featureها، قواعد کد مشترک و Importهای مقیاس‌پذیر طراحی، بازبینی یا بازآرایی کن."
---

# طراحی معماری Feature-Based در React

این Skill را برای طراحی ساختار پروژه React، بازبینی مرز ماژول‌ها یا مهاجرت تدریجی یک کدبیس به سمت مالکیت Featureها فعال کن.

## مدل هدف

رفتار کسب‌وکار را براساس Feature سازمان‌دهی کن. زیرساخت سراسری را در `core`، Primitiveهای واقعاً مشترک را در صورت نیاز در `shared` و ترکیب Routeها را نزدیک ورودی Router نگه دار.

```text
src/
  core/
    api/
    config/
    providers/
  features/
    auth/
      api/
      components/
      hooks/
      model/
      index.ts
    checkout/
      ...
  shared/
    ui/
    lib/
```

نام‌ها را با پروژه هماهنگ کن و وقتی ساختار فعلی معادل سالمی دارد، این درخت را تحمیل نکن.

## روند کار

1. Routeها، قابلیت‌های محصول، مالکیت State، API clientها و جهت Importهای فعلی را بررسی کن.
2. Featureها را براساس مسئولیت کسب‌وکار، نه نوع فنی فایل، شناسایی کن.
3. هر Component، Hook، Request و Type را به بخشی بسپار که دلیل تغییر آن را مالک است.
4. زیرساخت فراگیر را در `core` نگه دار و فقط پس از وجود دست‌کم دو مصرف‌کننده واقعی، کد را مشترک کن.
5. برای هر Feature یک ورودی عمومی کوچک تعریف کن و جزئیات داخلی را خصوصی نگه دار.
6. وابستگی دوری را حذف کن. وابستگی Feature به `core/shared` مجاز است؛ وابستگی میان Featureها باید محدود و صریح باشد.
7. فایل Route را نازک نگه دار: ترکیب Feature، بارگذاری داده Route و متادیتای Framework.
8. مهاجرت را مرحله‌ای انجام بده و رفتار را پس از هر بخش اعتبارسنجی کن.

## قواعد تصمیم‌گیری

- تست، Style، Schema و Type اختصاصی را کنار مالک Feature قرار بده.
- پوشه‌های عمومی `components`، `hooks` و `utils` را به انبار نامرتب تبدیل نکن.
- زودتر از نیاز Abstract نکن؛ تکرار محدود از وابستگی مشترک اشتباه کم‌هزینه‌تر است.
- نام دامنه‌ای مانند `checkout` و `permissions` را به `common` ترجیح بده.
- کوچک‌ترین API عمومی لازم را صادر کن.

در خروجی، نقشه مسئولیت‌های فعلی، مشکلات مرزی اولویت‌بندی‌شده، درخت پیشنهادی با نام‌های واقعی پروژه، جهت مجاز Import و مراحل مهاجرت را ارائه کن. هنگام Refactor، Type Check، تست، Lint و Build را در حد امکانات پروژه اجرا کن.

این Skill را برای طراحی ساختار پروژه React، بازبینی مرز ماژول‌ها یا مهاجرت تدریجی یک کدبیس به سمت مالکیت Featureها فعال کن.

مدل هدف

رفتار کسب‌وکار را براساس Feature سازمان‌دهی کن. زیرساخت سراسری را در core، Primitiveهای واقعاً مشترک را در صورت نیاز در shared و ترکیب Routeها را نزدیک ورودی Router نگه دار.

src/
  core/
    api/
    config/
    providers/
  features/
    auth/
      api/
      components/
      hooks/
      model/
      index.ts
    checkout/
      ...
  shared/
    ui/
    lib/

نام‌ها را با پروژه هماهنگ کن و وقتی ساختار فعلی معادل سالمی دارد، این درخت را تحمیل نکن.

روند کار

  1. Routeها، قابلیت‌های محصول، مالکیت State، API clientها و جهت Importهای فعلی را بررسی کن.
  2. Featureها را براساس مسئولیت کسب‌وکار، نه نوع فنی فایل، شناسایی کن.
  3. هر Component، Hook، Request و Type را به بخشی بسپار که دلیل تغییر آن را مالک است.
  4. زیرساخت فراگیر را در core نگه دار و فقط پس از وجود دست‌کم دو مصرف‌کننده واقعی، کد را مشترک کن.
  5. برای هر Feature یک ورودی عمومی کوچک تعریف کن و جزئیات داخلی را خصوصی نگه دار.
  6. وابستگی دوری را حذف کن. وابستگی Feature به core/shared مجاز است؛ وابستگی میان Featureها باید محدود و صریح باشد.
  7. فایل Route را نازک نگه دار: ترکیب Feature، بارگذاری داده Route و متادیتای Framework.
  8. مهاجرت را مرحله‌ای انجام بده و رفتار را پس از هر بخش اعتبارسنجی کن.

قواعد تصمیم‌گیری

  • تست، Style، Schema و Type اختصاصی را کنار مالک Feature قرار بده.
  • پوشه‌های عمومی components، hooks و utils را به انبار نامرتب تبدیل نکن.
  • زودتر از نیاز Abstract نکن؛ تکرار محدود از وابستگی مشترک اشتباه کم‌هزینه‌تر است.
  • نام دامنه‌ای مانند checkout و permissions را به common ترجیح بده.
  • کوچک‌ترین API عمومی لازم را صادر کن.

در خروجی، نقشه مسئولیت‌های فعلی، مشکلات مرزی اولویت‌بندی‌شده، درخت پیشنهادی با نام‌های واقعی پروژه، جهت مجاز Import و مراحل مهاجرت را ارائه کن. هنگام Refactor، Type Check، تست، Lint و Build را در حد امکانات پروژه اجرا کن.

مشخصات Skill

نسخه
1.0.0
آخرین تغییر
2026-08-08
دسته‌بندی
معماری
سطح پیچیدگی
پیشرفته
مجوز
MIT
نویسنده
Naser Rasouli

سطح دسترسی و اجرا

امکان اجرای اسکریپتندارد
دسترسی شبکهندارد

مقاله منبع

برای توضیح عمیق‌تر مفاهیم، زمینه و مثال‌ها، مقاله‌ای را بخوانید که این Skill از آن ساخته شده است.