Skip to content

Repository files navigation

🌱 Grove

Maintain structured knowledge in files. Publish it everywhere. Keep it in sync.

Grove turns YAML, Markdown, and other user-owned sources into fast websites, curated collections, repository content, SEO metadata, and machine-readable outputs. No database, no CMS, and no runtime server required.

npm CI License: MIT Ask DeepWiki

Website · Documentation · Quick start · Live example · npm

One source, every surface

Animation showing YAML records, Markdown, collections, and taxonomy flowing through Grove into website, SEO, AI-ready, and repository outputs

Files remain the source of truth. Generated files are disposable build artifacts, and scheduled workflows refresh external facts without taking editorial judgment away from maintainers.

What Grove ships today

  • A complete static site. One command scaffolds an Astro project with search, filters, lenses, curated collections, record pages, submission guidance, and contributor pages.
  • Structured, portable content. Records, taxonomy, collections, decisions, and overrides live in reviewable YAML; long-form content lives in Markdown.
  • Multiple outputs from the same files. A build produces the website, normalized JSON datasets, sitemap.xml, robots.txt, Open Graph images, llms.txt, llms-full.txt, and optionally a generated README section.
  • Maintenance on rails. Grove validates sources, refreshes GitHub and contributor metadata, identifies stale or archived records, and leaves the final keep/hide/remove decision in a file.
  • Consumer-owned presentation. The generated project owns its Astro pages and product copy. Grove supplies schemas, domain logic, data adapters, and reusable UI without silently replacing local customization.
  • Static-first deployment. The result is plain HTML, JSON, and text files that can ship to Cloudflare, Vercel, Netlify, GitHub Pages, or any static host.

Quick start

Requirements: Node.js >=22.12.0 and pnpm 10.12.1.

pnpm dlx @grove-dev/cli@latest init my-space
cd my-space
pnpm dev

The scaffold is a real, complete Grove site — not a separate demo template. Start by editing these three surfaces:

data/records/       one YAML file per record
grove.config.ts     identity, routes, facets, theme, integrations, audit pages
src/pages/          site-owned routes and page composition

Grove prepares generated artifacts automatically before astro dev, astro check, and astro build.

pnpm exec grove check               # validate sources and rebuild outputs
pnpm exec grove sync github         # refresh repository metadata
pnpm exec grove sync contributors   # refresh community metadata
pnpm exec grove cleanup             # write the human-review queue
pnpm exec grove readme generate     # update a generated README section
pnpm build                           # produce the deployable static site

See the CLI reference for collection promotion, import, icon synchronization, and Lighthouse audit commands.

A real operating model

Open Apps is the production reference that shaped Grove: file-backed records, searchable views, curated collections, repository refreshes, health signals, detail pages, contributor data, a sitemap, and AI-readable outputs. Grove turns that proven operating model into reusable packages and a project scaffold for other kinds of structured knowledge.

Open Apps home page with search, activity signals, and curated applications
Home
Search, live ecosystem stats, and actively developed applications.
Open Apps browse page with search, filters, sorting, and application cards
Browse
Search, filtering, sorting, and health-aware application cards.
Open Apps application detail page with project context and structured editorial content
Detail
Project context, source-derived facts, and structured editorial content.
Open Apps collections page with curated views generated from application records
Collections
Curated and generated views built from the same source records.

The example matters because Grove is not defined by directories. A directory is one useful presentation; the product is the publishing and maintenance system underneath it.

Repository

packages/
  core/       framework-free schemas, validation, generation, and maintenance
  astro/      Astro integration, data adapters, components, and layouts
  cli/        project creation and maintenance commands
  starlight/  Grove's documentation theme and integration
apps/
  example/    canonical working site and the only source for `grove init`
  docs/       product site and documentation at withgrove.dev
Package Role
@grove-dev/core Config, schemas, validation, generated data, collections, health, sitemap, AI outputs, and maintenance logic.
@grove-dev/astro Astro integration, generated-data adapters, server view models, and composable UI.
@grove-dev/cli Scaffolding, checks, synchronization, cleanup, imports, audits, icons, collections, and README generation.
@grove-dev/starlight The Starlight theme and documentation integration used by Grove.

There is no template registry or hidden hosted backend. The CLI packages a release snapshot of apps/example, keeping the project users create aligned with the site this repository builds and tests.

Develop Grove

pnpm install
pnpm dev
pnpm check
pnpm test
pnpm build
pnpm test:scaffold

For the documentation site, run pnpm dev:docs.

Principles

  • Files are the source of truth; outputs are derived.
  • One piece of content should serve many human and machine surfaces.
  • Automation should reduce drift while keeping decisions transparent.
  • Static publishing and portable formats are the default.
  • Infrastructure must earn its place; Grove does not require a database or application server.

License

MIT © Grove contributors.

About

Build and maintain searchable content websites with automation, rich pages, and built-in SEO.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages