Minor Changes
-
#93
43c161aThanks @MohamedH1998! - Add first-party OpenAPI reference support to Nimbus.- Configure local or inline OpenAPI specs as routed, version-aware collections with operations, schemas, tags, webhooks, generated samples, and every declared request-body media type.
- Install an editable
api-layoutUI that shares Nimbus's docs shell, navigation, breadcrumbs, banners, mobile behavior, and deep-linkable field and code-sample controls. The copiedApiFieldListfield iterator is explicitly typed so the scaffolded UI type-checks cleanly under a consumer's strict TypeScript. - Publish per-page Markdown, agent indexes, corpus entries, coordinate manifests, and
api.ref:citations across local and cross-site documentation. - Harden generated-consumer delivery with exact registry dependencies, working pnpm installs from scaffold roots, and base-aware canonical, Markdown, sitemap, and agent URLs through the new public
withBasehelper. - Control how operation pages are addressed, and stay resilient to messy specs. By default, operations that lack a usable
operationIdno longer abort the build — they warn and fall back to a path-derived coordinate, so real-world specs (e.g. Cloudflare'sbrand-protectionoperations) build; setapi[].requireOperationId: trueon specs you own to keep that fatal, while route-hostile paths and coordinate collisions stay fatal regardless. For readable, path-derived URLs, opt into theresource-action-v1route convention: setapi[].routes: { convention: "resource-action-v1" }(per version in a family) to derive slugs likecharges/listfrom an operation's method and path, decoupled fromoperationIdso route-hostile identifiers no longer poison URLs. Trim shared bases withstripPathPrefixes(e.g.["/v1"]), pin individual pages with anoperations(operationId→ slug) map, and inspect how each slug resolved (override/derived/fallback) via the newgetApiRouteProvenanceexport. Derivation collisions, reserved-route segments, unused overrides, cross-version slug drift, and unknown config keys (e.g. astripPrefixestypo forstripPathPrefixes) are reported with pointed messages; the default (noroutes) keeps the legacyoperationIdslugs unchanged.
-
#104
79d6430Thanks @MohamedH1998! - Add server-output support and the@cloudflare/nimbus-docs/adaptersexport.Nimbus can now target on-request (server) output in addition to static. A new
@cloudflare/nimbus-docs/adapterspublic export ships the adapter recipes plus the sharedastro.configandwrangler.jsoncemitters, and two new CLI verbs opt an existing site in:nimbus-docs add server-output --adapter <vercel|node|netlify|cloudflare>(aliasnimbus-docs add adapter-<id>). The installer rewritesastro.configat the// nimbus:adaptermarker and, for Cloudflare, creates a serverwrangler.jsoncor replaces an exact Nimbus static config. Cloudflare installs add request rendering when the active Nimbus config has no explicit rendering policy; explicit or ambiguous policies are preserved and receive an agent-ready handoff. Adapter dependencies are saved at their exact resolved versions so subsequent runs accept the installed declaration. Custom and alternate Wrangler configs are preserved with manual adaptation instructions.Withdraw the
gatedconfig option because it did not hold as a confidentiality boundary. Existinggatedconfig now fails with a migration error; to keep a page out of the build, move the page out of a routed content collection.Fix env preflight precedence and parsing to match Vite, including empty shell overrides, last-wins
.env*files, and inline dotenv comments. Adapter dependency validation now resolves pnpm catalog declarations, and compatibility warnings reflect the versions installed by the command.Fix
NimbusHeadURLs for sub-path deployments by applying Astro's configured base to sitemap, LLM index, social image, JSON-LD, canonical, and version-alternate URLs. Root deployments and already-based paths are unchanged.Keep registry component render counters compatible with adapter-defined
Astro.localstypes, including Cloudflare server output. -
#104
862df4aThanks @MohamedH1998! - Add Cloudflare request rendering for canonical content collections.Nimbus now supports collection-level build and request rendering policies with validated defaults and per-collection overrides. Request-rendered prose and API routes use response-aware page helpers, prepared API models, request-safe partial headings, 404 responses, and build-derived syntax-highlighting assets without shipping source OpenAPI specs to Workers. Cloudflare server scaffolds enable request rendering by default, and generated pnpm configuration installs Satteri's WASI fallback alongside the current architecture.
Preserve sitemap, Pagefind, Markdown, and agent-index discovery for request-rendered routes. Pin the tested sitemap integration, clean up synthetic Pagefind staging files transactionally, and generate cross-collection Open Graph images in new starters.
Patch Changes
- #99
2965d9fThanks @MohamedH1998! - - Honornoindex: trueon machine discovery surfaces.noindexpages now drop out of/llms.txt, per-sectionllms.txt, and the/llms-full.txtcorpus (matching on-site search, which already excluded them) while staying directly addressable and navigable. A single exportedisDiscoverablepredicate defines the contract for custom index/corpus routes.- Pin
@vercel/detect-agentto1.2.3, the last release published with npm provenance. Versions1.2.4/1.2.5dropped provenance, tripping pnpm'sERR_PNPM_TRUST_DOWNGRADEand blocking lockfile updates. Pinning holds at the attested artifact until upstream restores provenance. - Fix navigation for pages under CJK (percent-encoded) paths. Route matching now decodes percent-encoded request paths (
toRouteKey), so active sidebar state, breadcrumbs, and prev/next resolve correctly instead of falling back to a URL-encoded trail; the breadcrumb URL fallback also decodes segment labels.
- Pin