Blume : des sites de documentation zéro configuration à partir d'un dossier Markdown
haydenbleasel/blume offre une implémentation open source exploitable en conditions réelles avec une structure réutilisable.
En bref
- De quoi s’agit-il ?
- Un CLI TypeScript qui construit un site de documentation de qualité production à partir de Markdown ou MDX, avec recherche locale, composants, SEO et préparation à l'IA, sans starter ni configuration de framework.
- À qui s’adresse-t-il ?
- Blume est publié sous licence MIT, et le README précise que la documentation du dépôt, dans apps/docs, est construite avec Blume lui-même. Le README ne couvre ni l'infrastructure du serveur MCP hébergé ni la configuration de l'assistant Ask AI, ces détails relevant de la documentation du projet.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement TypeScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le principe zéro configuration
Le README de Blume s'ouvre sur la description « documentation pour tout ce que vous construisez », et son affirmation centrale est qu'un dossier de fichiers Markdown ou MDX constitue un projet complet. Pas de starter à cloner, pas de framework à apprendre : exécutez `blume dev` et Blume produit un site de documentation avec navigation, recherche, thèmes, images Open Graph et bibliothèque de composants, sans boilerplate d'application à écrire ni à maintenir. L'outil génère et pilote un projet Astro caché pour vous, et `blume eject` transforme ce runtime en application Astro autonome quand vous voulez le contrôle total. Le README ne précise pas à quoi ressemble le site généré avant l'ajout de contenu, ni ce que le processus d'eject change dans votre dépôt.
Démarrage rapide et exigences système
Les exigences documentées sont Node.js 22.12 ou plus récent et un dossier de contenu contenant au moins un fichier `.md` ou `.mdx`. Le README montre `npx blume init` pour générer un projet, `blume dev` pour lancer le serveur de développement avec rechargement à chaud, et `blume build` pour construire du HTML statique avec un index de recherche local dans `dist/`. Il précise que Blume fonctionne avec n'importe quel gestionnaire de paquets et ne nécessite jamais de configurer Astro ou Tailwind soi-même. Le README ne décrit pas ce que demande `init` de manière interactive, ni quels fichiers il crée au-delà de l'exigence du dossier de contenu.
Ce que fournit un site généré
La liste des fonctionnalités est large. La recherche est locale via Orama en développement comme en production, avec FlexSearch, Pagefind, Algolia, Typesense, Orama Cloud et Mixedbread comme alternatives configurables. Le thème principal ne livre aucun JavaScript de framework côté client, les pages étant du HTML statique sur Astro et Vite. Les pages MDX peuvent utiliser des composants sans import : cartes, colonnes, étapes, onglets, accordéons, badges, groupes de code, cadres, arborescences de fichiers, tables de types, aperçus de composants en direct et diffs. Les fonctions SEO incluent les métadonnées, les images Open Graph rendues au build avec Takumi, le sitemap, robots.txt, les flux RSS et JSON-LD. L'internationalisation se fait en déposant des fichiers traduits aux bons endroits, avec routage par locale, navigation par langue et interface traduite. Les lecteurs peuvent exporter n'importe quelle page en PDF ou EPUB entièrement côté client. Les références d'API peuvent être rendues à partir de spécifications OpenAPI ou AsyncAPI via Scalar, avec schémas, authentification et bac à sable de requêtes. La personnalisation passe par les overrides de composants, les React islands, les pages personnalisées, les jetons de thème Tailwind v4 et un registre de composants source via `blume add`.
Préparation à l'IA et sources de contenu
Le README regroupe plusieurs fonctions sous « prêt pour l'IA » : fichiers `llms.txt` et `llms-full.txt`, Markdown brut à toute URL `.md`, Copier en Markdown, Ouvrir dans le chat, un assistant Ask AI optionnel, et un serveur MCP hébergé pour que les agents de codage puissent chercher et lire la documentation directement. Il inclut aussi des compétences d'agent qui apprennent à un agent de codage à générer, écrire et maintenir le site de documentation. Les sources de contenu peuvent mélanger des fichiers locaux avec du MDX distant, GitHub Releases, Notion, Sanity ou un backend personnalisé dans un seul site ; `blume sync` re-récupère les sources distantes. Le README ne précise pas comment le serveur MCP est hébergé ni comment l'assistant Ask AI est configuré.
Comment fonctionne la génération
Le CLI charge `blume.config.ts`, scanne le contenu dans un graphe, et génère un projet Astro caché sous `.blume/` qu'il pilote pour le développement et le build. Astro rend via une page fourre-tout qui importe les composants livrés avec Blume, les données générées et vos overrides. Le répertoire `.blume/` est régénéré à chaque exécution, mais seuls les fichiers modifiés sont écrits, ce qui maintient le rechargement à chaud rapide, jusqu'à ce que vous exécutiez `blume eject` et possédiez le projet. La configuration et chaque `meta.ts` sont du vrai TypeScript, validés par un schéma et écrits avec `defineConfig` et `defineMeta`, pour que les vérifications de l'éditeur attrapent les erreurs avant un build.
Ligne de commande et déploiement
Le tableau de référence du CLI liste dix commandes : `init` génère un projet de manière interactive par défaut, `dev` démarre le serveur de développement, `build` construit le site statique ou serveur, `preview` prévisualise le dernier build, `add` installe un composant source depuis le registre, `sync` re-récupère le contenu distant, `eject` transforme le runtime en application Astro autonome, `check` vérifie les types avec `astro check`, `validate` vérifie les liens internes, d'ancrage, d'assets et externes, et `doctor` diagnostique les problèmes de configuration et de contenu. Pour le déploiement, `blume build` produit du HTML statique dans `dist/`, qui peut être servi depuis n'importe quel hôte statique. Pour les fonctions au moment de la requête comme Ask AI ou le serveur MCP, le README recommande de passer à une sortie serveur et de choisir un adaptateur : Vercel, Netlify, Node ou Cloudflare, avec détection automatique de l'adaptateur et de l'URL du site sur Vercel, Netlify et Cloudflare Pages.
Développer Blume lui-même et la licence
Le dépôt est un monorepo : le paquet publié vit dans `packages/blume`, et `apps/docs` est la documentation de Blume, construite avec Blume. Le développement utilise Bun, avec `bun install`, `bun run check` (lint et formatage via Ultracite), `bun run typecheck` et `bun run test`. Le README renvoie à CONTRIBUTING.md pour l'architecture et les conventions, mais ne les résume pas. Le projet est publié sous licence MIT, copyright Hayden Bleasel. La licence accorde le droit d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies, et précise que le logiciel est fourni « en l'état », sans garantie d'aucune sorte. L'extrait de licence ne dit rien sur la posture de sécurité, les engagements de support ou les garanties de production.
Ce que le dépôt permet de vérifier · haydenbleasel blume
Une évaluation utile doit partir de la structure exacte de Blume et de ses scripts déclarés dans le README. Installez les dépendances selon le gestionnaire indiqué par le projet, démarrez l'application avec la commande documentée, puis parcourez le flux principal décrit dans les exemples. Vérifiez séparément les états de chargement, les erreurs réseau et la persistance éventuelle dans les fichiers de configuration du dépôt. Les affirmations de rapidité ou de simplicité ne valent que pour le scénario réellement montré par Blume : le README ne fournit pas de benchmark indépendant. Les choix de licence et de déploiement doivent donc être lus avec le manifeste et les workflows du dépôt avant une intégration dans un produit distribué.
Conclusion éditoriale
Blume est publié sous licence MIT, et le README précise que la documentation du dépôt, dans apps/docs, est construite avec Blume lui-même. Le README ne couvre ni l'infrastructure du serveur MCP hébergé ni la configuration de l'assistant Ask AI, ces détails relevant de la documentation du projet.
Notes de la communauté