راهنمای نصب Skill
فایل SKILL.md را دانلود کنید و در مسیر مخصوص ایجنت موردنظرتان قرار دهید. پیشنهاد میکنیم پیش از فعالسازی، محتوای کامل فایل و سطح دسترسی آن را بررسی کنید.
Codex
~/.codex/skills/typescript-module-boundary-review/SKILL.mdClaude Code
.claude/skills/typescript-module-boundary-review/SKILL.mdCursor
.cursor/skills/typescript-module-boundary-review/SKILL.mdGitHub Copilot
.github/skills/typescript-module-boundary-review/SKILL.md</>مشاهده محتوای خام SKILL.mdفقط دستورالعملهایی را ببینید که ایجنت برنامهنویسی دریافت میکند؛ بدون عنوان، تگ و متادیتای کاتالوگ.
---
name: "typescript-module-boundary-review"
description: "ماژولهای TypeScript را از نظر dependency direction، public API، circular dependency و import leakage بررسی کن و با کمترین تغییر لازم boundaryها را قابلاعتماد کن."
---
# بازبینی Boundary ماژولها در TypeScript
این Skill را برای audit یا refactor مرز ماژولهای TypeScript فعال کن؛ مخصوصاً وقتی deep import، circular dependency، shared نامرتب یا coupling بین Featureها تغییرات را پرریسک کرده است.
## Workflow
1. scope و entry pointهای عمومی هر ماژول را پیدا کن.
2. importهای ورودی و خروجی را به شکل dependency graph ثبت کن.
3. deep importهایی را که جزئیات داخلی ماژول دیگر را مصرف میکنند مشخص کن.
4. cycleها را تا کوچکترین حلقه قابلتوضیح کاهش بده.
5. ownership هر type، service و utility را براساس دلیل تغییر تعیین کن.
6. کوچکترین public API لازم را تعریف کن؛ barrel عمومی بزرگ نساز.
7. ابتدا importها را اصلاح کن و فقط وقتی لازم است فایل جابهجا کن.
8. type-check، lint، test و build موجود پروژه را اجرا کن.
## قواعد تصمیمگیری
- `shared` مقصد پیشفرض کد مبهم نیست.
- فقط برای حذف یک import ناخوشایند abstraction جدید نساز.
- type-only dependency را از runtime dependency جدا بررسی کن.
- public API باید مصرفکننده را از layout داخلی ماژول مستقل کند.
- cycle را با service locator یا global singleton پنهان نکن.
- convention فعلی repo را حفظ کن مگر شواهد مستقیم برای تغییر آن وجود داشته باشد.
## خروجی مورد انتظار
```text
Boundary finding:
Evidence:
Direction today:
Desired direction:
Smallest change:
Risk:
Validation:
```
در پایان، graph ساده dependency، cycleهای باقیمانده، public APIهای تغییرکرده و هر rule پیشنهادی برای جلوگیری از regression را گزارش کن. rule جدید lint یا tooling را فقط وقتی پیشنهاد بده که مشکل تکرارشونده و قابلاندازهگیری باشد.
این Skill را برای audit یا refactor مرز ماژولهای TypeScript فعال کن؛ مخصوصاً وقتی deep import، circular dependency، shared نامرتب یا coupling بین Featureها تغییرات را پرریسک کرده است.
Workflow
- scope و entry pointهای عمومی هر ماژول را پیدا کن.
- importهای ورودی و خروجی را به شکل dependency graph ثبت کن.
- deep importهایی را که جزئیات داخلی ماژول دیگر را مصرف میکنند مشخص کن.
- cycleها را تا کوچکترین حلقه قابلتوضیح کاهش بده.
- ownership هر type، service و utility را براساس دلیل تغییر تعیین کن.
- کوچکترین public API لازم را تعریف کن؛ barrel عمومی بزرگ نساز.
- ابتدا importها را اصلاح کن و فقط وقتی لازم است فایل جابهجا کن.
- type-check، lint، test و build موجود پروژه را اجرا کن.
قواعد تصمیمگیری
sharedمقصد پیشفرض کد مبهم نیست.- فقط برای حذف یک import ناخوشایند abstraction جدید نساز.
- type-only dependency را از runtime dependency جدا بررسی کن.
- public API باید مصرفکننده را از layout داخلی ماژول مستقل کند.
- cycle را با service locator یا global singleton پنهان نکن.
- convention فعلی repo را حفظ کن مگر شواهد مستقیم برای تغییر آن وجود داشته باشد.
خروجی مورد انتظار
Boundary finding:
Evidence:
Direction today:
Desired direction:
Smallest change:
Risk:
Validation:
در پایان، graph ساده dependency، cycleهای باقیمانده، public APIهای تغییرکرده و هر rule پیشنهادی برای جلوگیری از regression را گزارش کن. rule جدید lint یا tooling را فقط وقتی پیشنهاد بده که مشکل تکرارشونده و قابلاندازهگیری باشد.