nimbus-docs 0.8.1
Patch Changes
- #55
a590ebdThanks @MohamedH1998! - CLI hints now print a runnable, scoped invocation instead of the barenimbus-docsbinary. Error messages, install hints, and--helpreferencepnpm dlx @cloudflare/nimbus-docs …(matched to your package manager —npx/yarn dlx/bunx), so a first-rundlx/npxuser can copy-paste them, and they never resolve the unrelated legacy unscopednimbus-docspackage on npm. For example, an unknown slug now suggestspnpm dlx @cloudflare/nimbus-docs listrather thannimbus-docs list. Once@cloudflare/nimbus-docsis a project dependency you can still call thenimbus-docsbin directly (viapnpm execor an npm script) —--helpdocuments both. The “framework is behind” nudge fromoutdatednow suggests your package manager’s update command instead of a hardcodednpm update.
nimbus-docs 0.8.0
Minor Changes
-
#42
8e4e210Thanks @MohamedH1998! - Add the ownership + upgrade loop to thenimbus-docsCLI:nimbus-docs init— reconstruct animbus.jsonfor a project that lacks one (scaffolded before this record existed, an existing Astro site adopting Nimbus, or a deleted record), matching installed components against the registry and marking what it can’t recover.nimbus-docs outdated— a read-only check across both tiers: starter files behind theirtemplates-v*tag (whichgit diffcan’t show) and registry components whose recorded bytes differ from the registry.nimbus-docs diff [file]/diff --apply <file>— review upstream/your changes to starter files, and pull a clean upstream change per file (never a merge).nimbus-docs add <slug> --overwrite— re-install a component over your copy (review withgit diff).addalso records each install innimbus.json.
Also adds a
getRouteFlagslayout-flag helper and a CI guard for the registry tier invariants.Migration —
add --yesno longer overwrites files you own. It now assents to prompts (dependency installs, etc.) but keeps existing files on conflict, so a bare-yin CI never clobbers your code. Use--overwriteto replace files.# before — --yes overwrote conflicting files nimbus-docs add card --yes # after — replace files explicitly nimbus-docs add card --overwrite -
#34
73bbecfThanks @mvvmm! -nimbus/internal-linkandnimbus/image-refnow match theirignore: string[]option against full glob syntax (**,*,{a,b}, extglobs, …) viapicomatch, not just an exact match or aprefiximmediately followed by/**. In particular, a leading any-depth wildcard like**/llms.txtis now supported — the previous hand-rolled matcher had no way to express that.Existing
ignorelists using only exact paths orprefix/**patterns keep working unchanged.
nimbus-docs 0.7.1
Patch Changes
- #36
738c8a0Thanks @mvvmm! - Merge partial headings into the parent page’s TOC.<Render file="..." />partials that contain literal markdown headings (## Foo) now contribute those headings to the parent page’s “On this page” table of contents, in document order, recursively. PasspartialHeadings: { resolvePartialId }togetDocsPageProps()/getCollectionPageProps()to customise how<Render>attributes map to a partial collection id.
nimbus-docs 0.7.0
Minor Changes
- #27
1ebfb6cThanks @MohamedH1998! - Addiconto sidebar groups — an optional leading icon (astro-icon name) before the group label. Set it two ways: on a directory’sindexfrontmatter (sidebar: { group: { icon: "ph:…" } }) or on a configsidebar.itemsgroup entry ({ label, icon: "ph:…", autogenerate: … }). Threaded through the group schema,SidebarGroupItem/SidebarConfigItemtypes, and the sidebar tree builder (both the content-derived and config-defined paths).
nimbus-docs 0.6.1
Patch Changes
- #22
7ec9715Thanks @MohamedH1998! - Republish with npm provenance attestations. Supersedes 0.6.0 / 0.5.0, which published without provenance and before the repo was public.
nimbus-docs 0.6.0
Minor Changes
-
#20
fde68ebThanks @MohamedH1998! - Rename to the@cloudflarenpm scopenimbus-docs→@cloudflare/nimbus-docsandcreate-nimbus-docs→@cloudflare/create-nimbus-docs. The unscoped packages are deprecated and receive no further releases.Migration:
- Framework:
pnpm remove nimbus-docs && pnpm add @cloudflare/nimbus-docs, then update imports —from "nimbus-docs"→from "@cloudflare/nimbus-docs"(every subpath follows:/content,/schemas,/types,/client,/markdown,/react,/lib/pkgm,/components/NimbusHead.astro). Thenimbus-docsCLI bin name is unchanged. - Scaffolder:
pnpm create nimbus-docs→pnpm create @cloudflare/nimbus-docs.
No API, config, schema, or runtime behavior change — only the package names and import paths.
- Framework:
Patch Changes
-
#18
24fd3b0Thanks @MohamedH1998! - Fix@shikijs/typesdedup soCode.astrotypechecks in consuming sitesThe published
distinlined a local copy of@shikijs/types’sShikiTransformersurface instead of importing it, sodefaultCodeTransformersnever deduped against the@shikijs/typesthat Astro’s<Code>uses — breakingastro checkin scaffolded sites. The build now keeps@shikijs/typesand@shikijs/transformersas external type imports in the emitted.d.ts, and@shikijs/typesis a runtime dependency (^4.2.0) so the import resolves for consumers. No API or runtime behavior change.
nimbus-docs 0.5.0
Minor Changes
-
#16
4abd409Thanks @MohamedH1998! - Remove the built-in incremental-build cacheThe
incrementalBuildsoption, thepartialResolverhook, and thenimbus-docs cleancommand are gone, along with the internal cache module that backed them. Astro 7 owns incremental building now, and running a second cache on top of it undernode_modules/.astrowas redundant and a stale-serve risk.Breaking: if you passed
incrementalBuildsorpartialResolvertonimbus(), remove them — they no longer exist onNimbusIntegrationOptions. No replacement is needed; a plainastro buildis the supported path, and Astro 7’s native incremental building applies without any Nimbus opt-in.
nimbus-docs 0.4.0
Minor Changes
-
#13
456ca74Thanks @MohamedH1998! - Move to Astro 7nimbus-docsnow peers onastro ^7.0.0(was>=6.4.0 <7.0.0) and builds against the Astro 7 ecosystem:@astrojs/mdx ^7,@astrojs/markdown-satteri ^0.3.4(Sätteri^0.9), Vite 8. The markdown pipeline — Sätteri plus thehastPlugins/mdastPluginsseam and Shiki dual-theme output — is unchanged; the Sätteri0.6→0.9jump left the plugin-definition types intact, so no seam code moved.Astro 7 makes Sätteri the default processor, which unblocks opt-in server output alongside it (the gate for hosted MCP, Ask AI, and content negotiation).
Starter templates: Tailwind v4 now wires through
@tailwindcss/viteinstead of the PostCSS plugin, which does not build under Astro 7’s Vite 8 bundler. Scaffolded projects gain@tailwindcss/viteand drop@tailwindcss/postcss+postcss.config.mjs.Breaking (peer): sites must be on Astro 7. The
unified()escape hatch for remark/rehype plugins still works, but@astrojs/markdown-remarkmust now be installed explicitly (pnpm add @astrojs/markdown-remark) — pnpm does not expose it for import even though@astrojs/mdxpulls it transitively.
nimbus-docs 0.3.0
Minor Changes
-
#9
d83ef06Thanks @MohamedH1998! - Ship the static agent-surface layer: full corpus, raw-source twins, version labels/llms-full.txt— the whole published site as one deterministic markdown document, via the newrenderCorpusMarkdown()helper behind a ten-line starter route. Scope matches the rootllms.txt(primary + secondary collections, non-current doc versions excluded); collation is sorted and timestamp-free, so output is byte-identical across rebuilds./llms.txtlinks to it.- Raw-source twin at
<page>/index.mdx— the authored MDX body served verbatim with the same canonical frontmatter block as the.mdtwin. Twin grammar:index.mdis the downleveled render for reading,index.mdxis the source. The.mdtwin’sSource:line now points at the.mdxtwin instead of itself. IndexedEntrygainssourceUrl(site-relative URL of the raw-source twin;undefinedfor entries without a string body) andversion(the entry’s version label resolved from theversionsmanifest;undefinedon unversioned sites and non-docs collections). On versioned sites every twin’s frontmatter carries aversion:label so agents can pin a version; unversioned sites are byte-for-byte unchanged.astropeer range is now>=6.4.0 <7.0.0, declaring the Astro 6 requirement that@astrojs/mdx@6always implied. Astro 7 support lands as its own release.
nimbus-docs 0.2.2
Patch Changes
-
#7
692bd5eThanks @MohamedH1998! - Fixsidebar.isolatecollapsing the rail when a page links out of the boundaryWhen
sidebar.isolate.boundarieswas configured (e.g.["learning-paths/*"]), a single page inside the boundary group that linked out of the boundary’s URL subtree — a relative cross-sectionexternal_link— madeisolateToBoundarydiscard the module containing it (and its parent boundary group) and fall through to the first fully-in-prefix group in DFS order. Every page under that learning path then rendered the wrong rail: a sibling module (or a clean nested subfolder) flattened, or — under a multi-segment glob — the rail silently left unisolated.The boundary group is now identified positively instead of by “all descendants under the prefix.” Groups are stamped at build time with the URL subtree they own (
_routeKey): an autogenerate group’s directory path, a non-primary collection mount, or a manual group’ssegment.isolateToBoundaryselects the stamped group whose key equals the glob-implied prefix and which contains the current page (via the existingcontainsRouteKey, already robust to_neverActivelinks and_indexNeverActive/external landings).flattenSidebaris unchanged, sogetPrevNextpagination is unaffected.Behavior notes:
- Selection now pins to the glob-implied depth. On the rare nested-wrapper single-path tree — where the previous code isolated at whatever wrapper happened to be fully in-prefix — the isolated rail now sits at the glob depth instead. This aligns single- and multi-path trees, which previously diverged.
- A group must declare the URL subtree it owns to be an isolate boundary
(autogenerate
directory, collection mount, or manualsegment). A plain manual{ items }group with nosegmentis treated as a visual grouping rather than a URL boundary; if such a group previously isolated via the old descendant scan, add asegmentto keep it selectable.