blume 2.1.3 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +134 -0
- package/README.md +4 -4
- package/dist/cli/{chunk-y4msrwm9.js → chunk-080mfch6.js} +15 -15
- package/dist/cli/{chunk-gfc5fqvf.js → chunk-1ch3ct3r.js} +18 -18
- package/dist/cli/{chunk-gfc5fqvf.js.map → chunk-1ch3ct3r.js.map} +1 -1
- package/dist/cli/{chunk-32khwcb6.js → chunk-2ssh60qh.js} +42 -69
- package/dist/cli/{chunk-32khwcb6.js.map → chunk-2ssh60qh.js.map} +9 -10
- package/dist/cli/{chunk-9qzgg6mj.js → chunk-34wap3ed.js} +3 -3
- package/dist/cli/{chunk-k3gr1nm9.js → chunk-40vk8kgf.js} +13 -16
- package/dist/cli/{chunk-k3gr1nm9.js.map → chunk-40vk8kgf.js.map} +3 -3
- package/dist/cli/chunk-487b95qy.js +329 -0
- package/dist/cli/chunk-487b95qy.js.map +13 -0
- package/dist/cli/chunk-4zxh25hc.js +157 -0
- package/dist/cli/chunk-4zxh25hc.js.map +10 -0
- package/dist/cli/chunk-69rjf786.js +146 -0
- package/dist/cli/chunk-69rjf786.js.map +11 -0
- package/dist/cli/{chunk-dqhg54mr.js → chunk-9h8mh2tk.js} +3 -3
- package/dist/cli/{chunk-dqhg54mr.js.map → chunk-9h8mh2tk.js.map} +2 -2
- package/dist/cli/{chunk-bqxaqn5p.js → chunk-9jqmq5hv.js} +8 -8
- package/dist/cli/{chunk-bqxaqn5p.js.map → chunk-9jqmq5hv.js.map} +1 -1
- package/dist/cli/{chunk-dv2z0rzf.js → chunk-aafhwx74.js} +38 -13
- package/dist/cli/{chunk-dv2z0rzf.js.map → chunk-aafhwx74.js.map} +5 -4
- package/dist/cli/{chunk-desvm72z.js → chunk-b680sv30.js} +22 -26
- package/dist/cli/chunk-b680sv30.js.map +13 -0
- package/dist/cli/{chunk-0w6hs479.js → chunk-beb0z983.js} +30 -18
- package/dist/cli/chunk-beb0z983.js.map +10 -0
- package/dist/cli/{chunk-1f882900.js → chunk-c5bjxq8v.js} +2 -2
- package/dist/cli/chunk-e1n41w9m.js +155 -0
- package/dist/cli/chunk-e1n41w9m.js.map +11 -0
- package/dist/cli/{chunk-sc93apfs.js → chunk-etckvbrh.js} +17 -17
- package/dist/cli/{chunk-sc93apfs.js.map → chunk-etckvbrh.js.map} +2 -2
- package/dist/cli/{chunk-bxwhtvw8.js → chunk-f260jdrn.js} +5 -5
- package/dist/cli/{chunk-74wfhv79.js → chunk-fnxgtjeq.js} +1 -1
- package/dist/cli/{chunk-ms9z66nz.js → chunk-gwy55cx3.js} +2 -2
- package/dist/cli/{chunk-ms9z66nz.js.map → chunk-gwy55cx3.js.map} +2 -2
- package/dist/cli/{chunk-dhwtqnnd.js → chunk-gxhcf2hs.js} +2 -2
- package/dist/cli/{chunk-tfycddbt.js → chunk-h0qwdbem.js} +2 -2
- package/dist/cli/{chunk-nbyvgnnm.js → chunk-hktq4j5r.js} +109 -49
- package/dist/cli/chunk-hktq4j5r.js.map +36 -0
- package/dist/cli/{chunk-twy7psdz.js → chunk-hn3g2b89.js} +14 -10
- package/dist/cli/chunk-hn3g2b89.js.map +10 -0
- package/dist/cli/{chunk-j1x92mx9.js → chunk-j4nfgn2j.js} +1 -1
- package/dist/cli/{chunk-dpy8qdjf.js → chunk-k45sq16q.js} +74 -183
- package/dist/cli/chunk-k45sq16q.js.map +18 -0
- package/dist/cli/{chunk-5cmts6dv.js → chunk-kmswjxj9.js} +7 -7
- package/dist/cli/{chunk-5cmts6dv.js.map → chunk-kmswjxj9.js.map} +1 -1
- package/dist/cli/{chunk-36bxs9c7.js → chunk-nqna8dzp.js} +27 -23
- package/dist/cli/chunk-nqna8dzp.js.map +10 -0
- package/dist/cli/{chunk-a57yh0h9.js → chunk-p834rkcn.js} +7 -7
- package/dist/cli/{chunk-a57yh0h9.js.map → chunk-p834rkcn.js.map} +1 -1
- package/dist/cli/{chunk-60hz265r.js → chunk-ppa6mg4d.js} +24 -11
- package/dist/cli/chunk-ppa6mg4d.js.map +10 -0
- package/dist/cli/{chunk-s0bdnc7v.js → chunk-q1wwrxzw.js} +5 -4
- package/dist/cli/chunk-q1wwrxzw.js.map +10 -0
- package/dist/cli/{chunk-ave1wcbr.js → chunk-qcyxkj44.js} +1 -1
- package/dist/cli/{chunk-124fvmzq.js → chunk-r5nm9w0c.js} +11183 -8806
- package/dist/cli/{chunk-124fvmzq.js.map → chunk-r5nm9w0c.js.map} +82 -66
- package/dist/cli/{chunk-ckrcm08h.js → chunk-rtvgmg2j.js} +48 -62
- package/dist/cli/{chunk-ckrcm08h.js.map → chunk-rtvgmg2j.js.map} +4 -5
- package/dist/cli/{chunk-297ajdcv.js → chunk-t2h8pwy1.js} +6 -6
- package/dist/cli/{chunk-297ajdcv.js.map → chunk-t2h8pwy1.js.map} +3 -3
- package/dist/cli/{chunk-gxtg6ed2.js → chunk-x60e15st.js} +21 -21
- package/dist/cli/{chunk-gxtg6ed2.js.map → chunk-x60e15st.js.map} +3 -3
- package/dist/cli/{chunk-58bt3hag.js → chunk-x7bh6d9j.js} +4 -4
- package/dist/cli/{chunk-hvcxng5f.js → chunk-ydqzkhjn.js} +6 -6
- package/dist/cli/{chunk-kdpzw38a.js → chunk-yg8ckc3g.js} +95 -7
- package/dist/cli/chunk-yg8ckc3g.js.map +11 -0
- package/dist/cli/{chunk-0pmb4tr4.js → chunk-zxd5jrgx.js} +1205 -222
- package/dist/cli/chunk-zxd5jrgx.js.map +44 -0
- package/dist/cli/index.js +78 -42
- package/dist/cli/index.js.map +7 -6
- package/dist/types/ai/changelog-components.d.ts +18 -0
- package/dist/types/ai/changelog-markdown.d.ts +12 -0
- package/dist/types/ai/openapi-components.d.ts +7 -7
- package/dist/types/ai/operation-details.d.ts +39 -0
- package/dist/types/ai/relative-links.d.ts +3 -1
- package/dist/types/ai/serializers.d.ts +6 -4
- package/dist/types/analytics/head.d.ts +4 -2
- package/dist/types/analytics/script.d.ts +8 -2
- package/dist/types/components/content/youtube.d.ts +20 -0
- package/dist/types/components/layout/nav-utils.d.ts +8 -0
- package/dist/types/components/openapi/example-panels.d.ts +33 -0
- package/dist/types/components/openapi/helpers.d.ts +53 -11
- package/dist/types/components/openapi/snippets.d.ts +7 -1
- package/dist/types/core/alert-diagnostics.d.ts +10 -0
- package/dist/types/core/builtin-tags.d.ts +16 -0
- package/dist/types/core/changelog-list.d.ts +48 -0
- package/dist/types/core/closest-match.d.ts +6 -0
- package/dist/types/core/code-fence-diagnostics.d.ts +18 -0
- package/dist/types/core/code-fences.d.ts +8 -1
- package/dist/types/core/config-input.d.ts +38 -6
- package/dist/types/core/content-assets.d.ts +16 -18
- package/dist/types/core/data.d.ts +6 -2
- package/dist/types/core/diagnostics.d.ts +14 -0
- package/dist/types/core/directive-diagnostics.d.ts +22 -8
- package/dist/types/core/former-routes.d.ts +14 -0
- package/dist/types/core/github.d.ts +5 -4
- package/dist/types/core/heading-markers.d.ts +65 -2
- package/dist/types/core/hidden-pages.d.ts +3 -0
- package/dist/types/core/includes.d.ts +23 -0
- package/dist/types/core/last-modified.d.ts +18 -6
- package/dist/types/core/links.d.ts +42 -2
- package/dist/types/core/load-module.d.ts +19 -4
- package/dist/types/core/manifest.d.ts +14 -1
- package/dist/types/core/markdown-mirrors.d.ts +22 -0
- package/dist/types/core/mcp-clients.d.ts +47 -0
- package/dist/types/core/mdx-elements.d.ts +32 -0
- package/dist/types/core/mdx-syntax.d.ts +100 -0
- package/dist/types/core/meta-diagnostics.d.ts +7 -0
- package/dist/types/core/meta.d.ts +32 -5
- package/dist/types/core/nav-diagnostics.d.ts +16 -2
- package/dist/types/core/navigation.d.ts +13 -0
- package/dist/types/core/ordering-prefix.d.ts +6 -0
- package/dist/types/core/pinned-ids.d.ts +23 -0
- package/dist/types/core/project-graph.d.ts +9 -1
- package/dist/types/core/redirect-patterns.d.ts +18 -0
- package/dist/types/core/relative-files.d.ts +31 -0
- package/dist/types/core/schema.d.ts +322 -11
- package/dist/types/core/sources/normalize.d.ts +101 -9
- package/dist/types/core/sources/types.d.ts +16 -0
- package/dist/types/core/static-files.d.ts +10 -0
- package/dist/types/core/static-host.d.ts +42 -0
- package/dist/types/core/svg-images.d.ts +26 -0
- package/dist/types/core/syntax-diagnostics.d.ts +14 -0
- package/dist/types/core/types.d.ts +42 -1
- package/dist/types/deploy/generated-files.d.ts +41 -0
- package/dist/types/deploy/redirects.d.ts +21 -7
- package/dist/types/markdown/code-title.d.ts +9 -5
- package/dist/types/markdown/directives.d.ts +8 -0
- package/dist/types/markdown/fence-language.d.ts +51 -0
- package/dist/types/markdown/fence-meta.d.ts +5 -0
- package/dist/types/markdown/github-alerts.d.ts +35 -0
- package/dist/types/openapi/asyncapi.d.ts +6 -5
- package/dist/types/openapi/checks.d.ts +10 -5
- package/dist/types/openapi/model.d.ts +55 -8
- package/dist/types/openapi/parse.d.ts +4 -1
- package/dist/types/ratelimit/index.d.ts +2 -0
- package/dist/types/ratelimit/memory.d.ts +1 -1
- package/dist/types/ratelimit/schema.d.ts +40 -0
- package/dist/types/ratelimit/unkey.d.ts +48 -0
- package/dist/types/sources/filesystem.d.ts +14 -4
- package/dist/types/sources/mdx-remote.d.ts +6 -3
- package/dist/types/sources/registry.d.ts +3 -3
- package/dist/types/theme/color.d.ts +33 -0
- package/dist/types/theme/palette.d.ts +122 -0
- package/docs/01-quickstart.mdx +1 -1
- package/docs/02-deployment.mdx +24 -8
- package/docs/04-migrating.mdx +16 -4
- package/docs/advanced/changelog.mdx +27 -1
- package/docs/advanced/skills.mdx +1 -1
- package/docs/cli/audit.mdx +1 -1
- package/docs/cli/doctor.mdx +2 -2
- package/docs/cli/evals.mdx +1 -1
- package/docs/cli/index.mdx +4 -2
- package/docs/cli/validate.mdx +10 -7
- package/docs/configuration/analytics.mdx +2 -0
- package/docs/configuration/customization.mdx +3 -1
- package/docs/configuration/index.mdx +7 -6
- package/docs/configuration/rate-limiting.mdx +20 -1
- package/docs/configuration/theming.mdx +5 -1
- package/docs/content/components.mdx +26 -6
- package/docs/content/frontmatter.mdx +1 -1
- package/docs/content/i18n.mdx +1 -1
- package/docs/content/includes.mdx +6 -2
- package/docs/content/index.mdx +11 -1
- package/docs/content/islands.mdx +2 -0
- package/docs/content/meta.mdx +9 -3
- package/docs/content/navigation.mdx +14 -6
- package/docs/content/sources/obsidian.mdx +1 -1
- package/docs/content/sources/remote-mdx.mdx +3 -1
- package/docs/content/syntax.mdx +76 -8
- package/docs/content/variables.mdx +3 -1
- package/docs/discoverability/agent-discovery.mdx +1 -1
- package/docs/discoverability/json-api.mdx +1 -1
- package/docs/discoverability/llms-txt.mdx +1 -1
- package/docs/discoverability/markdown.mdx +2 -2
- package/docs/discoverability/mcp.mdx +40 -8
- package/docs/discoverability/open-graph.mdx +1 -1
- package/docs/discoverability/sitemap-and-robots.mdx +1 -1
- package/docs/references/graphql.mdx +2 -0
- package/docs/references/openapi.mdx +45 -7
- package/package.json +4 -4
- package/skills/blume/SKILL.md +2 -2
- package/skills/blume-migrate/SKILL.md +51 -29
- package/skills/blume-migrate/references/docsify.md +262 -0
- package/skills/blume-migrate/references/docus.md +298 -0
- package/skills/blume-migrate/references/docusaurus.md +5 -5
- package/skills/blume-migrate/references/fern.md +327 -0
- package/skills/blume-migrate/references/fumadocs.md +1 -1
- package/skills/blume-migrate/references/gitbook.md +267 -0
- package/skills/blume-migrate/references/github-wiki.md +259 -0
- package/skills/blume-migrate/references/jekyll.md +253 -0
- package/skills/blume-migrate/references/mdbook.md +256 -0
- package/skills/blume-migrate/references/mintlify.md +5 -5
- package/skills/blume-migrate/references/mkdocs.md +236 -0
- package/skills/blume-migrate/references/monorepo.md +20 -8
- package/skills/blume-migrate/references/nextra.md +5 -5
- package/skills/blume-migrate/references/readme.md +257 -0
- package/skills/blume-migrate/references/redocly.md +198 -0
- package/skills/blume-migrate/references/starlight.md +3 -3
- package/skills/blume-migrate/references/vitepress.md +204 -0
- package/skills/blume-migrate/references/vuepress.md +271 -0
- package/skills/blume-migrate/scripts/docsify-codemod.mjs +2387 -0
- package/skills/blume-migrate/scripts/docus-codemod.mjs +2542 -0
- package/skills/blume-migrate/scripts/fern-codemod.mjs +2633 -0
- package/skills/blume-migrate/scripts/github-wiki-codemod.mjs +2808 -0
- package/skills/blume-migrate/scripts/include-excerpts.mjs +649 -0
- package/skills/blume-migrate/scripts/jekyll-codemod.mjs +3649 -0
- package/skills/blume-migrate/scripts/mintlify-codemod.mjs +17 -13
- package/skills/blume-migrate/scripts/mkdocs-codemod.mjs +2526 -0
- package/skills/blume-migrate/scripts/operation-routes.mjs +508 -0
- package/skills/blume-migrate/scripts/pin-heading-ids.mjs +1049 -0
- package/skills/blume-migrate/scripts/readme-codemod.mjs +4139 -0
- package/skills/blume-migrate/scripts/vitepress-codemod.mjs +1511 -0
- package/src/ai/changelog-components.ts +24 -0
- package/src/ai/changelog-markdown.ts +45 -41
- package/src/ai/component-markdown.ts +22 -9
- package/src/ai/llms.ts +36 -5
- package/src/ai/markdown.ts +2 -2
- package/src/ai/openapi-components.ts +25 -9
- package/src/ai/operation-details.ts +208 -0
- package/src/ai/relative-links.ts +48 -8
- package/src/ai/serializers.ts +7 -6
- package/src/ai/site-skill.ts +6 -2
- package/src/analytics/head.ts +11 -5
- package/src/analytics/script.ts +13 -3
- package/src/astro/generate.ts +47 -11
- package/src/astro/index.ts +1 -0
- package/src/astro/integration.ts +27 -1
- package/src/astro/mdx-source-errors.ts +46 -0
- package/src/astro/templates.ts +93 -189
- package/src/audit/checks/redirects.ts +5 -1
- package/src/audit/redirects.ts +36 -19
- package/src/audit/report.ts +22 -9
- package/src/audit/run.ts +12 -28
- package/src/audit/terms.ts +23 -0
- package/src/audit/url.ts +2 -2
- package/src/cli/build-failure.ts +256 -7
- package/src/cli/command-meta.ts +1 -1
- package/src/cli/commands/audit.ts +1 -1
- package/src/cli/commands/build.ts +12 -3
- package/src/cli/commands/check.ts +13 -2
- package/src/cli/commands/dev.ts +1 -1
- package/src/cli/commands/doctor.ts +4 -2
- package/src/cli/commands/init.ts +3 -3
- package/src/cli/commands/preview.ts +17 -1
- package/src/cli/commands/validate.ts +22 -10
- package/src/cli/prepare.ts +1 -1
- package/src/cli/preview-pages.ts +161 -0
- package/src/cli/required-secrets.ts +0 -1
- package/src/cli/unknown-flags.ts +1 -42
- package/src/components/code-copy.ts +51 -0
- package/src/components/code-language.ts +75 -0
- package/src/components/content/AccordionItem.astro +16 -1
- package/src/components/content/Callout.astro +11 -1
- package/src/components/content/Changelog.astro +189 -0
- package/src/components/content/CodeBlock.astro +8 -11
- package/src/components/content/Tabs.astro +16 -2
- package/src/components/content/YouTube.astro +6 -4
- package/src/components/content/code-block.ts +33 -0
- package/src/components/content/content-strings.ts +5 -1
- package/src/components/content/inline-markdown.ts +35 -8
- package/src/components/content/youtube.ts +49 -7
- package/src/components/layout/Analytics.astro +5 -1
- package/src/components/layout/NavTree.astro +8 -3
- package/src/components/layout/PageActions.astro +81 -23
- package/src/components/layout/RootLayout.astro +35 -32
- package/src/components/layout/SiteFooter.astro +31 -8
- package/src/components/layout/nav-utils.ts +14 -0
- package/src/components/layout/search/pagefind.ts +2 -1
- package/src/components/openapi/Operation.astro +4 -0
- package/src/components/openapi/PanelTabs.astro +9 -3
- package/src/components/openapi/RequestBody.astro +42 -8
- package/src/components/openapi/RequestPanel.astro +34 -53
- package/src/components/openapi/example-panels.ts +110 -0
- package/src/components/openapi/helpers.ts +195 -20
- package/src/components/openapi/operation-model.ts +63 -26
- package/src/components/openapi/request.ts +13 -0
- package/src/components/openapi/snippets.ts +14 -2
- package/src/core/alert-diagnostics.ts +89 -0
- package/src/core/builtin-tags.ts +76 -0
- package/src/core/changelog-list.ts +87 -0
- package/src/core/closest-match.ts +41 -0
- package/src/core/code-fence-diagnostics.ts +267 -0
- package/src/core/code-fences.ts +43 -7
- package/src/core/component-diagnostics.ts +65 -12
- package/src/core/config-input.ts +39 -5
- package/src/core/config.ts +46 -1
- package/src/core/content-assets.ts +64 -144
- package/src/core/data.ts +10 -3
- package/src/core/diagnostics.ts +36 -3
- package/src/core/directive-diagnostics.ts +265 -47
- package/src/core/former-routes.ts +46 -0
- package/src/core/git-ignored.ts +53 -0
- package/src/core/github.ts +5 -4
- package/src/core/heading-markers.ts +156 -2
- package/src/core/hidden-pages.ts +64 -0
- package/src/core/includes.ts +181 -41
- package/src/core/last-modified.ts +47 -10
- package/src/core/links.ts +438 -83
- package/src/core/load-module.ts +98 -9
- package/src/core/manifest.ts +12 -9
- package/src/core/markdown-mirrors.ts +52 -0
- package/src/core/mcp-clients.ts +87 -0
- package/src/core/mdx-elements.ts +153 -0
- package/src/core/mdx-syntax.ts +377 -0
- package/src/core/meta-diagnostics.ts +134 -0
- package/src/core/meta.ts +154 -55
- package/src/core/nav-diagnostics.ts +41 -4
- package/src/core/navigation.ts +70 -10
- package/src/core/ordering-prefix.ts +22 -2
- package/src/core/pinned-ids.ts +141 -0
- package/src/core/project-graph.ts +221 -29
- package/src/core/redirect-patterns.ts +41 -0
- package/src/core/relative-files.ts +145 -0
- package/src/core/schema.ts +110 -6
- package/src/core/sources/mdx-remote.ts +75 -14
- package/src/core/sources/normalize.ts +885 -179
- package/src/core/sources/notion.ts +5 -4
- package/src/core/sources/obsidian.ts +2 -5
- package/src/core/sources/types.ts +17 -0
- package/src/core/static-files.ts +40 -0
- package/src/core/static-host.ts +125 -0
- package/src/core/svg-images.ts +98 -0
- package/src/core/syntax-diagnostics.ts +491 -0
- package/src/core/types.ts +43 -1
- package/src/deploy/artifacts.ts +2 -28
- package/src/deploy/generated-files.ts +128 -0
- package/src/deploy/platforms/vercel.ts +25 -1
- package/src/deploy/redirects.ts +43 -16
- package/src/deploy/sitemap.ts +2 -1
- package/src/markdown/base-links.ts +87 -6
- package/src/markdown/code-title.ts +29 -13
- package/src/markdown/content-assets.ts +210 -0
- package/src/markdown/directives.ts +69 -5
- package/src/markdown/fence-language.ts +106 -0
- package/src/markdown/fence-meta.ts +42 -0
- package/src/markdown/github-alerts.ts +172 -0
- package/src/markdown/heading-anchors.ts +265 -56
- package/src/markdown/include.ts +30 -3
- package/src/markdown/index.ts +145 -40
- package/src/markdown/prompt-text.ts +95 -0
- package/src/markdown/relative-links.ts +37 -2
- package/src/markdown/route-snapshot.ts +22 -12
- package/src/markdown/svg-fallback.ts +51 -0
- package/src/markdown/title-heading.ts +134 -0
- package/src/migrate/migrate.ts +127 -2
- package/src/og/card.ts +14 -4
- package/src/openapi/asyncapi.ts +14 -6
- package/src/openapi/checks.ts +160 -15
- package/src/openapi/model.ts +172 -33
- package/src/openapi/parse.ts +13 -4
- package/src/openapi/render-mdx.ts +55 -9
- package/src/openapi/source.ts +87 -6
- package/src/ratelimit/index.ts +2 -0
- package/src/ratelimit/memory.ts +1 -1
- package/src/ratelimit/runtime.ts +81 -0
- package/src/ratelimit/schema.ts +2 -0
- package/src/ratelimit/unkey.ts +61 -0
- package/src/registry/eject.ts +0 -1
- package/src/registry/registry.ts +1 -1
- package/src/search/documents.ts +10 -2
- package/src/sources/filesystem.ts +28 -3
- package/src/sources/mdx-remote.ts +7 -15
- package/src/theme/color.ts +14 -0
- package/src/theme/entry.ts +22 -1
- package/src/theme/palette.ts +74 -1
- package/dist/cli/chunk-0pmb4tr4.js.map +0 -35
- package/dist/cli/chunk-0w6hs479.js.map +0 -10
- package/dist/cli/chunk-150jk7km.js +0 -52
- package/dist/cli/chunk-150jk7km.js.map +0 -10
- package/dist/cli/chunk-36bxs9c7.js.map +0 -10
- package/dist/cli/chunk-53jqw8z0.js +0 -89
- package/dist/cli/chunk-53jqw8z0.js.map +0 -10
- package/dist/cli/chunk-60hz265r.js.map +0 -10
- package/dist/cli/chunk-desvm72z.js.map +0 -14
- package/dist/cli/chunk-dpy8qdjf.js.map +0 -17
- package/dist/cli/chunk-es8h0v3j.js +0 -441
- package/dist/cli/chunk-es8h0v3j.js.map +0 -11
- package/dist/cli/chunk-kdpzw38a.js.map +0 -11
- package/dist/cli/chunk-nbyvgnnm.js.map +0 -36
- package/dist/cli/chunk-s0bdnc7v.js.map +0 -10
- package/dist/cli/chunk-twy7psdz.js.map +0 -10
- package/dist/cli/chunk-ydp3065p.js +0 -64
- package/dist/cli/chunk-ydp3065p.js.map +0 -10
- /package/dist/cli/{chunk-y4msrwm9.js.map → chunk-080mfch6.js.map} +0 -0
- /package/dist/cli/{chunk-9qzgg6mj.js.map → chunk-34wap3ed.js.map} +0 -0
- /package/dist/cli/{chunk-1f882900.js.map → chunk-c5bjxq8v.js.map} +0 -0
- /package/dist/cli/{chunk-bxwhtvw8.js.map → chunk-f260jdrn.js.map} +0 -0
- /package/dist/cli/{chunk-74wfhv79.js.map → chunk-fnxgtjeq.js.map} +0 -0
- /package/dist/cli/{chunk-dhwtqnnd.js.map → chunk-gxhcf2hs.js.map} +0 -0
- /package/dist/cli/{chunk-tfycddbt.js.map → chunk-h0qwdbem.js.map} +0 -0
- /package/dist/cli/{chunk-j1x92mx9.js.map → chunk-j4nfgn2j.js.map} +0 -0
- /package/dist/cli/{chunk-ave1wcbr.js.map → chunk-qcyxkj44.js.map} +0 -0
- /package/dist/cli/{chunk-58bt3hag.js.map → chunk-x7bh6d9j.js.map} +0 -0
- /package/dist/cli/{chunk-hvcxng5f.js.map → chunk-ydqzkhjn.js.map} +0 -0
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
AGENTS,
|
|
11
11
|
launchInstalledAgent
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-aafhwx74.js";
|
|
13
13
|
|
|
14
14
|
// src/cli/commands/migrate.ts
|
|
15
15
|
import { defineCommand } from "citty";
|
|
@@ -24,14 +24,38 @@ var MIGRATE_SOURCES = [
|
|
|
24
24
|
"fumadocs",
|
|
25
25
|
"docusaurus",
|
|
26
26
|
"starlight",
|
|
27
|
-
"nextra"
|
|
27
|
+
"nextra",
|
|
28
|
+
"vitepress",
|
|
29
|
+
"vuepress",
|
|
30
|
+
"docus",
|
|
31
|
+
"mkdocs",
|
|
32
|
+
"mdbook",
|
|
33
|
+
"fern",
|
|
34
|
+
"gitbook",
|
|
35
|
+
"redocly",
|
|
36
|
+
"readme",
|
|
37
|
+
"docsify",
|
|
38
|
+
"jekyll",
|
|
39
|
+
"github-wiki"
|
|
28
40
|
];
|
|
29
41
|
var MIGRATE_SOURCE_NAMES = {
|
|
42
|
+
docsify: "Docsify",
|
|
43
|
+
docus: "Docus",
|
|
30
44
|
docusaurus: "Docusaurus",
|
|
45
|
+
fern: "Fern",
|
|
31
46
|
fumadocs: "Fumadocs",
|
|
47
|
+
gitbook: "GitBook",
|
|
48
|
+
"github-wiki": "GitHub Wiki",
|
|
49
|
+
jekyll: "Jekyll",
|
|
50
|
+
mdbook: "mdBook",
|
|
32
51
|
mintlify: "Mintlify",
|
|
52
|
+
mkdocs: "MkDocs",
|
|
33
53
|
nextra: "Nextra",
|
|
34
|
-
|
|
54
|
+
readme: "ReadMe",
|
|
55
|
+
redocly: "Redocly",
|
|
56
|
+
starlight: "Starlight",
|
|
57
|
+
vitepress: "VitePress",
|
|
58
|
+
vuepress: "VuePress"
|
|
35
59
|
};
|
|
36
60
|
var MIGRATE_SKILL_DIR = join("skills", "blume-migrate");
|
|
37
61
|
var isMigrateSource = (value) => MIGRATE_SOURCES.some((source) => source === value);
|
|
@@ -67,7 +91,67 @@ var SIGNALS = [
|
|
|
67
91
|
source: "fumadocs"
|
|
68
92
|
},
|
|
69
93
|
{ deps: ["nextra"], source: "nextra" },
|
|
70
|
-
{ deps: ["@astrojs/starlight"], source: "starlight" }
|
|
94
|
+
{ deps: ["@astrojs/starlight"], source: "starlight" },
|
|
95
|
+
{
|
|
96
|
+
deps: ["vitepress"],
|
|
97
|
+
files: [".vitepress", "docs/.vitepress"].flatMap((dir) => ["ts", "mts", "js", "mjs"].map((ext) => `${dir}/config.${ext}`)),
|
|
98
|
+
source: "vitepress"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
deps: ["vuepress", "vuepress-vite", "vuepress-webpack"],
|
|
102
|
+
files: [
|
|
103
|
+
...[".vuepress", "docs/.vuepress"].flatMap((dir) => ["ts", "js", "mjs", "yml", "toml"].map((ext) => `${dir}/config.${ext}`)),
|
|
104
|
+
"vuepress.config.ts",
|
|
105
|
+
"vuepress.config.js",
|
|
106
|
+
"vuepress.config.mjs"
|
|
107
|
+
],
|
|
108
|
+
source: "vuepress"
|
|
109
|
+
},
|
|
110
|
+
{ deps: ["docus", "@nuxt-themes/docus"], source: "docus" },
|
|
111
|
+
{
|
|
112
|
+
files: [
|
|
113
|
+
"mkdocs.yml",
|
|
114
|
+
"mkdocs.yaml",
|
|
115
|
+
"zensical.toml",
|
|
116
|
+
"properdocs.yml",
|
|
117
|
+
"properdocs.yaml"
|
|
118
|
+
],
|
|
119
|
+
source: "mkdocs"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
files: ["book.toml", "docs/book.toml", "book/book.toml"],
|
|
123
|
+
source: "mdbook"
|
|
124
|
+
},
|
|
125
|
+
{ files: ["fern/docs.yml"], source: "fern" },
|
|
126
|
+
{
|
|
127
|
+
deps: ["honkit", "gitbook-cli"],
|
|
128
|
+
files: ["gitbook-docs.yaml", ".gitbook.yaml", ".gitbook.yml"],
|
|
129
|
+
source: "gitbook"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
deps: [
|
|
133
|
+
"@redocly/realm",
|
|
134
|
+
"@redocly/redoc",
|
|
135
|
+
"@redocly/revel",
|
|
136
|
+
"@redocly/reef",
|
|
137
|
+
"@redocly/redoc-revel",
|
|
138
|
+
"@redocly/redoc-reef",
|
|
139
|
+
"@redocly/revel-reef"
|
|
140
|
+
],
|
|
141
|
+
files: ["sidebars.yaml"],
|
|
142
|
+
source: "redocly"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
files: [
|
|
146
|
+
"docs/_order.yaml",
|
|
147
|
+
"reference/_order.yaml",
|
|
148
|
+
"recipes/_order.yaml",
|
|
149
|
+
"custom_pages/_order.yaml"
|
|
150
|
+
],
|
|
151
|
+
source: "readme"
|
|
152
|
+
},
|
|
153
|
+
{ deps: ["docsify-cli", "docsify"], source: "docsify" },
|
|
154
|
+
{ files: ["_config.yml", "docs/_config.yml"], source: "jekyll" }
|
|
71
155
|
];
|
|
72
156
|
var detectMigrateSource = async (root) => {
|
|
73
157
|
const deps = await dependencyNames(root);
|
|
@@ -83,17 +167,21 @@ var detectMigrateSource = async (root) => {
|
|
|
83
167
|
}
|
|
84
168
|
return null;
|
|
85
169
|
};
|
|
170
|
+
var URL_RULES = {
|
|
171
|
+
"github-wiki": "Keep every content page. The old wiki URLs stay on github.com and can't be redirected, so map them with the reference's route table and link stubs instead: add no `redirects`, and never push to the wiki; prepare the stubs for the user."
|
|
172
|
+
};
|
|
86
173
|
var migratePrompt = (options) => {
|
|
87
174
|
const { detected, skillDir, source, version } = options;
|
|
88
175
|
const evidence = detected && detected.source === source ? ` (detected from ${detected.evidence})` : "";
|
|
89
176
|
const sourceLine = source ? `The source is ${MIGRATE_SOURCE_NAMES[source]}${evidence}. Its exact mappings are in ${join(skillDir, "references", `${source}.md`)}.` : `The source framework wasn't detected, so inventory the repo first. If it's ${MIGRATE_SOURCES.map((id) => MIGRATE_SOURCE_NAMES[id]).join(", ")}, read that framework's file in ${join(skillDir, "references")}; otherwise follow the skill's mental model directly.`;
|
|
177
|
+
const urlRule = (source && URL_RULES[source]) ?? "Keep every page, and add a redirect for any URL that moves.";
|
|
90
178
|
return `Migrate this documentation project to Blume ${version}.
|
|
91
179
|
|
|
92
180
|
Follow the blume-migrate skill: read ${join(skillDir, "SKILL.md")} first and work through its migration workflow. Wherever the skill says \`<skill>\`, it means ${skillDir}.
|
|
93
181
|
|
|
94
182
|
${sourceLine}
|
|
95
183
|
|
|
96
|
-
Add \`blume@^${version}\` as the docs package's dependency.
|
|
184
|
+
Add \`blume@^${version}\` as the docs package's dependency. ${urlRule} Report everything you drop or approximate, and run the skill's verification steps before you finish.`;
|
|
97
185
|
};
|
|
98
186
|
|
|
99
187
|
// src/cli/commands/migrate.ts
|
|
@@ -172,5 +260,5 @@ export {
|
|
|
172
260
|
migrateCommand
|
|
173
261
|
};
|
|
174
262
|
|
|
175
|
-
//# debugId=
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
263
|
+
//# debugId=7221C933F227E9F464756E2164756E21
|
|
264
|
+
//# sourceMappingURL=chunk-yg8ckc3g.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/cli/commands/migrate.ts", "../src/migrate/migrate.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { defineCommand } from \"citty\";\nimport { join } from \"pathe\";\n\nimport { AGENTS, launchInstalledAgent } from \"../../audit/agent.ts\";\nimport type { AgentKind } from \"../../audit/agent.ts\";\nimport { packageRoot } from \"../../core/package-root.ts\";\nimport { getBlumeVersion } from \"../../core/version.ts\";\nimport {\n MIGRATE_SKILL_DIR,\n MIGRATE_SOURCES,\n MIGRATE_SOURCE_NAMES,\n detectMigrateSource,\n isMigrateSource,\n migratePrompt,\n} from \"../../migrate/migrate.ts\";\nimport type { MigrateSourceId } from \"../../migrate/migrate.ts\";\nimport { commandMeta } from \"../command-meta.ts\";\nimport { reportInternalError } from \"../internal-error.ts\";\nimport { logger } from \"../log.ts\";\n\n/**\n * `blume migrate [source]` — move a docs site from another framework to Blume\n * with a coding agent. Run it through the package runner (`npx blume migrate\n * fumadocs --claude`) in the site being migrated: it names the source (or\n * detects it), then opens Claude Code or Codex on the `blume-migrate` skill\n * bundled in this package, the way `blume audit --claude` hands off its\n * findings. The judgment stays in the skill; the command is the front door.\n * Status lines go straight to stderr: consola drops info-level lines in test\n * and CI environments.\n */\nexport const migrateCommand = defineCommand({\n args: {\n claude: {\n description: \"Run the migration with Claude Code.\",\n type: \"boolean\",\n },\n codex: {\n description: \"Run the migration with Codex.\",\n type: \"boolean\",\n },\n source: {\n description: `The framework to migrate from: ${MIGRATE_SOURCES.join(\" | \")}. Detected when omitted.`,\n required: false,\n type: \"positional\",\n },\n },\n meta: commandMeta.migrate,\n async run({ args }) {\n const root = process.cwd();\n // SAFETY: AGENTS is a closed record keyed by AgentKind, so its keys are\n // exactly the agent kinds.\n const agents = (Object.keys(AGENTS) as AgentKind[]).filter(\n (kind) => args[kind]\n );\n if (agents.length > 1) {\n logger.error(\"Pass at most one of --codex or --claude.\");\n process.exit(1);\n }\n const [agent] = agents;\n if (args.source && !isMigrateSource(args.source)) {\n logger.error(\n `Unknown source \"${args.source}\" (use ${MIGRATE_SOURCES.join(\" | \")}). Leave it out to detect the framework, or to migrate from one not listed.`\n );\n process.exit(1);\n }\n\n try {\n const detected = await detectMigrateSource(root);\n const named: MigrateSourceId | null =\n args.source && isMigrateSource(args.source) ? args.source : null;\n const source = named ?? detected?.source ?? null;\n process.stderr.write(\n source\n ? ` Migrating from ${MIGRATE_SOURCE_NAMES[source]}${named ? \"\" : ` (detected from ${detected?.evidence})`}.\\n`\n : \" Couldn't detect the docs framework; the agent will inventory the repo first.\\n\"\n );\n // A named source wins, but a repo that looks like another framework is\n // worth a second look before an agent rewrites it on the wrong mappings.\n if (named && detected && detected.source !== named) {\n process.stderr.write(\n ` Warning: this looks like a ${MIGRATE_SOURCE_NAMES[detected.source]} project (${detected.evidence}); migrating from ${MIGRATE_SOURCE_NAMES[named]} as named.\\n`\n );\n }\n const skillDir = join(packageRoot(), MIGRATE_SKILL_DIR);\n\n // Without an agent flag the command is the pointer for any other agent:\n // the bundled skill's path (which lives in a throwaway cache under npx),\n // plus the install line that puts the skill where agents look for it.\n if (!agent) {\n process.stderr.write(\n ` blume migrate runs the migration with a coding agent: rerun with --codex or --claude.\\n Using another agent? Point it at ${join(skillDir, \"SKILL.md\")},\\n or install the skill where your agent looks for skills: npx skills add haydenbleasel/blume --skill blume-migrate\\n`\n );\n return;\n }\n\n const cli = AGENTS[agent];\n process.stderr.write(` Handing the migration to ${cli.name}…\\n\\n`);\n const code = await launchInstalledAgent(\n cli.bin,\n migratePrompt({\n detected,\n skillDir,\n source,\n version: getBlumeVersion(),\n })\n );\n if (code === null) {\n logger.error(\n `${cli.name} (\\`${cli.bin}\\`) was not found on PATH. Install it with \\`${cli.install}\\`.`\n );\n process.exit(1);\n }\n if (code !== 0) {\n process.exit(code);\n }\n } catch (error) {\n reportInternalError(error);\n process.exit(1);\n }\n },\n});\n",
|
|
6
|
+
"import { existsSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\n\nimport { join } from \"pathe\";\n\n/**\n * `blume migrate`'s logic, kept out of the command module so it runs (and is\n * covered) in-process. Migration is judgment work — idiomatic navigation,\n * component rewrites, what to drop — so it stays in the `blume-migrate` skill,\n * shipped inside the package; this module only names the source (from the\n * argument, or detected from the repo's own files) and writes the prompt that\n * points a coding agent at the skill and that source's mappings.\n */\n\n/** The docs frameworks the skill has a mapping reference for. */\nexport const MIGRATE_SOURCES = [\n \"mintlify\",\n \"fumadocs\",\n \"docusaurus\",\n \"starlight\",\n \"nextra\",\n \"vitepress\",\n \"vuepress\",\n \"docus\",\n \"mkdocs\",\n \"mdbook\",\n \"fern\",\n \"gitbook\",\n \"redocly\",\n \"readme\",\n \"docsify\",\n \"jekyll\",\n \"github-wiki\",\n] as const;\n\nexport type MigrateSourceId = (typeof MIGRATE_SOURCES)[number];\n\n/** Display names, for messages and the prompt. */\nexport const MIGRATE_SOURCE_NAMES: Record<MigrateSourceId, string> = {\n docsify: \"Docsify\",\n docus: \"Docus\",\n docusaurus: \"Docusaurus\",\n fern: \"Fern\",\n fumadocs: \"Fumadocs\",\n gitbook: \"GitBook\",\n \"github-wiki\": \"GitHub Wiki\",\n jekyll: \"Jekyll\",\n mdbook: \"mdBook\",\n mintlify: \"Mintlify\",\n mkdocs: \"MkDocs\",\n nextra: \"Nextra\",\n readme: \"ReadMe\",\n redocly: \"Redocly\",\n starlight: \"Starlight\",\n vitepress: \"VitePress\",\n vuepress: \"VuePress\",\n};\n\n/** The skill's directory inside the published package. */\nexport const MIGRATE_SKILL_DIR = join(\"skills\", \"blume-migrate\");\n\nexport const isMigrateSource = (value: string): value is MigrateSourceId =>\n MIGRATE_SOURCES.some((source) => source === value);\n\n/** A detected source and the file or dependency that gave it away. */\nexport interface DetectedSource {\n evidence: string;\n source: MigrateSourceId;\n}\n\n/** The slice of `package.json` detection reads. */\ninterface PackageJson {\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n}\n\n/** Every dependency the project's `package.json` names, or none when unreadable. */\nconst dependencyNames = async (root: string): Promise<Set<string>> => {\n const path = join(root, \"package.json\");\n if (!existsSync(path)) {\n return new Set();\n }\n try {\n // SAFETY: package.json is a JSON object; only its dependency maps are read.\n const pkg = JSON.parse(await readFile(path, \"utf-8\")) as PackageJson;\n return new Set([\n ...Object.keys(pkg.dependencies ?? {}),\n ...Object.keys(pkg.devDependencies ?? {}),\n ]);\n } catch {\n // A malformed package.json is the agent's to deal with; detection just\n // falls back to the other signals.\n return new Set();\n }\n};\n\n/**\n * Each source's tell, in the order the skill's workflow checks them: a config\n * file the framework owns, or a dependency only it installs. A GitHub wiki\n * clone has neither (its tell is the `.wiki.git` remote), so `github-wiki` is\n * named-only.\n */\nconst SIGNALS: {\n deps?: string[];\n files?: string[];\n source: MigrateSourceId;\n}[] = [\n { files: [\"docs.json\", \"mint.json\"], source: \"mintlify\" },\n {\n files: [\n \"docusaurus.config.ts\",\n \"docusaurus.config.js\",\n \"docusaurus.config.mjs\",\n \"docusaurus.config.cjs\",\n ],\n source: \"docusaurus\",\n },\n {\n deps: [\"fumadocs-core\", \"fumadocs-ui\", \"fumadocs-mdx\"],\n files: [\"source.config.ts\"],\n source: \"fumadocs\",\n },\n { deps: [\"nextra\"], source: \"nextra\" },\n { deps: [\"@astrojs/starlight\"], source: \"starlight\" },\n // The config usually sits in docs/.vitepress, often with the dependency in\n // docs/package.json rather than the root one.\n {\n deps: [\"vitepress\"],\n files: [\".vitepress\", \"docs/.vitepress\"].flatMap((dir) =>\n [\"ts\", \"mts\", \"js\", \"mjs\"].map((ext) => `${dir}/config.${ext}`)\n ),\n source: \"vitepress\",\n },\n // v1 also reads YAML and TOML configs; v2 also reads vuepress.config.* from\n // the directory it runs in. vuepress-vite and vuepress-webpack were the v2\n // beta wrappers.\n {\n deps: [\"vuepress\", \"vuepress-vite\", \"vuepress-webpack\"],\n files: [\n ...[\".vuepress\", \"docs/.vuepress\"].flatMap((dir) =>\n [\"ts\", \"js\", \"mjs\", \"yml\", \"toml\"].map((ext) => `${dir}/config.${ext}`)\n ),\n \"vuepress.config.ts\",\n \"vuepress.config.js\",\n \"vuepress.config.mjs\",\n ],\n source: \"vuepress\",\n },\n // The Nuxt docs theme (not Docusaurus); 1.x shipped as @nuxt-themes/docus.\n { deps: [\"docus\", \"@nuxt-themes/docus\"], source: \"docus\" },\n // MkDocs and the tools that build its projects (Zensical, ProperDocs). They\n // come after the JavaScript frameworks, so a stale mkdocs.yml doesn't win.\n {\n files: [\n \"mkdocs.yml\",\n \"mkdocs.yaml\",\n \"zensical.toml\",\n \"properdocs.yml\",\n \"properdocs.yaml\",\n ],\n source: \"mkdocs\",\n },\n // A code repo usually keeps its book in a subfolder.\n {\n files: [\"book.toml\", \"docs/book.toml\", \"book/book.toml\"],\n source: \"mdbook\",\n },\n // Not fern.config.json alone: plenty of repos run Fern only to generate SDKs.\n { files: [\"fern/docs.yml\"], source: \"fern\" },\n // Not SUMMARY.md (mdBook and HonKit books have one too) or book.json (too\n // generic a name).\n {\n deps: [\"honkit\", \"gitbook-cli\"],\n files: [\"gitbook-docs.yaml\", \".gitbook.yaml\", \".gitbook.yml\"],\n source: \"gitbook\",\n },\n // After the config-file sources, and never on redocly.yaml alone: that file\n // is just as often Redocly CLI lint config in a repo built with another\n // framework.\n {\n deps: [\n \"@redocly/realm\",\n \"@redocly/redoc\",\n \"@redocly/revel\",\n \"@redocly/reef\",\n \"@redocly/redoc-revel\",\n \"@redocly/redoc-reef\",\n \"@redocly/revel-reef\",\n ],\n files: [\"sidebars.yaml\"],\n source: \"redocly\",\n },\n // ReadMe's bi-directional Git sync; repos that only push with the rdme CLI\n // leave no tell, so those are named-only.\n {\n files: [\n \"docs/_order.yaml\",\n \"reference/_order.yaml\",\n \"recipes/_order.yaml\",\n \"custom_pages/_order.yaml\",\n ],\n source: \"readme\",\n },\n // A Docsify site is an index.html that loads the library from a CDN, so only\n // the ones with a manifest give themselves away. Not _sidebar.md: on a\n // case-insensitive filesystem it also matches a GitHub wiki's _Sidebar.md.\n { deps: [\"docsify-cli\", \"docsify\"], source: \"docsify\" },\n // Last: _config.yml is a generic name (Hexo and Jupyter Book use it too), so\n // every more specific tell wins first, and the reference says how to spot\n // the others.\n { files: [\"_config.yml\", \"docs/_config.yml\"], source: \"jekyll\" },\n];\n\n/**\n * Detect the docs framework a project is built on from its own files, or\n * null when nothing gives it away (the skill still migrates any framework,\n * working from its general model instead of a mapping reference).\n */\nexport const detectMigrateSource = async (\n root: string\n): Promise<DetectedSource | null> => {\n const deps = await dependencyNames(root);\n for (const { deps: tells = [], files = [], source } of SIGNALS) {\n const file = files.find((name) => existsSync(join(root, name)));\n if (file) {\n return { evidence: file, source };\n }\n const dep = tells.find((name) => deps.has(name));\n if (dep) {\n return { evidence: `${dep} in package.json`, source };\n }\n }\n return null;\n};\n\n/**\n * The prompt's URL rule, where a source can't follow the default: a GitHub\n * wiki's old URLs stay on github.com, where no redirect can reach them.\n */\nconst URL_RULES: Partial<Record<MigrateSourceId, string>> = {\n \"github-wiki\":\n \"Keep every content page. The old wiki URLs stay on github.com and can't be redirected, so map them with the reference's route table and link stubs instead: add no `redirects`, and never push to the wiki; prepare the stubs for the user.\",\n};\n\n/**\n * The handoff prompt: follow the skill, where its mappings for this source\n * are, and the few rules worth restating — the target version, and that no\n * page or URL is lost.\n */\nexport const migratePrompt = (options: {\n detected: DetectedSource | null;\n skillDir: string;\n source: MigrateSourceId | null;\n version: string;\n}): string => {\n const { detected, skillDir, source, version } = options;\n const evidence =\n detected && detected.source === source\n ? ` (detected from ${detected.evidence})`\n : \"\";\n const sourceLine = source\n ? `The source is ${MIGRATE_SOURCE_NAMES[source]}${evidence}. Its exact mappings are in ${join(skillDir, \"references\", `${source}.md`)}.`\n : `The source framework wasn't detected, so inventory the repo first. If it's ${MIGRATE_SOURCES.map((id) => MIGRATE_SOURCE_NAMES[id]).join(\", \")}, read that framework's file in ${join(skillDir, \"references\")}; otherwise follow the skill's mental model directly.`;\n const urlRule =\n (source && URL_RULES[source]) ??\n \"Keep every page, and add a redirect for any URL that moves.\";\n return `Migrate this documentation project to Blume ${version}.\n\nFollow the blume-migrate skill: read ${join(skillDir, \"SKILL.md\")} first and work through its migration workflow. Wherever the skill says \\`<skill>\\`, it means ${skillDir}.\n\n${sourceLine}\n\nAdd \\`blume@^${version}\\` as the docs package's dependency. ${urlRule} Report everything you drop or approximate, and run the skill's verification steps before you finish.`;\n};\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "7221C933F227E9F464756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|