https://github.com/tt-a1i/archify
آموزشی لینوکس هوش مصنوعی

افزونه Archify؛ تبدیل معماری پیچیده نرم‌افزار به یک نقشه تعاملی

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

در یک پروژه واقعی ممکن است با ده‌ها سرویس، API، دیتابیس، صف پیام، کش، سرویس احراز هویت، سرویس پرداخت و فرآیندهای مختلف روبه‌رو باشیم. برای اینکه بفهمیم این اجزا چگونه با یکدیگر ارتباط دارند، معمولاً سراغ ابزارهایی مثل Mermaid، Draw.io یا Figma می‌رویم و شروع به کشیدن دیاگرام می‌کنیم.

اما این کار خودش می‌تواند ساعت‌ها زمان ببرد.

اینجاست که Archify وارد می‌شود.

Archify چیست؟

Archify یک ابزار و Skill برای AI Coding Agentهاست که هدف آن تبدیل توضیحات یا ساختار یک پروژه نرم‌افزاری به دیاگرام‌های معماری تعاملی و قابل بررسی است.

ایده اصلی ساده است:

به جای اینکه توسعه‌دهنده معماری یک سیستم را دستی ترسیم کند، Agent می‌تواند ساختار سیستم را تحلیل کرده و آن را به یک نقشه قابل تعامل تبدیل کند.

Archify برای ابزارهایی مانند Codex، Claude Code، Cursor و OpenCode قابل استفاده است و بیشتر برای زمانی طراحی شده که می‌خواهیم معماری یک سیستم را سریع‌تر درک یا مستند کنیم.


مشکل اصلی چیست؟

فرض کنید وارد یک پروژه نسبتاً بزرگ شده‌اید.

ساختار پروژه چیزی شبیه این است:


اگر این پروژه را تازه ببینید، احتمالاً چند سؤال دارید:

  • درخواست کاربر از کجا وارد می‌شود؟
  • Authentication کجا انجام می‌شود؟
  • اطلاعات کجا ذخیره می‌شوند؟
  • Redis کجا استفاده شده؟
  • Order Service با چه سرویس‌هایی ارتباط دارد؟
  • Payment Service چه زمانی فراخوانی می‌شود؟
  • اگر پرداخت شکست بخورد چه اتفاقی می‌افتد؟

پیدا کردن جواب این سؤال‌ها در یک Repository بزرگ می‌تواند زمان‌بر باشد.

Archify تلاش می‌کند این اطلاعات را به شکل بصری در اختیار شما قرار دهد.


Archify چگونه کار می‌کند؟

یکی از نکات مهم Archify این است که AI مستقیماً یک تصویر PNG تولید نمی‌کند.

فرآیند کلی چیزی شبیه این است:


یعنی ابتدا Agent اطلاعات معماری را در قالب یک ساختار داده‌ای مشخص تولید می‌کند.

بعد Archify این ساختار را پردازش کرده و آن را به یک دیاگرام تعاملی تبدیل می‌کند.

این معماری یک مزیت مهم دارد: دیاگرام یک تصویر غیرقابل تغییر نیست، بلکه یک ساختار قابل پردازش است.


چرا این موضوع مهم است؟

تصویر ساده محدودیت زیادی دارد.

فرض کنید یک دیاگرام PNG ساخته‌اید و بعد متوجه می‌شوید که یک سرویس دیگر هم باید به آن اضافه شود.

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

اما وقتی دیاگرام بر اساس یک ساختار داده‌ای تولید شده باشد، تغییر دادن آن ساده‌تر است.

مثلاً می‌توان به Agent گفت:

سرویس Redis را به معماری اضافه کن و ارتباط آن با API را نمایش بده.

یا:

مسیر Authentication را از Browser تا Auth Service مشخص کن.

یا:

جریان پرداخت موفق و ناموفق را به صورت جداگانه نمایش بده.

این رویکرد باعث می‌شود دیاگرام بخشی از فرآیند توسعه نرم‌افزار شود، نه فقط یک تصویر ثابت برای مستندات.


چه نوع دیاگرام‌هایی می‌توان با Archify ساخت؟

Archify برای چند نوع مختلف از دیاگرام‌های فنی طراحی شده است.

۱. Architecture Diagram

برای نمایش اجزای اصلی سیستم.

مثلاً:

در این نوع دیاگرام می‌توان سرویس‌ها، دیتابیس‌ها، componentها و ارتباط میان آن‌ها را نمایش داد.


۲. Workflow Diagram

برای نمایش فرآیندها.

مثلاً یک فرآیند CI/CD:


این نوع نمایش برای فهمیدن فرآیندهای عملیاتی بسیار مفید است.


۳. Sequence Diagram

برای نمایش ترتیب اتفاقات.

مثلاً Login:


در پروژه‌های API محور، این نوع دیاگرام می‌تواند بسیار کاربردی باشد.


۴. Data Flow Diagram

گاهی مهم‌ترین سؤال این نیست که سرویس‌ها کجا هستند؛ بلکه این است که داده چگونه در سیستم حرکت می‌کند.

برای مثال:


این نوع دیاگرام برای سیستم‌های Data Pipeline و پردازش داده بسیار مناسب است.


۵. Lifecycle Diagram

برخی سیستم‌ها بر اساس State کار می‌کنند.

مثلاً وضعیت یک سفارش:


در چنین شرایطی نمایش lifecycle می‌تواند بسیار بهتر از توضیح متنی باشد.


تفاوت Archify با Mermaid چیست؟

ممکن است در نگاه اول بگوییم:

«خب، چرا از Mermaid استفاده نکنیم؟»

Mermaid ابزار بسیار خوبی برای ساخت دیاگرام از متن است.

مثلاً:


اما Archify بیشتر روی یک workflow مبتنی بر AI Agent + ساختار داده‌ای + validation + renderer تمرکز دارد.

در نتیجه هدف آن فقط تولید یک نمودار نیست.

هدف این است که:


به عبارت دیگر، Archify تلاش می‌کند فاصله میان کد، درک معماری و visualization را کمتر کند.


Archify برای چه کسانی مفید است؟

توسعه‌دهندگان

اگر وارد یک پروژه قدیمی شده‌اید، اولین مشکل معمولاً این است که نمی‌دانید سیستم چگونه کار می‌کند.

یک دیاگرام معماری خوب می‌تواند زمان onboarding را کاهش دهد.

Software Architectها

برای بررسی معماری سیستم و توضیح آن به اعضای تیم، visualization بسیار ارزشمند است.

تیم‌های DevOps

برای نمایش CI/CD، deployment، infrastructure و جریان سرویس‌ها می‌توان از دیاگرام استفاده کرد.

تیم‌های بزرگ

وقتی تعداد سرویس‌ها زیاد می‌شود، داشتن یک تصویر از کل سیستم می‌تواند ارتباط بین اعضای تیم را ساده‌تر کند.

AI Coding Agentها

این شاید جذاب‌ترین قسمت پروژه باشد.

AI Coding Agent فقط نباید بتواند کد بنویسد؛ باید بتواند ساختار سیستمی که روی آن کار می‌کند را هم درک کند.

Archify دقیقاً روی همین ایده حرکت می‌کند.


آیا Archify جایگزین مستندات می‌شود؟

نه.

و بهتر است آن را این‌طور نبینیم.

دیاگرام معماری قرار نیست جایگزین README، documentation یا توضیحات فنی شود.

بلکه مکمل آن‌هاست.

یک مستند ممکن است توضیح دهد:

سرویس Authentication مسئول اعتبارسنجی JWT و مدیریت session کاربران است.

اما یک دیاگرام می‌تواند در چند ثانیه نشان دهد:


متن برای جزئیات خوب است؛ تصویر برای درک روابط.


نکته مهم: اعتماد به دیاگرام تولیدشده

یک نکته بسیار مهم درباره ابزارهای AI این است که نباید هر چیزی را که AI تولید می‌کند حقیقت فرض کنیم.

اگر Agent معماری یک Repository را اشتباه درک کند، ممکن است دیاگرام هم اشتباه باشد.

به همین دلیل وجود ساختار مشخص، validation و ارتباط با source code اهمیت زیادی دارد.

یک دیاگرام معماری خوب باید تا حد امکان بتواند پاسخ دهد:

«این چیزی که داری نشان می‌دهی، از کجای کد آمده است؟»

این مسئله یکی از تفاوت‌های مهم میان یک تصویر تزئینی و یک visualization واقعاً مفید برای توسعه‌دهنده است.


نصب Archify

طبق مستندات پروژه، می‌توان آن را به عنوان یک Skill برای Agentهای پشتیبانی‌شده نصب کرد.

برای نمونه:

npx skills add tt-a1i/archify -g

و برای استفاده با Codex نیز workflow مخصوصی ارائه شده است.

بعد از نصب، ایده کلی این است که Agent بتواند از قابلیت‌های Archify برای تولید visualization معماری استفاده کند.


آینده چنین ابزارهایی چیست؟

Archify یک ایده جالب‌تر از «دیاگرام‌سازی با AI» را مطرح می‌کند.

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

مثلاً:


در چنین سیستمی، دیاگرام معماری دیگر یک فایل قدیمی در پوشه docs نیست.

بلکه می‌تواند تبدیل شود به یک نمای زنده از وضعیت سیستم.


سرورهای لینوکسی قدرتمند برای پروژه‌های شما

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

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

مشاهده و خرید سرورهای لینوکسی ایرانیکا سرور


جمع‌بندی

Archify را می‌توان این‌طور خلاصه کرد:

Archify تلاش می‌کند فهم معماری نرم‌افزار را از یک کار دستی و زمان‌بر به بخشی از workflow مربوط به AI Coding Agent تبدیل کند.

این پروژه با ترکیب:

  • AI Agent
  • تحلیل Repository
  • ساختار داده‌ای
  • Validation
  • Interactive Visualization

کمک می‌کند معماری یک سیستم پیچیده را سریع‌تر ببینیم و درباره آن صحبت کنیم.

شاید مهم‌ترین ایده Archify همین باشد:

در دنیایی که AI می‌تواند در چند ثانیه هزاران خط کد تولید کند، داشتن راهی برای دیدن و فهمیدن معماری آن کد، بیش از همیشه اهمیت دارد.

مشاهده پروژه Archify در GitHub

🎯 چالش آموزشی
مباحثی که در این مقاله یاد گرفتید را در عمل پیاده‌سازی کنید و نتیجه را با ما به اشتراک بگذارید.
شروع چالش

💬 دیدگاه‌ها 0

هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر می‌دهید!

✍️ دیدگاه خود را بنویسید