Repository navigation
fix(deps): update dependency @cloudflare/nimbus-docs to ^0.18.0 - #5
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/cloudflare-nimbus-docs-0.x
branch
3 times, most recently
from
September 27, 2026 11:09
680ab01 to
3295c59
Compare
renovate
Bot
force-pushed
the
renovate/cloudflare-nimbus-docs-0.x
branch
3 times, most recently
from
October 4, 2026 20:42
50ad7ae to
5ce3429
Compare
renovate
Bot
force-pushed
the
renovate/cloudflare-nimbus-docs-0.x
branch
3 times, most recently
from
October 9, 2026 04:38
f816c61 to
20335fe
Compare
renovate
Bot
force-pushed
the
renovate/cloudflare-nimbus-docs-0.x
branch
from
October 12, 2026 14:55
20335fe to
797d767
Compare
renovate
Bot
force-pushed
the
renovate/cloudflare-nimbus-docs-0.x
branch
2 times, most recently
from
October 21, 2026 00:32
a5b99af to
84e30ed
Compare
renovate
Bot
force-pushed
the
renovate/cloudflare-nimbus-docs-0.x
branch
from
October 22, 2026 21:15
84e30ed to
fb82684
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
^0.11.0→^0.18.0Release Notes
cloudflare/nimbus (@cloudflare/nimbus-docs)
v0.18.1Compare Source
Patch Changes
#247
b98bd3fThanks @MohamedH1998! - - Generated_headersrules leave out any header the site's own_headersalready sets for that path, site-wide rules included, so hosts no longer send doubled values such asAccess-Control-Allow-Origin: *, *.#250
d664242Thanks @sansynx! - Keep application warnings visible during concurrent OpenAPI specification publication.#257
e9a4360Thanks @MohamedH1998! - - New Cloudflare projects, andnimbus-docs add adapter-cloudflarewhenwrangler.jsonchas no valid date, get acompatibility_datethe installed Workers runtime supports instead of today's date, so local dev starts.v0.18.0Compare Source
Minor Changes
#229
a04304cThanks @MohamedH1998! - - A page or reusable snippet with only frontmatter builds, and its Markdown version is just its title and source.llms.txtnames each section for its index page's title, such as "Guides" instead ofguides.#, and excerpts no longer include the page actions.#232
d655e86Thanks @MohamedH1998! - - API pages link to the previous and next page in sidebar order, even when a group is collapsed./api, no longer warns.#211
4a841cbThanks @MohamedH1998! - - Addbundle: falseto anapientry to serve a very large or many-version API from static assets instead of the server bundle. Unchanged pages are shared across versions, and unchanged versions aren't prepared again on rebuild. Needssrc/live.config.tsregisteringapiPagesLoaderfrom@cloudflare/nimbus-docs/live; the build shows the snippet. The build suggests the option when an API's bundled page data passes 16 MiB.getVersionSwitchUrlandgetApiVersionHeadfor version pickers and heads in every rendering mode; the starter's picker and API layout use them.#212
94ebe52Thanks @MohamedH1998! - API pages show the sidebar filter. Withsidebar: "on-demand"it also finds pages the sidebar hasn't loaded.#222
e15eea7Thanks @MohamedH1998! - Newapi[].extensionsoption: list thex-*fields to keep, and their values are copied onto API pages aspage.extensionsandfield.extensionsfor your components to render.#214
825ffcfThanks @MohamedH1998! - API reference pages show the version picker for versioned APIs, in the sidebar and the mobile navigation.#211
02f53a1Thanks @MohamedH1998! -versionModeis nowversionUrl:versionUrl: { in: "query" }selects the version with?version=instead of?api-version=, and old links redirect. Setparamto use another name (review entryapi-version-url).#240
381b37aThanks @MohamedH1998! - -og:image:widthandog:image:heightdescribe the image: generated cards stay 1200 × 630, asocialImagefile inpublic/is measured at build time, and any other image gets no size tags.NimbusHeadtakessocialImageSizeto set them for an image Nimbus can't measure.<lastmod>on every documentation page, from frontmatterlastUpdatedor the page's last commit, and/sitemap.xmlis a copy ofsitemap-index.xmlunless the site serves its own.BaseLayoutpassessocialImageSizethrough toNimbusHead, and the 404 page recipe writes the new title andnoindex.Page not found | <site>and the page isnoindex.#233
1f2ce43Thanks @MohamedH1998! - - New sites open content images at full size on click. On an existing site, runnimbus-docs add image-zoomand render<ImageZoom />insrc/layouts/DocsLayout.astro.#238
315ab66Thanks @MohamedH1998! - - Aresource-action-v2route convention publishes tag pages at lowercase URLs, such as/api/tags/user-management, with the same operation URLs asresource-action-v1. Existing conventions, and sites withoutroutes, are unchanged.resource-action-v2on new sites and resolves the route collisions the build reports.#224
79b05efThanks @MohamedH1998! - - Newmarkdown.featuresoption turns on Sätteri syntax, such as{ headingAttributes: true }for## Install {#install}or{ math: true }. Pages, generated Markdown, reusable snippets and lint all follow it. New sites start with heading ids on.{/* comments */}.#226
dd95e97Thanks @MohamedH1998! - - Newmath()Markdown plugin typesets$…$,$$…$$and```mathat build time as native MathML, with no math JavaScript. Addmath()tomarkdown.hastPluginsandmath: truetomarkdown.featuresto use it.#236
fb759c5Thanks @MohamedH1998! - - With the section route atsrc/pages/[...section]/llms.txt.ts, each sub-folder gets its ownllms.txt, and its parent's index links to it under "Sections". New sites have this route; a[section]route keeps today's one index per top-level section.llms-full.txtover 25 MiB becomes an index of onellms-full.txtper section, split further where a section is still too big, so the site deploys to Cloudflare.LlmsEndpointReference(from@cloudflare/nimbus-docs/agent-endpoints) addssurface: "full"on section references, for the per-sectionllms-full.txtfiles.#224
79b05efThanks @MohamedH1998! - Starter fixes:<Render>params can't replace registered components; small fixes to breadcrumbs and the mobile table of contents.#223
c39fdfcThanks @MohamedH1998! - The docs version picker no longer appears on pages outside the docs versions, such as API reference and blog pages.Patch Changes
#228
6d4bd68Thanks @MohamedH1998! - -addreports components whose files already match the registry as up to date, and--overwritelists each file it replaces, asking first in a terminal when you've edited the component.add --overwritedetects edits to components that came with the starter from the starter release your site came from, so it replaces untouched ones without asking.addadds a component's missing files even when it keeps your edited ones, and lists each file it adds, replaces or keeps.addno longer suggests registering a component thatcomponents.tsalready registers.outdatedsays when a newer Nimbus is out, when the reviewed version only needs recording, and when a registry dependency is installed below the version a component needs.diff --applyon a file only you changed reports there's nothing to pull, without failing.diff,outdatedandmigrateexplain preview builds instead of asking for a baseline.#219
942c57bThanks @MohamedH1998! - Generated code samples formultipart/form-datarequest bodies now send every part, with file fields as<name>placeholders, instead of only theContent-Typeheader.#223
c39fdfcThanks @MohamedH1998! - - Generated API samples use<base-url>when a spec has no server or a relative one, instead of an invented host, and fill server variables from their defaults.parentno longer prints a warning for each tag that uses it.nimbus-docs add api-layoutends by pointing to the API route instead ofsrc/components.ts.bash.#220
cd7f0daThanks @MohamedH1998! - - Request field lists no longer show properties markedreadOnlyacross schema alternatives, and response field lists no longer show those markedwriteOnlyacross alternatives. Synthesized examples use the selected alternative; authored examples retain their values. Webhook payloads read like responses. Cite areadOnlyfield under the response.application/x-ndjsonis sent verbatim in generated samples.; charset=utf-8generate per-field samples; authored encoded strings keep their bytes.#234
1b546afThanks @MohamedH1998! - -astro devandastro checkno longer delete the build's page-collection list, sonimbus-docs checkruns its page-collection checks after a build.nimbus-docs lintandchecksay when the lint rules in your Astro config changed since.nimbus/lint.jsonwas written, and to runastro sync.checkmarks a scope that skipped some checks◐ ok, partly checked, and says--typescovers.tsand.tsxfiles only (runastro checkfor.astro).nimbus-docs check --helplistscheck's own flags.@astrojs/cloudflare14.2.x says only a coldastro devcan fail; builds aren't affected.getStaticPaths()get one line explaining that the rendering policy renders them on request.trailingSlash: "always"andbuild.format: "file", the build andcheckwarn that every/page/link redirects, and name thewrangler.jsoncfix.lint --rule nimbus/mdx-syntaxsays the syntax check always runs.#211
ff1cd57Thanks @MohamedH1998! - Load@iconify-jsonicon sets from the site root, so a build started from another directory still finds them.#237
7a07851Thanks @MohamedH1998! - - Search is indexed howeverastro buildis started, including./node_modules/.bin/astro build.pagefind.ymlapplies when the build starts from another folder with--root.#230
25d21cfThanks @MohamedH1998! - - Server scaffolds for Node, Vercel, and Netlify render docs pages on request, so Markdown negotiation works on them..or an empty folder, including a freshly cloned repository.npm createinstalls a handful of packages instead of the whole framework..yarn/the way Yarn recommends, and pin Yarn inside a folder that pins another package manager.AGENT.mdexplains sidebar groups, order, and links.nimbus-docs checkand--helpshow commands for your package manager.#213
7350707Thanks @MohamedH1998! - When an API's spec can't be published because a$refisn't a reference string, the build warning names where it is instead of printing[object Object].#227
ea8712dThanks @sansynx! - Add UTF-8 Content-Type headers for prerendered llms indexes, full documents, page Markdown, and robots.txt. Keep rules scoped to Nimbus file paths and preserve explicit owner Content-Type policies.v0.17.0Compare Source
Minor Changes
#204
a8e0d02Thanks @MohamedH1998! - - Agent files follow the rendering policy: a page'sindex.md/index.mdxrenders in its collection's mode, a section'sllms.txtin the mode of the collection it lists,llms.txt/llms-full.txtinrendering.default, and homepage Markdown in the root collection's mode. Mounted collections get their own agent routes, copied starter routes keep working unchanged, and static sites don't change.#201
855091cThanks @MohamedH1998! - Addsamples.generateto choose which languages Nimbus generates code samples in, and fix generated samples and examples that sent different values from the page.samples.generate: setsamples: { generate: ["curl"] }on anapientry to generate only a cURL request, instead of cURL, TypeScript, and Python, on every operation.[]generates none, so operations show only their authoredx-codeSamples. The default is unchanged: all three.samples.keepGeneratedstill picks the generated languages shown next to authored samples; each of its languages must now also be ingenerate.SyntaxError, and object keys with quotes or backslashes stay valid. In both languages, a backslash is no longer read as an escape (C:\\temp\\newwas sent with a tab and a newline), including in text bodies such astext/plain. A JSON body offalse,0, or""is now sent instead of dropped.'was passed through an unquoted heredoc, so the shell collapsed backslashes and ran$NAMEand backticks in the example when the sample was pasted. The heredoc is now quoted.application/x-www-form-urlencodedbodies were dropped from every sample and are now sent in all three languages. A property with anencodingentry follows OpenAPI:style,explode, orallowReservedselect query-style serialization, and an entry without them sends the value as itscontentType, so an object is sent as JSON. A property without an entry nests objects in brackets (metadata[plan]=pro), repeats the name for each item of a scalar array (tags=a&tags=b), and indexes arrays of objects (items[0][price]=p_1). A string example is read as an encoded form; a form example with no fields sends no body.multipart/form-databodies are still omitted.allowReserved: truepreserves valid percent-encoded triples and safe reserved characters without double encoding; form delimiters and unsafe characters remain encoded.@is sent as text instead of uploading the file it names.,,|, or space inside an array item no longer reads as a separator withexplode: false, unlessallowReserved: trueleaves a,unencoded.=valuelike the other languages.samples.generate: [], shows its request example on the page.Swagger 2.0 isn't supported. Convert it to OpenAPI 3.x first.and the document's path, instead of building pages with no server URL,unknownparameter types, and missing response schemas. The API reference docs show how to convert one before each build.If the installed httpsnippet writes a body differently from the layout Nimbus corrects, that language's sample is left out rather than shown with an unescaped body. Authored
x-codeSamplesare unchanged. New sites scaffolded bycreate-nimbus-docsuse this release.#207
d77ff08Thanks @MohamedH1998! - - A request-rendered API family can setversionMode: "query": one URL per operation, the version in?api-version=(absent means the default, unknown is 404, hidden versions reachable by query only). Generated same-version links carry the query; discovery covers the default version at version-free URLs; non-default pages arenoindexwith the default counterpart as canonical. Path mode stays the default and is unchanged.-v1orv1-now fails validation; rename it.#198
86b573aThanks @MohamedH1998! - - Skills inskills/<name>/SKILL.mdfolders are published at/.well-known/agent-skills/with a discovery index, archives for multi-file skills, and digests.#199
b8a8dbdThanks @MohamedH1998! - - Sites with API collections publish every spec, including hidden versions, as one self-containedopenapi.jsonat its mount path, and list each visible API in an RFC 9727 catalog at/.well-known/api-catalog. SetpublishSpec: falseto keep a spec private.#195
b685092Thanks @MohamedH1998! - - Add discovery files, homepage Markdown, and Link headers to all sites.#205
7b76521Thanks @MohamedH1998! - - Sidebar groups are nativedetails/summarywith one class per row type, a CSS caret, and no animation; a group's landing page lists as an "Overview" child row. Each page renders one sidebar tree, shared by the desktop rail and the mobile drawer, and a large sidebar's page HTML drops by roughly 80%. The state scripts drive the old copied markup too.#203
62d7956Thanks @MohamedH1998! - - Only collections made with Nimbus's helpers (docsCollection(),componentsCollection(),withNimbusMarkdown()) become pages; every other collection is plain Astro data with no naming rule, and the_prefix convention is removed. Ifrenderingis set, a site's own page collection with a catch-all route now needs an entry inrendering.collections.#196
2e200ceThanks @MohamedH1998! - - The starter registers asearch_documentationWebMCP tool, backed by the site's Pagefind index.#200
c17a945Thanks @MohamedH1998! - - On server output, a request-rendered page returns its Markdown when the request preferstext/markdown; the URL stays canonical and both forms sendVary: Accept.Patch Changes
#201
7b8c3e8Thanks @MohamedH1998! - For methods that support request bodies, preserve JSONnullin generated TypeScript andPython samples. They now send the same four-byte JSON payload as cURL instead of omitting it.
Absent request bodies remain absent, and schema-derived examples and authored code samples
keep their existing behavior.
#193
bcc1b1eThanks @sansynx! - Keep synced tabs usable when browser storage writes fail because the storage quota is full.#206
bcfe446Thanks @MohamedH1998! - - The version picker keeps a reader on the same operation when itsoperationIdchanged between versions but its HTTP method and path shape did not (including a renamed path parameter). The pairing is order-independent and never guesses: anything ambiguous stays unmatched and goes to the version landing, as before.v0.16.0Compare Source
Minor Changes
#191
18b0005Thanks @MohamedH1998! - Generated API code samples show<name>, such as<account_id>, for a path parameter unless a value declared in its schema produces the generated value, instead of a guess such asstring,0, or a made-up UUID. This holds for any schema shape, includingallOf, unions, andif/then. Required query parameters and headers keep the generated value, guesses included; one with no schema, or whose generated value is an array or object, now shows<name>instead of its bare name. A parameter's ownexampleorexamplesnow wins over its schema, as OpenAPI specifies. Credential placeholders now say what goes there:Bearer <token>,Basic <credentials>, and the API key's name, such as<X-API-Key>. Placeholders render unencoded in every language, including names that URL encoding would change, such asfilter[name]. Declared values, including ones that look like a placeholder, and request bodies are unchanged.Every authored
x-codeSamplesentry is now kept, including several with the samelang; previously only the first entry per language was shown. Each sample has anid, unique within the operation: the language for the first sample in that language, thenpython-2,python-3. A repeated label, or a missing one that falls back tolang, is numbered for display (Python (2)) in the picker and the Markdown version. To give each of them its own picker option, update theapi-code-railregistry component withnimbus-docs add api-code-rail, choosing Overwrite for its two files; see the upgrade entryapi-code-sample-ids. Without the update, a language's samples show one after another.Add
samples.keepGeneratedtoapientries, so an operation with authoredx-codeSamplescan still show generated samples. Kept samples follow the authored ones, and an authored sample in the same language replaces the generated one. The default,[], keeps today's behavior.#190
9f54406Thanks @MohamedH1998! - Breaking: API references no longer publish a page for eachcomponents/schemasentry. To keep schema pages, addschemaPages: trueto theapientry; that restores today's output exactly.With schema pages off (the new default), schemas still shape operation pages, including the properties previewed under each union variant, but get no page, Markdown version, OG image, sitemap, search, or
llms.txtentry, or citation coordinate. Union variants, discriminator mappings, andmap<Name>types render as text. A citation in your content to a schema or schema field fails the build and names the setting. Schema names still claim theirschemas/<Name>routes, so turning pages on can't collide with an operation. On a 400-operation slice of a large public spec, this cut output files by 60% and build time by more than half.getApiPagePropsnow throws for a coordinate that has no page, such as a schema with schema pages off or anx-tagGroupscategory, instead of returning the API root's URLs as if they were its own.#181
71ff242Thanks @MohamedH1998! - Addsidebartoapientries, so large API references stop putting the whole navigation tree in every page."full"(the default) keeps today's behavior."on-demand"includes top-level items plus the current page's branch. A collapsed group opens in place and loads its rows from its own page, where the sidebar lists them open; a group without a page, such as anx-tagGroupscategory, loads them from the API overview. Without JavaScript, a collapsed group's label still links to its page. The mode is read from theapientry in the Nimbus config, including for sites that pass their entry toapiCollection({ … }).ApiNavItemgains optionaldeferredandchildrenHreffields.@cloudflare/nimbus-docs/clientaddsinitNavSidebar(), and@cloudflare/nimbus-docs/runtimeaddsnavStateScript, an inline script, andnavBuildId, which a sidebar renders asdata-nb-nav-build. Together they keep a sidebar's open groups, loaded rows, and scroll position from page to page for the session, restored before the page paints and without replaying animations. Cached rows are tied to the build that rendered the page, so rows cached before a deployment are never shown after it, including on client-side navigation.apiCollection({ … })warns when it sets asidebarthe config doesn't match.A tag's
x-displayNamenow sets its label in the sidebar, page title, and breadcrumbs, while itsnamestill decides its coordinate and route. This lets a spec group hundreds of flat tags under readable parents.Group pages now list their subsections (
ApiSectionPage.sections), in HTML and Markdown, so every page stays reachable without the sidebar. The API overview no longer links anx-tagGroupscategory to itself: it lists the category's member sections instead. Both changes apply in every sidebar mode.Starter components:
ApiSidebarItemrenders a deferred group as a closed group with an empty panel, andApiLayoutmountsinitNavSidebarand the restore script for both the desktop rail and the mobile drawer. The API sidebar now keeps the groups a reader opened and its scroll position from page to page in every mode, and no longer fades or replays group animations during navigation. The mobile drawer moved ahead of the desktop rail inApiLayout, so one inline script restores both before the page paints.ApiBodylists a group page's subsections.Existing sites keep working unchanged with the default
sidebar: "full"."on-demand"needs the new API components: with older ones, the build fails and names the outdated files. Update them withnimbus-docs add api-layout, choosing Overwrite forapi-layoutandapi-sidebar.nimbus-docs addnow warns when the registry serves components from a different release than the project's@cloudflare/nimbus-docs.#194
a14c58fThanks @MohamedH1998! -nimbus/internal-linkfollows redirects:_redirectsand Astro'sredirects; the newredirectsFileintegration option adds a redirects file your deployment reads under another name. A redirect to a page that doesn't exist is still a broken link.netlify.toml, Cloudflare's otherwise.nimbus/redirected-linkrule (off by default) reports links that go through a permanent redirect, with the URL to use instead.astro buildagain after upgrading:.nimbus/routes.jsonhas a new version.Patch Changes
#185
11e6d85Thanks @MohamedH1998! - Static API pages color their code samples again._nimbus/shiki.cssnow defines every token class the pages use; it used to miss the classes only API samples used, so on a site with only API pages, every sample rendered without color.#187
278a3ffThanks @MohamedH1998! -nimbus/internal-linkcan now gate CI:.nimbus/routes.jsonlists every file the build produced, so links to/llms.txt, feeds,.mdalternates, andpublic/files no longer show as broken..nimbus/routes.jsonis missing, isn't valid JSON, or was written by another version of Nimbus,nimbus-docs lintreports one error on that file and exits 1, instead of skipping the rule. Whenastro buildstarts, it deletes the previous build's file, or marks it incomplete if it can't be deleted, so lint never accepts it after a failed build. If the file can be neither deleted nor changed, the build fails until its permissions are fixed. Runastro buildbeforenimbus-docs lint.nimbus-docs checkis unchanged: a missing file is still a note there, not an error.nimbus-docs lintexits 1 when.nimbus/lint.jsonis missing, instead of reporting a clean run with every rule off. Runastro buildorastro devfirst; they write therulesfrom your Astro config there.--rule <code>still runs that one rule without it.[CLI](cli)now counts as a relative link, like./cli, instead of being looked up as/cli.base(for example/docs/guideunderbase: "/docs") used to pass, but Nimbus adds the base again when the page renders, so they lead to/docs/docs/guide, a 404. Lint now reports them and suggests the link without the base. To fix them, remove the base from the link. Writeignorepatterns without the base too.#183
e5fe9f3Thanks @MohamedH1998! - - Generated Markdown (.mdpages andllms-full.txt) is built from the parsed MDX, so it keeps the structure the HTML page shows: code blocks and nested lists stay in their list items, components stay inside the list item, card, or blockquote that holds them, and nested components keep their own content.importandexportlines no longer appear in generated Markdown.#186
aff3e9fThanks @MohamedH1998! - - Amarkdown.componentMaprenderer's output goes into generated Markdown as written again (apart from surrounding whitespace), unless it uses another component, which still converts. In a table cell or a sentence, output with a line break or|is converted so the cell or sentence stays whole.#182
9d2051cThanks @MohamedH1998! - -outdatedanddiffalso compareAGENT.md,CLAUDE.md, andtsconfig.jsonwith the upstream starter, so upgraded sites get guidance fixes. Files every site rewrites, such aspackage.json, are never compared.diff <file> --applyrecords the tag it took the file from innimbus.json(templatesTagByFile), so the file no longer shows as a hand-merge after the next upstream change.outdated --cwd siteignored--cwdand checked the current directory. Scripts that pass an ignored flag now exit 1.checkandadd adapter-cloudflareuse@astrojs/cloudflare@~14.3.0. pnpm saved the old>=14.3.0 <14.4.0as^14.3.x, which allows 14.4.addandinitprint plain lines without a terminal, instead of spinner escapes.v0.15.2Compare Source
Patch Changes
8ded65bThanks @MohamedH1998! - -migraterefuses to record a reviewed version when the project's@cloudflare/nimbus-docsisn't installed, and says to install dependencies. Before,npx @cloudflare/nimbus-docs migrate --yesin a fresh clone recorded the latest release while the lockfile installed an older one, and the build then failed with advice that failed too.nimbus.jsonrecords a version newer than the installed one, the build error says to install dependencies or upgrade, with the command, instead of suggestingmigrate.migrate --dry-run --diffwith nothing pending prints the same result and next step asmigrate --dry-run, instead of nothing.checkreports one "Dependencies aren't installed" error with the install command, instead of offering to install pagefind and wrangler one at a time or reporting a TypeScript error. The command follows the site'spackageManager, lockfile, orpnpm-workspace.yaml/.yarnrc.yml, not the tool that ran the CLI, so a pnpm site checked withnpxis toldpnpm install.check --fixwithout a terminal, the footer namescheck --fix --yesfor skipped installs, and says a value such assiteneeds editing by hand or an interactive terminal. Before, it only said to reruncheck --fix"in a terminal", even for installs.check --helpgives the same stop rule as the starter'sAGENT.md.nimbus/request-rendering-build-requirednote no longer claims a build resolves it.checkdoesn't verify request-rendered pages; a passing production build is the gate.trailingSlash: "always"withbuild.format: "file", canonical andog:urlURLs keep the trailing slash, so they match page links and the sitemap.<PackageManagers type="exec">runs the project's installed CLI with every package manager:pnpm nimbus-docsandyarn nimbus-docsfor a scoped package, instead ofpnpm @cloudflare/nimbus-docs.basehas no trailing slash, such asbase: "/docs". Existing sites: runnpx @cloudflare/nimbus-docs outdated, thendiff src/components/ui/search/providers/pagefind.ts --apply.v0.15.1Compare Source
Patch Changes
#177
adb8efeThanks @MohamedH1998! - Add thecopy-promptregistry component. Runnimbus-docs add copy-promptto installCopyPrompt, a one-line prompt with a Copy prompt button for readers to paste into an AI coding agent. New sites don't include it by default.#171
41376ddThanks @MohamedH1998! - Fix upgrade checks and CLI guidance.Behavior changes
nimbus-docs checkwarns about the placeholdersiteinstead of exiting1, matching the build. A CI job that relied oncheckfailing for an unsetsiteneeds its own check.migrate --dry-runandmigrate --jsonreportpassedand exit0when no migrations or required reviews remain and a baseline is recorded, including when no entries fall between the recorded and installed versions.Upgrades
withNimbusMarkdown()requirement inmigrateandoutdated.outdated --jsonaddssummary.requiredPackageApis, the required subset ofsummary.packageApis, and awarningsarray. It warns when the compared starter needs a newer package than the project has, which also blocksdiff --apply.outdatedandmigrateuse the same terms: migrations and upgrade reviews.migrateprints each outcome once, and declining its record prompt says how to record the baseline later.CLI
migrateorinit, print a runnable command instead of a raw Node path or a barenimbus-docs. pnpm and Yarn projects that declare the package get the local bin, such aspnpm nimbus-docs migrate. With--cwd, the command runs from the current directory and pins the project's Nimbus version, such asnpx @cloudflare/nimbus-docs@0.15.1 migrate --cwd 'site' --yes.check --fixwithout a terminal, the hint says what the remaining fixes need: a terminal for prompts, or--yesfor installs.checklists what it skipped when theapiconfig or the rendering policy isn't a plain literal, or whensrc/content.config.tsis missing.lint --helplists the lint rules and the--colorand--no-colorflags.addsuggests registering only the component you asked for insrc/components.ts, not its dependencies.Cloudflare
add adapter-cloudflareinstalls@astrojs/cloudflare14.3, which fixes a crash on the firstastro devwith a cold cache ("Dev server process exited before becoming ready"). Existing sites can upgrade withpnpm add @astrojs/cloudflare@~14.3.0.add adapter-cloudflarenames the policy it adds:rendering: { default: "request" }, which renders every collection on request. To render only API pages on request, set that policy before running the installer, which keeps an existing policy.#178
fd53431Thanks @MohamedH1998! - Behavior changesslug, soa.mdxwithslug: bnext tob.mdxnow fails the build, as other duplicate routes do. Before, the collision went unreported and Astro served one of the two pages.withBase("/", base)returns the base without a trailing slash, such as/docs, when page URLs have none: undertrailingSlash: "never", orbuild.format: "file"with"ignore". Code that appends to the result or compares it with/docs/needs updating.checkandinitcheckwarns when an installed Astro adapter is outside the range Nimbus supports, such as@astrojs/cloudflare14.1, with the command that installs a supported version. It doesn't change the version itself.checksays which release to pass tomigrate --fromonce you install a release, instead of repeating "run a build, then check again".init --forcerebuilds only the component and install records. It keeps the rest of a validnimbus.json: the reviewed baseline, the starter version and variant, a preview's record, and the server-output opt-in. Before, it reset them, which brought back the "no reviewed upgrade baseline" build failure.build.format: "file"andbasebuild.format: "file", canonical URLs andog:urlno longer end in.html, pages get previous and next links, the sidebar marks the current page, and breadcrumbs show page titles instead of "Welcome.Html".baseand no trailing slashes, the home link, "Home" breadcrumb, and 404 page link to/docs, matching the home page's canonical URL, instead of/docs/.Routes and Markdown
.mdfiles andllms-full.txt, a code block in a nested list item stays in the item, so the text after it no longer turns into code, and a code block in a numbered item no longer splits the list.1.2.3/, without aslug, and section index pages such asguides/index.mdx. ApreviousSlugwritten as a file path, such asguides/index, names the section's page.#172
6637381Thanks @MohamedH1998! - Make generated links, the sitemap, and Markdown output follow the site config.Behavior changes
trailingSlash: "ignore",api.refcitation links now end in/, like sidebar links and the canonical URL, in pages, per-page.mdfiles, andllms-full.txt.trailingSlash: "ignore"andbuild.format: "file"or"preserve", generated links no longer end in/, so they reach the pages Astro builds.Links, sitemap, and routes
trailingSlashandbuild.format. Under"never"they drop the slash, and API links no longer 404 under"always"or"never". With the defaultbuild.format, they match the canonical URL.noindex: truepages are left out of the sitemap on sites withoutbase, as they already were withbase.slugfrontmatter field, so a page in a1.2.3/folder can keep its dots:slug: 1.2.3/setupserves it at/1.2.3/setup/. The version switcher and missing-page redirects use theslugtoo.astro devafter the Astro config switches to server output while the dev server is running, for example afteradd adapter-cloudflare.Generated Markdown
.mdfiles andllms-full.txtkeep the indentation of code blocks in MDX pages, so YAML and Python keep their meaning. Code inside<Aside>gets the>prefix on every line.example, stays literal, as does one in a fence opened on a list-item line (`-yaml`). That fence also stays inside its list item in the Markdown output.<PackageManagers>Markdown includes the package for everytypeand matches the HTML commands.type="dlx" pkg="@cloudflare/nimbus-docs" args="list"now rendersnpx @cloudflare/nimbus-docs listinstead ofnpx list.#170
ae346f0Thanks @MohamedH1998! - Prerelease versions, such as the PR previews published to pkg.pr.new, select the upgrade entries of the release they preview. Two prereleases of the same release no longer count as newer than each other, so recording one and installing another doesn't fail the build.v0.15.0Compare Source
Minor Changes
#162
982a47dThanks @MohamedH1998! - Register API collections from the Nimbus config.apiCollection()now takes no arguments and reads theapientry whosecollectionmatches its key insrc/content.config.ts, so each spec is declared once, in the inline Nimbus config inastro.config.ts:The
api-referencerecipe now uses this shape and no longer createsnimbus.config.ts, sonimbus-docs checkvalidates the whole config statically andadd adapter-cloudflareeditsrenderingin place.A collection key with no
apientry fails content sync, and anapientry without anapiCollection()under its key fails the build, including a key registered with another loader. Both messages name the Nimbus config andsrc/content.config.ts, andnimbus-docs checkreports the same mismatches without building.apiCollection(options)and@cloudflare/nimbus-docs/configare unchanged, and sites built by earlier versions of the recipe keep building with no changes. Upgrade note: inastro dev, that shape silently ignores edits to theapientry innimbus.config.tsuntil a manual restart. To pick up edits automatically, move the Nimbus config back intoastro.config.ts, delete the lookup insrc/content.config.ts, and register the collection withapiCollection(). `nimbusConfiguration
📅 Schedule: (in timezone Europe/Istanbul)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.