تصور کنید تمام مستندات فنی پروژه شما در چند فایل متنی ساده است و شما میخواهید بدون صرف ساعتها وقت برای پیکربندی، آنها را به یک سایت مدرن تبدیل کنید. Blume دقیقاً همین کار را میکند و اجازه میدهد تنها با یک پوشه از فایلهای مارکداون، سایتی در سطح تولید (Production) راهاندازی کنید.
این ابزار که توسط Hayden Bleasel، توسعهدهنده OpenAI ساخته شده، نیاز به کدهای تکراری (Boilerplate) را حذف کرده است. طبق اعلام سازنده، نسخه ۱.۰.۳ این چارچوب در ۱۳ جولای ۲۰۲۶ روی npm منتشر شد و به توسعهدهندگان اجازه میدهد بدون هیچ پیکربندی اولیهای، مستندات خود را منتشر کنند. این ابزار تحت لایسنس MIT بهصورت متنباز در دسترس است.
نوشتن مستندات همواره برای برنامهنویسان یک نقطه اصطکاک بوده است؛ چراکه معمولاً نیاز به مولدهای سایت استاتیک پیچیده یا پلتفرمهای میزبان گرانقیمت دارد. همانطور که در تحلیل قبلی ما دربارهی رویکرد PostHog در یکپارچهسازی تحلیلهای full-stack اشاره کردیم، کاهش اصطکاک فنی کلید بهرهوری است. Blume مستندات را نه به عنوان یک پروژه نرمافزاری که باید نگهداری شود، بلکه به عنوان «داده» میبیند تا بار مدیریتی توسعهدهنده کاهش یابد.
معماری چارچوب و زمینه
Blume در واقع یک ابزار خط فرمان (CLI) است که با یک کتابخانه کامپوننتی خاص برای مستندات جفت شده است. این ابزار پوشههای مارکداون یا MDX را میخواند و سایتی با قابلیتهای ناوبری، جستوجو، تمبندی و تصاویر Open Graph producing تولید میکند. پیکربندی در این سیستم اختیاری است و یکییکی از طریق فایل blume.config.ts اضافه میشود. این فایل توسط یک طرحواره (Schema) اعتبارسنجی میشود تا هرگونه اشتباه پیش از اجرای عملیات Build شناسایی و متوقف شود.
در لایههای زیرین، Blume یک پروژه مخفی از Astro و Vite را مدیریت میکند. طبق مستندات فنی، وقتی CLI اجرا میشود، ابتدا پیکربندی را بارگذاری کرده، محتوا را اسکن کرده و آن را به یک گراف تبدیل میکند؛ سپس یک پروژه Astro را در دایرکتوری .blume/ مینویسد. در این ساختار، Astro تمام صفحات را از طریق یک مسیر جامع (Catch-all route) رندر میکند که کامپوننتهای Blume و دادههای تولید شده را ایمپورت میکند. این معماری باعث میشود سرعت بهروزرسانی آنی (Hot Reloading) بسیار بالا باشد چون در طول ویرایش، فقط فایلهای تغییر یافته بازنویسی میشوند.
همچنین برای جلوگیری از وابستگی شدید به ابزار (Vendor Lock-in)، دستور blume eject محیط اجرا (Runtime) را به یک اپلیکیشن مستقل Astro تبدیل میکند. البته باید توجه داشت که حتی پس از خروج (Eject)، پروژه مستقل همچنان به بسته blume وابسته خواهد بود.
مشخصات فنی و قابلیتها
به گزارش MarkTechPost، این چارچوب ویژگیهای عملکردی برجستهای دارد:
- کارایی: تم اصلی هیچ جاوااسکریپت سمت کلاینتی ارسال نمیکند که منجر به امتیازات بالای Core Web Vitals بهصورت پیشفرض میشود.
- سازگاری: نیاز به Node.js ۲۲.۱۲ یا جدیدتر دارد و از Bun، pnpm، npm و yarn پشتیبانی میکند.
- جهانیسازی: پشتیبانی از ۳۶ زبان (Locales) را فراهم کرده و بهطور بومی از چیدمان راست-به-چپ (RTL) و مسیریابی (Routing) آگاه از زبان پشتیبانی میکند.
- یکپارچهسازی: امکان اتصال به منابع خارجی شامل Notion, Sanity و GitHub Releases برای تولید خودکار بازههای زمانی تغییرات (Changelog) به همراه فیدهای RSS را دارد.
- پشتیبانی از API: برای محصولات مبتنی بر API، کاربران میتوانند مشخصات OpenAPI یا AsyncAPI را وارد کنند تا رفرنسهای تعاملی شامل طرحوارهها، سیستم احراز هویت و یک محیط اجرای درخواست (Request Playground) از طریق Scalar ساخته شود.
- چرخه توسعه: این پروژه یک Monorepo با زبان تایپاسکریپت است؛ جایی که بسته منتشر شده در مسیر
packages/blumeقرار دارد و مستندات خودِ ابزار (apps/docs) نیز با استفاده از خودِ Blume ساخته شده است.
چرخه عمر دستورات CLI
دستورات Blume تمام مراحل چرخه عمر پروژه را از طریق دستورات مشخص پوشش میدهند:
blume init: ایجاد ساختار اولیه پروژه (بهصورت تعاملی).blume dev: اجرای سرور توسعه با قابلیت بهروزرسانی آنی.blume build: تبدیل محتوا به HTML استاتیک و تولید یک ایندکس جستوجوی محلی در پوشهdist/.blume add: نصب یک کامپوننت منبع (Source Component) از ریجستری.blume sync: بازخوانی مجدد محتوا از منابع خارجی.blume eject: تبدیل محیط اجرا به یک اپلیکیشن مستقل Astro.blume validate: بررسی صحت لینکهای داخلی، لنگرها (Anchors)، داراییها (Assets) و لینکهای خارجی.blume doctor: تشخیص و عیبیابی مشکلات مربوط به پیکربندی و محتوا.
معماری متمرکز بر هوش مصنوعی
Blume بهطور ویژه برای «وب عاملمحور» (Agentic Web) مهندسی شده است. هر صفحه در صورت افزودن پسوند .md به URL، متن خام مارکداون را برمیگرداند. همچنین، یک فلگ ساده، فایلهای llms.txt و llms-full.txt را تولید میکند. این فایلها به مدلهای زبانی بزرگ (LLM) اجازه میدهند مستندات را بسیار بهینهتر از خزش (Crawling) صفحات HTML ایندکس کنند. هر صفحه را میتوان به صورت مارکداون کپی کرد یا مستقیماً در ChatGPT، Claude یا v0 باز کرد.
افزون بر این، Blume میتواند میزبان یک سرور پروتکل زمینهٔ مدل (Model Context Protocol یا MCP) باشد. این قابلیت به محیطهای برنامهنویسی AI مانند Cursor، Claude Code و VS Code اجازه میدهد مستندات را مستقیماً از طریق چهار ابزار خواندنی دریافت کنند: search_docs برای جستوجو، get_page برای دریافت صفحه، list_pages برای لیست صفحات و get_navigation برای دریافت ساختار ناوبری. این همسویی با ابزارهایی نظیر Claude Code، در حالی رخ میدهد که رقابت در حوزه مدلهای کدنویسی شدت گرفته و برای مثال مدل ZCode توانسته است عملکردی مشابه Claude Opus در برنامهنویسی ارائه دهد، که نشاندهنده تکامل سریع ابزارهای توسعهدهندگان است. کاربران میتوانند این قابلیت را با دستور زیر اضافه کنند:claude mcp add --transport http your-docs https://docs.example.com/mcp
برای خوانندگان انسان نیز، یک دستیار اختیاری «Ask AI» از طریق Vercel AI Gateway، OpenRouter، Inkeep یا هر نقطه انتهایی سازگار با OpenAI قابل ادغام است تا کاربران بتوانند با استفاده از AI SDK، از یک مجموعه مستندات خاص سؤال بپرسند.
این تغییر رویکرد، گذاری به سمت «بهینهسازی برای موتورهای پاسخ» (Answer Engine Optimization یا AEO) است. در حالی که چارچوبهای سنتی مثل Docusaurus یا Starlight بر تجربه مرورگر انسانی تمرکز دارند، Blume عاملهای AI را به عنوان شهروند درجهیک میپذیرد. با ارائه دسترسی به متن خام و سرور MCP، توسعهدهندگان تضمین میکنند محصولشان برای ابزارهای AI که مشتریان از آنها استفاده میکنند، «کشفپذیر» باشد.
پذیرش اولیه این ابزار در حال مشاهده است؛ برای مثال Quiver از Mintlify به Blume مهاجرت کرده و Neon این ابزار را برای مستندات add-mcp خود پیادهسازی نموده است. این پروژه تحت لایسنس MIT برای همیشه رایگان باقی خواهد ماند. با وجود نقاط قوت، نسخه ۱.۰.۳ هنوز جدید است، به این معنی که اکوسیستم آن جوان است و ویژگیهای زمان-درخواست (Request-time) مانند سرور MCP به یک سرور-آداپتور نیاز دارند.
گام بعدی شما
- اگر یک کتابخانه یا API در حال رشد دارید، با اجرای
blume initساختار پروژه خود را ایجاد کنید. - برای بهینهسازی مستندات جهت استفاده در Cursor و Claude، سرور MCP را فعال نمایید.
- مخزن گیتهاب پروژه را برای دریافت کامپوننتهای جدید منبع در نسخههای آینده (فراتر از ۱.۰.۳) دنبال کنید.
اما برای کسانی که به دنبال کنترل کامل بر رندرینگ هستند، بررسی معماری Astro که هسته این ابزار است، توصیه میشود؛ به تحلیل ما درباره استقرار سایتهای استاتیک مراجعه کنید.




گفتگو