دستورهای CLI

دیگ فقط یک رجیستریِ کامپوننت نیست، یک CLIِ کاملِ مدیریتِ چرخهٔ حیاتِ دیزاین‌سیستم است. این صفحه همهٔ دستورهای پایه را پوشش می‌دهد؛ برای لایهٔ هوشمندی و AI (health، doctor، migrate-assist --explain) به هوشِ دیزاین‌سیستم مراجعه کنید.

فهرستِ دستورها

دستورکاربرد
dig initراه‌اندازیِ دیگ در پروژه (ساختِ dig.json)
dig addافزودنِ یک یا چند کامپوننت از رجیستری
dig diffمقایسهٔ فقط‌خواندنیِ نسخهٔ نصب‌شده با رجیستری/فایل‌های محلی
dig updateبه‌روزرسانیِ ایمنِ کامپوننت‌های نصب‌شده
dig migrateبرنامه‌ریزی/اعمالِ مهاجرت‌های بینِ نسخه‌ها
dig migrate-assistپیشنهادِ عملیِ مهاجرت برای یک کامپوننتِ مشخص
dig impactکامپوننت‌هایی که به یک وابستگی متکی‌اند
dig releaseیادداشتِ انتشارِ نسخهٔ فعلیِ یک کامپوننت
dig statusوضعیتِ چرخهٔ حیات (فعال/منسوخ/حذف‌شده)
dig governanceگزارشِ ترکیبیِ وابستگی + مهاجرت + چرخهٔ حیات + انتشار
dig scanیافتنِ استفاده‌های JSXِ یک کامپوننت در ریپازیتوریِ محلی

dig init

راه‌اندازیِ اولیه: ساختِ dig.json با تنظیماتِ style، alias‌ها، Tailwind و آدرسِ رجیستری.

dig init

dig add

نصبِ یک یا چند کامپوننت. فایل‌ها و وابستگی‌های ثبت‌شدهٔ npm خودکار اضافه می‌شوند و در .dig/registry-lock.json ثبت می‌شوند.

dig add button
dig add button separator --overwrite

dig diff

مقایسهٔ فقط‌خواندنیِ نسخهٔ نصب‌شده با رجیستری و با فایلِ محلی، تشخیصِ اینکه آیا فایل را شخصی‌سازی کرده‌اید یا رجیستری جلوتر رفته. هیچ فایلی تغییر نمی‌کند.

dig diff button
dig diff button --details

dig update

به‌روزرسانیِ ایمن: فقط فایل‌هایی را بازنویسی می‌کند که از زمانِ نصب دست‌نخورده مانده‌اند؛ فایل‌هایی که شخصی‌سازی کرده‌اید نادیده گرفته می‌شوند (مگر --overwrite).

dig update button --dry-run
dig update button

dig migrate

بررسی/اعمالِ مهاجرت‌های بینِ نسخهٔ نصب‌شده و رجیستری. دو راهبرد را پشتیبانی می‌کند: جایگزینیِ متنیِ ساده (replace) و مهاجرتِ مبتنی‌بر AST برای عملیاتِ rename-prop (تبدیلِ propِ بولی به propِ رشته‌ای، مثلِ primary به variant="primary"). مهاجرت‌های manual فقط توضیح داده می‌شوند، خودکار اجرا نمی‌شوند.

dig migrate button --plan
dig migrate button --dry-run
dig migrate button --apply

اجرای واقعی همیشه از سیستمِ عکس‌فوری/بازگردانیِ موجود استفاده می‌کند: پیش از نوشتن، محتوای فعلیِ هر فایل در حافظه نگه داشته می‌شود؛ اگر نوشتنِ هر فایلی در همان دسته شکست بخورد، همهٔ فایل‌های همان دسته به حالتِ قبل بازمی‌گردند و نه lock نه عکس‌فوری تغییر می‌کند.

dig migrate-assist

v3

بسطِ یافته‌های dig doctor به یک پیشنهادِ عملی برای یک کامپوننتِ مشخص: اگر مهاجرتی موجود باشد همان پیشنهاد می‌شود؛ اگر نه ولی چرخهٔ‌حیات جایگزینی معرفی کرده، همان پیشنهاد می‌شود؛ در غیرِ این صورت نیازِ بررسیِ دستی اعلام می‌شود. فقط پیشنهاد می‌دهد، هیچ فایلی تغییر نمی‌کند و dig migrate خودکار اجرا نمی‌شود.

dig migrate-assist button
dig migrate-assist button --explain

dig impact

کدام کامپوننت‌های رجیستری (مستقیم یا غیرمستقیم) به یک وابستگی متکی‌اند، روی کلِ کاتالوگ کار می‌کند، نه فقط چیزی که نصب کرده‌اید.

dig impact tokens

dig release

یادداشتِ انتشارِ نسخهٔ فعلیِ رجیستری برای یک یا چند کامپوننت.

dig release button

dig status

وضعیتِ چرخهٔ حیاتِ رجیستری (فعال/منسوخ/حذف‌شده) برای یک یا چند کامپوننت.

dig status button

dig governance

گزارشِ حاکمیت: تأثیرِ وابستگی + نیازِ مهاجرت + چرخهٔ حیات + انتشار برای یک کامپوننت، در یک نگاه: ترکیبِ چهار سیستمِ موجود، نه یک محاسبهٔ تازه.

dig governance button
dig governance button --scan

پرچمِ --scan با اسکنِ فقط‌خواندنیِ ریپازیتوریِ فعلی، بخشِ اختیاریِ repositoryImpact (تعدادِ استفادهٔ محلی) را هم اضافه می‌کند.

dig scan

v2

یافتنِ استفاده‌های JSXِ یک کامپوننت در ریپازیتوریِ محلی، فقط تطبیقِ دقیقِ نامِ تگ (نه پیشوند/شامل)، پس <ButtonComponent /> یا <MyButton /> نادیده گرفته می‌شوند. کاملاً فقط‌خواندنی.

dig scan button
dig scan button --json

خروجیِ JSON

تقریباً همهٔ دستورها پرچمِ --json دارند تا در اسکریپت/CI هم قابلِ استفاده باشند، همان دادهٔ نمایشِ متنی، فقط ساخت‌یافته:

dig-status.json
{
  "statuses": [
    {
      "name": "old-input",
      "version": "3.0.0",
      "lifecycle": {
        "status": "deprecated",
        "replacement": "input"
      }
    }
  ]
}