Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR updates documentation, configuration, and build tooling to reflect a migration from Next.js to Vite + Nitro, adds new configuration options for SEO, LLMs, and analytics, updates CLI command signatures with new flags for content path and deployment preset, and introduces build scripts for the CLI and documentation. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/components.mdx`:
- Around line 161-162: The docs page mixes framework-specific Next.js wording
with framework-agnostic language; update the table entries that mention
Next.js/`<img>` to use neutral phrasing: change the HTML row that references the
`<img>` tag and any line containing “Next.js optimized” to instead say
“optimized Image component” (or similar neutral copy) for local images and
“standard <img> tag” for external images so the page consistently uses
framework-agnostic wording; locate and edit the table cell text matching the
strings "Local images — Rendered with optimized `Image` component (default
800x400)" and "External images — Rendered with standard `<img>` tag" and the
HTML `<img>` row to ensure consistent phrasing.
In `@docs/frontmatter.mdx`:
- Around line 83-87: Update the frontmatter docs to constrain the lastModified
field to a strict ISO-8601 format because the sitemap generation uses new
Date(...).toISOString(); change the description for the lastModified entry (the
"lastModified" frontmatter key) to require either a date-only format
(YYYY-MM-DD) or a full ISO datetime (e.g., YYYY-MM-DDTHH:MM:SSZ), and add one or
two examples showing both allowed formats so consumers know what to pass.
In `@packages/chronicle/package.json`:
- Line 54: The package.json currently pins "nitro": "3.0.260311-beta" which is a
pre-release; either change the dependency to the latest stable "2.13.2" or add a
short justification and testing note in the repo (e.g., in README or CHANGELOG)
explaining why Nitro v3 beta is required and listing compatibility checks
performed (Vite/Nitro integration, Node v20 requirement, import/path changes,
cloud provider bindings); update the "nitro" entry or add the justification
referencing the package.json "nitro" key and any test scripts or docs you used
to validate the beta.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 768bb301-5d79-4c40-9a38-6457ab6d1be9
⛔ Files ignored due to path filters (1)
bun.lockis excluded by!**/*.lock
📒 Files selected for processing (10)
.gitignoredocs/cli.mdxdocs/components.mdxdocs/configuration.mdxdocs/frontmatter.mdxdocs/index.mdxdocs/themes.mdxpackage.jsonpackages/chronicle/package.jsonvercel.json
| - **Local images** — Rendered with optimized `Image` component (default 800x400) | ||
| - **External images** — Rendered with standard `<img>` tag |
There was a problem hiding this comment.
Docs are still framework-inconsistent in this page.
Good update here, but this page still says “Next.js optimized for local” at Line 206 (<img> row in HTML overrides table). Please align that line too so the page doesn’t mix framework-agnostic and Next.js-specific wording.
Also applies to: 174-174
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/components.mdx` around lines 161 - 162, The docs page mixes
framework-specific Next.js wording with framework-agnostic language; update the
table entries that mention Next.js/`<img>` to use neutral phrasing: change the
HTML row that references the `<img>` tag and any line containing “Next.js
optimized” to instead say “optimized Image component” (or similar neutral copy)
for local images and “standard <img> tag” for external images so the page
consistently uses framework-agnostic wording; locate and edit the table cell
text matching the strings "Local images — Rendered with optimized `Image`
component (default 800x400)" and "External images — Rendered with standard
`<img>` tag" and the HTML `<img>` row to ensure consistent phrasing.
| Optional date string indicating when the page was last updated. | ||
|
|
||
| ```yaml | ||
| lastModified: "2026-03-30" | ||
| ``` |
There was a problem hiding this comment.
lastModified format should be constrained to avoid sitemap runtime failures.
“Optional date string” is too broad. Since sitemap generation converts this value with new Date(...).toISOString(), invalid formats can crash the sitemap route. Please document a strict ISO-8601 format (e.g., YYYY-MM-DD or full ISO datetime).
✏️ Suggested doc fix
-Optional date string indicating when the page was last updated.
+Optional ISO-8601 date string indicating when the page was last updated (recommended: `YYYY-MM-DD`).
```yaml
lastModified: "2026-03-30"</details>
<!-- suggestion_start -->
<details>
<summary>📝 Committable suggestion</summary>
> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
```suggestion
Optional ISO-8601 date string indicating when the page was last updated (recommended: `YYYY-MM-DD`).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/frontmatter.mdx` around lines 83 - 87, Update the frontmatter docs to
constrain the lastModified field to a strict ISO-8601 format because the sitemap
generation uses new Date(...).toISOString(); change the description for the
lastModified entry (the "lastModified" frontmatter key) to require either a
date-only format (YYYY-MM-DD) or a full ISO datetime (e.g.,
YYYY-MM-DDTHH:MM:SSZ), and add one or two examples showing both allowed formats
so consumers know what to pass.
| "mermaid": "^11.13.0", | ||
| "minisearch": "^7.2.0", | ||
| "nitro": "latest", | ||
| "nitro": "3.0.260311-beta", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Nitro release notes: what changed in version 3.0.260311-beta, and what is the latest stable Nitro 3.x release? Please include any known breaking changes or regressions affecting nitro/vite.
💡 Result:
In version 3.0.260311-beta of Nitro (nitrojs/nitro), key changes include: 🚀 Enhancements: - Export http utils from nitro (#4097) - vite: Support preview (#4090), respect vite mode for env loading (#4082), auto-detect client entry (#4059), use srvx loader for preview (#3999) - nitro deploy command (#4042), nitro preview (#4024) - tasks: Expose req and waitUntil in context (#4037) - Support zstd for compressPublicAssets (#3934) 🔥 Performance: - Optimize duplicate handler filtering (#4003) 🩹 Fixes: - config: Apply $production/$development layers when NODE_ENV unset (#4066) - vite: Avoid duplicate nitro plugins on nitro build, run scheduled tasks during vite dev (#4076), remove keep-alive header from worker, remove chunk config when inlineDynamicImports enabled, use sec-websocket-protocol to detect Vite WS (#4098) - Migrate to unjs/ocache (#4087), improve builder auto-detection (#4058) 📖 Documentation: - cloudflare: Fix env bindings access pattern for Nitro v3 (breaking change) (#4064) 🌊 Types and Preset Changes: - Various type updates and new presets like zephyr (#4038) The latest stable Nitro 3.x release: There is no stable 3.x release yet; 3.0.260311-beta (Mar 11, 2026) is the latest beta. The overall latest stable is v2.13.2 (Mar 20, 2026) from the v2 branch. Docs explicitly note "For the current stable release, see Nitro v2." Known breaking changes/regressions affecting nitro/vite: In v3 beta broadly - package rename nitropack → nitro, imports nitropack/runtime/* → nitro/*, eventHandler → defineHandler (H3 v2), createError → HTTPError, Node.js min v20. In this specific beta: cloudflare env bindings access pattern changed (noted as breaking). Vite-related fixes suggest prior issues with duplicate plugins, WS detection, preview support - no explicit regressions mentioned, mostly enhancements/fixes for nitro/vite integration.
Citations:
- 1: https://newreleases.io/project/npm/nitro/release/3.0.260311-beta
- 2: https://nitro.build/blog/v3-beta
- 3: https://newreleases.io/project/github/nitrojs/nitro/release/v3.0.260311-beta
- 4: https://www.npmjs.com/package/nitro
- 5: https://github.com/nitrojs/nitro/releases
- 6: https://nitro.build/raw/blog/v3-beta.md
- 7: https://registry.npmjs.org/nitro
- 8: https://github.com/nitrojs/nitro
Consider using Nitro v2.13.2 (latest stable) or justify the v3 beta requirement.
Version 3.0.260311-beta is the latest v3 release, but v3 is still pre-release with breaking changes (package rename, import paths, Node.js v20 minimum, cloudflare env bindings). The latest stable release is Nitro v2.13.2. While the beta includes vite integration improvements (not regressions), using a pre-release in runtime dependencies is risky.
Either upgrade to v2.13.2 if compatible, or document why v3 is required and confirm your Vite/Nitro integration has been tested against this specific beta before release.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/chronicle/package.json` at line 54, The package.json currently pins
"nitro": "3.0.260311-beta" which is a pre-release; either change the dependency
to the latest stable "2.13.2" or add a short justification and testing note in
the repo (e.g., in README or CHANGELOG) explaining why Nitro v3 beta is required
and listing compatibility checks performed (Vite/Nitro integration, Node v20
requirement, import/path changes, cloud provider bindings); update the "nitro"
entry or add the justification referencing the package.json "nitro" key and any
test scripts or docs you used to validate the beta.
No description provided.