Blume یک فریم‌ورک متن‌باز است که پوشهٔ حاوی فایل‌های Markdown را بدون نیاز به پیکربندی به یک سایت مستندات قابل میزبانی تبدیل می‌کند. این ابزار با استفاده از Astro و Vite ساخته شده و تحت مجوز MIT منتشر شده است.

ویژگی‌های کلیدی

Blume از رویکردی مبتنی بر فایل بهره می‌برد: خودِ فریم‌ورک نقش قالب را ایفا می‌کند و نیازی به کلون کردن تمپلیت ندارد. CLI فایل blume.config.ts را می‌خواند، محتوا را اسکن و به یک گراف تبدیل می‌کند و سپس تحت پوشهٔ .blume/ یک پروژهٔ Astro تولید می‌کند تا فرایند توسعه و ساخت روی آن اجرا شود.

شروع سریع

نیازمندی‌ها

  • Node.js نسخهٔ 22.12 یا بالاتر
  • حداقل یک فایل Markdown

دستورات پرکاربرد

npx blume init
blume dev
blume build

پیکربندی امن و تایپ‌ایمن

پیکربندی در Blume اختیاری و تایپ‌ایمن است. اسکیمای پیکربندی با defineConfig اعتبارسنجی می‌شود. نمونهٔ ساده:

import { defineConfig } from "blume";
export default defineConfig({
  title: "Acme Docs",
  deployment: { site: "https://docs.example.com" },
});

قابلیت‌های آماده برای هوش مصنوعی

Blume امکاناتی برای مصرف توسط عامل‌ها و سامانه‌های بازیابی متن فراهم می‌کند، از جمله تولید فایل‌های llms.txt و llms-full.txt، ارائهٔ Markdown خام در URLهای حاوی .md، امکان افشای سرور MCP میزبانی‌شده و فرمان blume eval که مستندات را به یک مجموعهٔ آزمون تبدیل می‌کند. در جریان blume eval، عامل‌ها فقط از مستندات استفاده می‌کنند، پاسخ‌ها ارزیابی می‌شوند و در صورت ناکافی بودن مستندات، CI شکست می‌خورد. این قابلیت‌ها مستندات را برای تعامل با عامل‌ها قابل‌خواناتر می‌کنند. جزئیات بیشتر در راهنمای رسمی پروژه موجود است: useblume.dev.

انعطاف‌پذیری، مهاجرت و سازگاری

ابزار blume-migrate پیکربندی و محتوا را از پلتفرم‌هایی مانند Mintlify، Docusaurus، Fumadocs، Nextra و Starlight به قالب blume.config.ts ترجمه می‌کند، ناوبری را بر اساس ساختار فایل‌ها بازآرایی کرده و برای مسیرهای منتقل‌شده ریدایرکت تولید می‌کند. مهاجرت شامل بازنویسی calloutها به قالب :::، تبدیل آیکن‌ها به Lucide و اشاره‌دادن مراجع API تولیدشده به openapi.sources است. تجربه‌های مهاجرت گزارش‌شده نشان می‌دهد فرایند واقعی قابل‌پیاده‌سازی و کاربردی است.

نمونهٔ صفحه مستندات تولیدشده با Blume

واکنش جامعه و رفع اشکال

در مخزن گیت‌هاب درخواست‌هایی برای قابلیت‌هایی مانند تب‌های مبتنی بر مسیر مطرح شد و تیم توسعه سریعاً نسخه‌ای مبتنی بر پارامتر کوئری منتشر کرد که آدرس تب قابل اشتراک و پشتیبانی از گروه‌های متعدد در هر صفحه را ارائه می‌دهد. گزارش‌های دیگری دربارهٔ مشکلاتی مثل پرش اجزای حالت تاریک در ناوبری سمت‌کلاینت و بازگشت فونت نادرست برای متن ویتنامی ثبت شد. همچنین یک مسئلهٔ قالب‌بندی مرتبط با چاپگر Markdown (برای مثال برخورد oxfmt با دستورات :::note) به‌عنوان مشکلی بالادستی معرفی شده و پچ‌هایی برای دورزدن آن منتشر شده است؛ این وضعیت منبع مشکل را در ابزارهای چاپگر نشان می‌دهد و نه در خود Blume.

مقایسه با رقبا و نقطهٔ فروش

Blume بین پلتفرم‌های میزبانی‌شدهٔ با هستهٔ بسته و کتابخانه‌هایی که نیاز به اسکافلد و نگهداری روی runtimeِ React دارند، جای می‌گیرد. مزیت‌های کلیدی شامل متن‌باز بودن، قابلیت میزبانی در هر محیط و مالکیت مستقیم فایل‌های Markdown است. تم هسته‌ای Blume هیچ JavaScript مربوط به فریم‌ورک‌های سمت‌کلاینت ارسال نمی‌کند که برای سایت‌هایی با اولویت سرعت و سادگی مفید است. هم‌زمان امکان اجرای blume eject وجود دارد تا runtime تولیدشده به یک اپ Astro مستقل تبدیل شده و مؤلفه‌ها قابل بازنویسی شوند.

چه زمانی از Blume استفاده کنیم

  • وقتی کمترین سربار نگهداری مطلوب است و می‌خواهید مالکیت کامل محتوا در اختیار شما باشد.
  • برای تیم‌های طراحی سیستم که نیاز به تب‌بندی‌های قابل اشتراک و یکپارچه با مسیرها دارند.
  • برای پروژه‌هایی که می‌خواهند مستندات‌شان برای عامل‌های هوش مصنوعی آماده باشد—مثلاً تولید فایل‌های llms.txt یا ارائهٔ Markdown خام.

منابع و پیوندها

سورس کد و مشارکت در توسعه در مخزن GitHub در دسترس است: GitHub. نقدها و مقایسه‌ها در پلتفرم‌هایی همچون Product Hunt منتشر شده‌اند. مستندات مرتبط با Astro و ابزارهای مدرن وب نیز در لینک‌های رسمی هر پروژه قابل مشاهده است.

Blume گزینه‌ای مناسب برای تیم‌های کوچک و سازمان‌هاست که به دنبال مسیر کم‌سربار و قابل میزبانی برای تولید مستندات آمادهٔ هوش مصنوعی هستند؛ در صورت ادامهٔ توسعه و پشتیبانی، انتظار می‌رود قابلیت‌های جستجو و تعامل با عامل‌ها عمیق‌تر شوند.