Blume पर माइग्रेट करें
किसी Mintlify, Fumadocs, Docusaurus, Starlight या Nextra साइट को एक ही कमांड से Blume पर ले जाएँ। यह कमांड माइग्रेशन का काम Claude Code या Codex को सौंप देती है।
किसी डॉक्स साइट को Blume के स्वाभाविक ढंग में ले जाने के लिए कुछ ऐसे निर्णय लेने पड़ते हैं जो कोई codemod नहीं ले सकता। जैसे, कौन-सा घोषित नेविगेशन फ़ोल्डर बनेगा, कौन-से कंपोनेंट directives बनेंगे और किसका Blume में कोई समकक्ष नहीं है। इसलिए blume migrate यह काम एक कोडिंग एजेंट को सौंप देता है। एजेंट Blume की माइग्रेशन प्लेबुक के आधार पर काम करता है और आप हर बदलाव की समीक्षा करते हैं।
एक कमांड से माइग्रेट करें
जिस डॉक्स प्रोजेक्ट को आप माइग्रेट कर रहे हैं, उसके रूट से यह कमांड चलाएँ:
npx blume migrate fumadocs --claudepnpm dlx blume migrate fumadocs --claudeyarn dlx blume migrate fumadocs --claudebunx blume migrate fumadocs --claudenubx blume migrate fumadocs --claudeaube dlx blume migrate fumadocs --claudefumadocs की जगह अपने फ़्रेमवर्क का नाम लिखें। Codex का उपयोग करने के लिए --claude की जगह --codex लिखें। pnpm 12 में pnpm dlx के बाद --allow-build=esbuild जोड़ें, क्योंकि pnpm 12 स्वीकृति के बिना esbuild की install स्क्रिप्ट नहीं चलाता। एजेंट आपके टर्मिनल में इंटरैक्टिव रूप से खुलता है, इसलिए हर बदलाव उसके अपने अनुमति-प्रवाह से होकर गुज़रता है। एजेंट मौजूदा फ़ाइलों में ही बदलाव करता है। इसलिए साफ़ working tree से शुरुआत करें और पूरे माइग्रेशन की समीक्षा एक ही diff के रूप में करें।
स्रोत
आप जिस फ़्रेमवर्क से माइग्रेट कर रहे हैं, उसका नाम दें। नाम न देने पर Blume प्रोजेक्ट की अपनी फ़ाइलों से उसका पता लगा लेता है। अगर आपका बताया गया फ़्रेमवर्क प्रोजेक्ट से मेल नहीं खाता, तो Blume चेतावनी देता है, लेकिन आपके बताए गए फ़्रेमवर्क के साथ ही आगे बढ़ता है:
| स्रोत | किससे पहचाना जाता है |
|---|---|
mintlify |
docs.json या mint.json |
fumadocs |
source.config.ts, या package.json में fumadocs-core, fumadocs-ui या fumadocs-mdx |
docusaurus |
docusaurus.config.* |
starlight |
package.json में @astrojs/starlight |
nextra |
package.json में nextra |
प्लेबुक में हर स्रोत के लिए अलग मैपिंग संदर्भ है। किसी दूसरे टूल से बनी साइट भी माइग्रेट हो सकती है। इसके लिए कमांड को बिना स्रोत के चलाएँ। एजेंट पहले रिपॉज़िटरी की सूची तैयार करेगा, फिर प्लेबुक के सामान्य नियमों के आधार पर काम करेगा।
एजेंट क्या करता है
एजेंट स्रोत के कॉन्फ़िग से लेकर सफल बिल्ड तक प्लेबुक के वर्कफ़्लो का पालन करता है:
blume.config.tsलिखता है। इसमें केवल वही मैप होता है जो आपका स्रोत घोषित करता है, और बाकी सब Blume के डिफ़ॉल्ट पर छोड़ दिया जाता है।- कंटेंट को फ़ाइलसिस्टम नेविगेशन के अनुसार फिर से व्यवस्थित करता है। हर फ़ोल्डर की क्रम तय करने वाली फ़ाइलों (Fumadocs
meta.json, Nextra_meta) कोmeta.tsमें बदलता है। - पेजों को फिर से लिखता है: फ़्रंटमैटर को Blume के स्कीमा में, callout कंपोनेंट को directives में और आइकन को Lucide में बदलता है। snippets को सीधे पेज में शामिल करता है।
- हर बदले हुए URL के लिए एक रीडायरेक्ट जोड़ता है, ताकि कोई लिंक न टूटे।
- आपकी
package.jsonस्क्रिप्ट्स कोblume devऔरblume buildपर सेट करता है। पुराने फ़्रेमवर्क की डिपेंडेंसियों की जगहblumeजोड़ता है। blume buildऔरblume validateको तब तक चलाता है जब तक दोनों सफल न हो जाएँ।
अंत में एजेंट एक सारांश देता है। इसमें बताया जाता है कि क्या माइग्रेट हुआ, क्या हटाया गया और क्या केवल लगभग समकक्ष रूप में बदला गया। उदाहरण के लिए, फ़ुटर लिंक या डायनैमिक रीडायरेक्ट, जिनका Blume में कोई समकक्ष नहीं है। इससे आप हर मामले में आगे का निर्णय ले सकते हैं।
अन्य एजेंट
--claude या --codex के बिना कमांड कुछ भी नहीं बदलती। यह केवल पहचाना गया स्रोत बताती है और प्लेबुक का पाथ प्रिंट करके बाहर निकल जाती है। यह प्लेबुक पैकेज में शामिल blume-migrate स्किल है। किसी दूसरे एजेंट को उस SKILL.md की ओर निर्देशित करें। या फिर कमांड द्वारा प्रिंट की गई इस कमांड से स्किल को उस जगह इंस्टॉल करें जहाँ आपका एजेंट स्किल्स खोजता है:
npx skills add haydenbleasel/blume --skill blume-migrate
पहले तुलना करें
तुलना पेज Blume की तुलना हर फ़्रेमवर्क से करते हैं। वे यह भी बताते हैं कि उस फ़्रेमवर्क से माइग्रेशन में क्या ज्यों-का-त्यों आता है और क्या फिर से लिखा जाता है।