सामग्री पर जाएँ
Blume
Esc
↑↓नेविगेट↵खोलें⌘Jप्रीव्यू
इस पेज पर

Blume पर माइग्रेट करें

किसी Mintlify, Docusaurus, GitBook, MkDocs, ReadMe या किसी अन्य डॉक्स साइट को एक ही कमांड से Blume पर ले जाएँ। यह कमांड माइग्रेशन का काम Codex या Claude Code को सौंप देती है।

किसी डॉक्स साइट को Blume के स्वाभाविक ढंग में ले जाने के लिए कुछ ऐसे निर्णय लेने पड़ते हैं जो कोई codemod नहीं ले सकता। जैसे, कौन-सा घोषित नेविगेशन फ़ोल्डर बनेगा, कौन-से कंपोनेंट directives बनेंगे और किसका Blume में कोई समकक्ष नहीं है। इसलिए blume migrate यह काम एक कोडिंग एजेंट को सौंप देता है। एजेंट Blume की माइग्रेशन प्लेबुक के आधार पर काम करता है और आप हर बदलाव की समीक्षा करते हैं।

एक कमांड से माइग्रेट करें

जिस डॉक्स प्रोजेक्ट को आप माइग्रेट कर रहे हैं, उसके रूट से यह कमांड चलाएँ:

npx blume migrate fumadocs --codex
pnpm dlx blume migrate fumadocs --codex
yarn dlx blume migrate fumadocs --codex
bunx blume migrate fumadocs --codex
nubx blume migrate fumadocs --codex
aube dlx blume migrate fumadocs --codex

fumadocs की जगह अपने फ़्रेमवर्क का नाम लिखें। Claude Code का उपयोग करने के लिए --codex की जगह --claude लिखें। pnpm 12 में pnpm dlx के बाद --allow-build=esbuild जोड़ें, क्योंकि pnpm 12 स्वीकृति के बिना esbuild की install स्क्रिप्ट नहीं चलाता। एजेंट आपके टर्मिनल में इंटरैक्टिव रूप से खुलता है, इसलिए हर बदलाव उसके अपने अनुमति-प्रवाह से होकर गुज़रता है। एजेंट मौजूदा फ़ाइलों में ही बदलाव करता है। इसलिए साफ़ working tree से शुरुआत करें और पूरे माइग्रेशन की समीक्षा एक ही diff के रूप में करें।

स्रोत

आप जिस फ़्रेमवर्क से माइग्रेट कर रहे हैं, उसका नाम दें। नाम न देने पर Blume प्रोजेक्ट की अपनी फ़ाइलों से उसका पता लगा लेता है। अगर आपका बताया गया फ़्रेमवर्क प्रोजेक्ट से मेल नहीं खाता, तो Blume चेतावनी देता है, लेकिन आपके बताए गए फ़्रेमवर्क के साथ ही आगे बढ़ता है:

स्रोत किससे पहचाना जाता है गाइड
mintlify docs.json या mint.json Mintlify से माइग्रेट करें
fumadocs source.config.ts, या package.json में fumadocs-core, fumadocs-ui या fumadocs-mdx Fumadocs से माइग्रेट करें
docusaurus docusaurus.config.* Docusaurus से माइग्रेट करें
starlight package.json में @astrojs/starlight Starlight से माइग्रेट करें
nextra package.json में nextra Nextra से माइग्रेट करें
vitepress रूट में या docs/ में .vitepress/config.ts (या .mts, .js, .mjs), या package.json में vitepress VitePress से माइग्रेट करें
vuepress रूट में या docs/ में .vuepress/config.ts (या .js, .mjs, .yml, .toml), vuepress.config.*, या package.json में vuepress (या vuepress-vite, vuepress-webpack) VuePress से माइग्रेट करें
docus package.json में docus (Docus 3 और उसके बाद के संस्करण) या @nuxt-themes/docus (Docus 1); वर्कस्पेस में कमांड को डॉक्स पैकेज से चलाएँ Docus से माइग्रेट करें
mkdocs mkdocs.yml, mkdocs.yaml, zensical.toml, properdocs.yml या properdocs.yaml MkDocs Material से माइग्रेट करें
mdbook रूट में या docs/ या book/ में book.toml mdBook से माइग्रेट करें
fern fern/docs.yml Fern से माइग्रेट करें
gitbook .gitbook.yaml, .gitbook.yml या gitbook-docs.yaml, या package.json में honkit या gitbook-cli; केवल SUMMARY.md से कभी नहीं GitBook से माइग्रेट करें
redocly sidebars.yaml, या package.json में @redocly/realm या Realm परिवार का कोई अन्य पैकेज; केवल redocly.yaml से कभी नहीं Redocly से माइग्रेट करें
readme docs/, reference/, recipes/ या custom_pages/ में _order.yaml; rdme से अपलोड करने वाली रिपॉज़िटरी के लिए स्रोत का नाम देना ज़रूरी है ReadMe से माइग्रेट करें
docsify package.json में docsify-cli या docsify; बिना package.json वाली साइट के लिए स्रोत का नाम देना ज़रूरी है Docsify से माइग्रेट करें
jekyll रूट में या docs/ में _config.yml; इसकी जाँच Blume द्वारा पहचाने जाने वाले बाकी सभी स्रोतों के बाद की जाती है Just the Docs से माइग्रेट करें
github-wiki कभी पहचाना नहीं जाता: विकी में कोई कॉन्फ़िग फ़ाइल नहीं होती, इसलिए स्रोत का नाम दें GitHub विकी से माइग्रेट करें

पहचान उसी फ़ोल्डर में की जाती है जिसमें आप कमांड चलाते हैं। प्लेबुक में हर स्रोत के लिए अलग मैपिंग संदर्भ है। कई स्रोतों के लिए एक codemod भी है, जिसे एजेंट यांत्रिक बदलावों के लिए सबसे पहले चलाता है, ताकि वह अपना पूरा ध्यान निर्णय वाले मामलों पर लगा सके। किसी दूसरे टूल से बनी साइट भी माइग्रेट हो सकती है। इसके लिए कमांड को बिना स्रोत के चलाएँ। एजेंट पहले रिपॉज़िटरी की सूची तैयार करेगा, फिर प्लेबुक के सामान्य नियमों के आधार पर काम करेगा।

एजेंट क्या करता है

एजेंट स्रोत के कॉन्फ़िग से लेकर सफल बिल्ड तक प्लेबुक के वर्कफ़्लो का पालन करता है:

  1. blume.config.ts लिखता है। इसमें केवल वही मैप होता है जो आपका स्रोत घोषित करता है, और बाकी सब Blume के डिफ़ॉल्ट पर छोड़ दिया जाता है।
  2. कंटेंट को फ़ाइलसिस्टम नेविगेशन के अनुसार फिर से व्यवस्थित करता है। हर फ़ोल्डर की क्रम तय करने वाली फ़ाइलों (Fumadocs meta.json, Nextra _meta) को meta.ts में बदलता है।
  3. पेजों को फिर से लिखता है: फ़्रंटमैटर को Blume के स्कीमा में, callout कंपोनेंट को directives में और आइकन को Lucide में बदलता है। snippets को सीधे पेज में शामिल करता है।
  4. हर बदले हुए URL के लिए एक रीडायरेक्ट जोड़ता है, ताकि कोई लिंक न टूटे। Docsify के #/ URL कभी सर्वर तक नहीं पहुँचते, इसलिए उनके लिए एजेंट एक छोटी स्क्रिप्ट जोड़ता है जो हर URL को उसके नए पेज पर भेज देती है। GitHub विकी के URL github.com पर ही रहते हैं, जो रीडायरेक्ट नहीं कर सकता। इसलिए एजेंट हर पेज को उसके नए रूट से मैप करता है और ऐसे लिंक स्टब तैयार करता है जिन्हें आप पुरानी विकी पर पुश कर सकते हैं।
  5. आपकी package.json स्क्रिप्ट्स को blume dev और blume build पर सेट करता है। पुराने फ़्रेमवर्क की डिपेंडेंसियों की जगह blume जोड़ता है।
  6. blume build और blume validate को तब तक चलाता है जब तक दोनों सफल न हो जाएँ।

अंत में एजेंट एक सारांश देता है। इसमें बताया जाता है कि क्या माइग्रेट हुआ, क्या हटाया गया और क्या केवल लगभग समकक्ष रूप में बदला गया। उदाहरण के लिए, फ़ुटर लिंक या नेवबार बटन, जिनका Blume में कोई समकक्ष नहीं है। इससे आप हर मामले में आगे का निर्णय ले सकते हैं।

अन्य एजेंट

--codex या --claude के बिना कमांड कुछ भी नहीं बदलती। यह केवल पहचाना गया स्रोत बताती है और प्लेबुक का पाथ प्रिंट करके बाहर निकल जाती है। यह प्लेबुक पैकेज में शामिल blume-migrate स्किल है। किसी दूसरे एजेंट को उस SKILL.md की ओर निर्देशित करें। या फिर कमांड द्वारा प्रिंट की गई इस कमांड से स्किल को उस जगह इंस्टॉल करें जहाँ आपका एजेंट स्किल्स खोजता है:

npx skills add haydenbleasel/blume --skill blume-migrate

पहले तुलना करें

तुलना पेज Blume की तुलना हर फ़्रेमवर्क से करते हैं। वे यह भी बताते हैं कि उस फ़्रेमवर्क से माइग्रेशन में क्या ज्यों-का-त्यों आता है और क्या फिर से लिखा जाता है।

अंतिम अपडेट

क्या यह पेज सहायक था?