Next.js
Roadmap-only framework adapter. Why it exists, what's missing, and when to expect it.
The Next.js adapter (@grove-dev/nextjs) is reserved as a
package boundary but is not supported in V1. The package
exists so consumers can install it, but the V1 CLI refuses
--framework nextjs at scaffold time.
Status
Section titled “Status”Roadmap only — not in V1. The package is published (to reserve the name and the import path) but the default template is incomplete and the build pipeline is not wired up.
What ships today
Section titled “What ships today”The Next.js default template is essentially package.json plus
a README.md. It does not include:
- any Next.js pages or layouts
- any
@grove-dev/nextjscomponents - a working
grove buildchain
The V1 CLI refuses --framework nextjs at scaffold time. The
grove build command detects the framework from
<root>/package.json and exits with a clear error if the
@grove-dev/nextjs adapter is present but the build pipeline is
not wired up.
What you’d need to ship a V1.2 Next.js adapter
Section titled “What you’d need to ship a V1.2 Next.js adapter”- Port the Astro default template’s home page, list page, and detail page to Next.js (App Router, React Server Components).
- Reuse
@grove-dev/uiprimitives (filterRecords,sortRecords,paginateRecords,scoreRecords,format) — no React re-implementation needed. - Reuse
@grove-dev/coretypes (ProjectRecord,ResourceRecord,EntityRecord,IndexRecord) and the discriminatedResourceunion. - Re-implement the 22
@grove-dev/astrocomponents in React, swapping.astrofor.tsxand prop spreading.ItemCard,IndexRow,RecordSectionare the three core record-rendering components to start with. - Add Next.js build verification to the
test:scaffoldscript.
This is roughly one to two weeks of focused work for a contributor familiar with both Astro and Next.js.
When to use this
Section titled “When to use this”Don’t, in V1. Use the Astro adapter
instead. The Next.js adapter is reserved as a forward-compatibility
boundary so consumers can write code that imports
@grove-dev/nextjs today, and have it work when the adapter
ships in V1.2.
If you need a server-rendered Grove site right now, the options are:
- Use Astro with the SSR adapter (out of scope for Grove V1, but supported by Astro itself).
- Build a custom integration on top of
@grove-dev/core. The core package (defineConfig,pickCleanupCandidates,classifyHealth,buildLlmsTxt,buildLlmsFullTxt,buildSitemap, etc.) is framework-agnostic. A custom Next.js integration is roughly 100-200 lines of glue code that readsdata/generated/records.full.jsonand renders the same UI primitives Astro uses.
Tracking
Section titled “Tracking”V1.2 work for the Next.js adapter is tracked in the project roadmap. See Roadmap for current status.
Related docs
Section titled “Related docs”- Astro adapter — the V1-supported choice.
- SvelteKit adapter — same roadmap status as Next.js.