بازگشت به Field Notes

یادداشت تصمیم ابزار توسعه

عقب‌انداختن side effect در مولد پروژه

چرا create-mohsen-app ابتدا intent را جمع می‌کند، مقصد ناامن را رد می‌کند، templateهای انتخابی را می‌سازد و نصب را به پایان می‌برد.

مسیر تصمیم

زمینه پیش از نتیجه

انتخاب همراه محدودیت و مسیرهای ردشده نمایش داده می‌شود تا trade-off قابل‌بررسی باشد.

  1. 1زمینه

    راه‌اندازی تکراری Next.js همان انتخاب‌های دستی زبان، استایل، API، state، lint و runtime را دوباره ایجاد می‌کرد. کپی یک starter ثابت ساده بود، اما انتخاب‌های اختیاری یا فایل بلااستفاده باقی می‌گذاشتند یا تعداد نسخه‌های کامل template را زیاد می‌کردند.

  2. 2محدودیت

    generator در filesystem توسعه‌دهنده می‌نویسد. نباید دربارهٔ merge در مقصد غیرخالی حدس بزند و لغو نباید پروژه‌ای نیمه‌تنظیم‌شده باقی بگذارد. بنابراین انتخاب‌های لازم باید پیش از شروع تغییر template مشخص باشند.

  3. 3گزینه‌ها
    • نوشتن فایل پس از هر پاسخ prompt و پاک‌سازی در صورت لغو یکی از promptهای بعدی.
    • overwrite یا merge خودکار starter تولیدشده در پوشهٔ غیرخالی.
    • نگه‌داری یک starter کامل برای هر ترکیب ممکن از گزینه‌ها.
  4. 4انتخاب

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

  5. 5پیامد

    نتیجه یک CLI منتشرشدهٔ TypeScript، مخزن عمومی و پکیج قابل‌بررسی npm است. شواهد، تحویل و توالی تصمیم را پشتیبانی می‌کنند؛ نه adoption دانلود یا زمان ذخیره‌شده را. یادگیری این است که لغو و ایمنی مقصد رفتار محصول‌اند، نه حاشیهٔ پیاده‌سازی.

نتیجه / یادگیری

شواهد از چه چیزی پشتیبانی می‌کنند

نتیجه یک CLI منتشرشدهٔ TypeScript، مخزن عمومی و پکیج قابل‌بررسی npm است. شواهد، تحویل و توالی تصمیم را پشتیبانی می‌کنند؛ نه adoption دانلود یا زمان ذخیره‌شده را. یادگیری این است که لغو و ایمنی مقصد رفتار محصول‌اند، نه حاشیهٔ پیاده‌سازی.

Artifact / شاهد

کار پشت یادداشت را بررسی کنید

این‌ها مسیرهای زنده، محل‌های سورس، مخزن‌ها یا پکیج‌های منتشرشده‌ای هستند که شاهد متن بالا محسوب می‌شوند.

مسیر زنده

کیس کامل create-mohsen-app

جریان کامل، trade-offها، تصویر واقعی CLI و محدودیت‌های شاهد.

بررسی artifact

سورس

سورس orchestration مربوط به CLI

فایل entry عمومی که انتخاب‌ها، بررسی مقصد، کار template و نصب در آن قابل‌بررسی است.

بررسی artifact

سورس

درخت templateهای ترکیب‌پذیر

ساختار پایه و افزونه‌ها پشت تصمیم composition.

بررسی artifact

پکیج

پکیج منتشرشده در npm

شاهد بسته‌بندی و انتشار CLI، بدون القای adoption.

بررسی artifact
محسن