Releases: tortuvshin/grove
Release list
v0.3.1 — 2026-06-30
[0.3.1] — 2026-06-30
Docs-only patch. Every change since
v0.3.0(2026-06-11) has been
on the documentation site (docs/), the production-side home page,
and transitive dev-dependency bumps. No@grove-dev/*package source
code has changed. Framework support, blueprints, CLI commands,
generated outputs, and schema are unchanged fromv0.3.0.
Fixed
- Production-site honesty pass on the standalone
/page. The home page no longer advertises commands, file names, or framework support that don't exist in the code:- The mock terminal prompt and the "Get Started" lifecycle section no longer show fake
grove addandgrove deploycommands. The lifecycle now reflects the V1.0 CLI commands (import,validate,sync github,generate,sitemap,llms,build,cleanup stale,workflows sync) and the real default Astro workflow. - The mock terminal writes
grove.config.ts, matching the file the Astro default template actually emits. (The previous mock saidgrove.config.yaml.) - The eight-framework logo wall is replaced with an honest "Astro today, SvelteKit / Next.js planned" status card plus the actual public package list (
@grove-dev/core,@grove-dev/ui,@grove-dev/cli). Tailwind / Node.js / GitHub are no longer presented as framework adapters — they're tooling, not adapters. - The "Integrate with your favorite tools" orbital diagram is replaced with "One source, multiple outputs" (static HTML,
sitemap.xml,llms.txt,llms-full.txt). - The "Why Grove" features section is reframed around the maintenance problem Grove actually solves (structure drift, stale metadata, review-as-cleanup, discovery-as-software, AI-readable fragments, maintainer-memory dependence) instead of generic capabilities.
- The mock terminal prompt and the "Get Started" lifecycle section no longer show fake
- JSON-LD
SearchActionremoved. TheWebSiteblock in the home page (docs/src/layouts/HomeLayout.astro) and the global Starlightheadconfig (docs/astro.config.mjs) no longer advertise ahttps://grove.dev.mn/search?q=...target. The route never existed; emitting it was invalid structured data. - Roadmap page renders correctly. The
/roadmap/route no longer prints the rawimport { Content } from '../../../roadmap.md';statement as visible page text. The content is now inlined as a Starlight.mdcontent file, evaluated through the Starlight content layer. - Wrong GitHub organisation. All references to
grove-dev/grovein source and content are replaced with the correcttortuvshin/grove.https://github.com/grove-dev/grove/...was returning 404. - Two broken internal links in Getting Started.
/getting-started/add-your-first-record/(typo) →/getting-started/add-your-first-project/./getting-started/what-is-grove/→/introduction/. - Software version drift on the home page. The
softwareVersionfield in the homepage JSON-LD is corrected from0.2.xto0.3.0. - Home and roadmap images carry explicit
width/heightattributes andloading="lazy"to prevent layout shift and reduce initial paint cost. The home images that are decorative carryalt="". - Home sections are now wired to their headings via
aria-labelledby, every CTA links to a real destination (nohref="#"placeholders), and the main landmark carries anid="main-content"skip target. - Open-graph / Twitter metadata is emitted on every page through the Starlight
headconfig.
Changed
- Roadmap document rewritten. The new
/roadmap/page groups content by shipping status (Shipped / Next release / Later / Out of scope) instead of by wave narrative. The historical Wave 0 → Wave 5 plan is preserved as a link to the GitHub history. - Dep bumps:
astro6.4.6 → 7.0.3,tailwindcss4.3.0 → 4.3.2,@types/node25.9.2 → 26.0.1.
Packages: none (docs-only).
v0.3.0 — Initial public release
Grove is an open-source framework for growing useful community knowledge. Collect, structure, maintain, and improve the projects, tools, resources, and knowledge a community depends on — over years, not weeks. Every artifact is a file. Every space is forkable, diffable, and PR-friendly.
This is the first version of Grove that is ready to be picked up by a community. A real production space — Open Apps — already runs on it.
Try it in 60 seconds
pnpm dlx @grove-dev/cli@latest new my-space
cd my-space
pnpm install
pnpm exec grove import https://github.com/avelino/awesome-go
pnpm exec grove sync github
pnpm exec grove validate
pnpm exec grove generate
pnpm exec grove sitemap
pnpm exec grove llms
pnpm buildDrop the dist/ directory on Vercel, Netlify, Cloudflare Pages, or GitHub Pages.
What's in v0.3.0
Three V1 blueprints
Grove v0.3.0 ships a discriminated Resource union covering three fixed blueprints. The kind field on every record is checked against the blueprint in grove.config.ts at validation time.
| Blueprint | kind |
For |
|---|---|---|
project-directory |
project |
Apps, packages, tools, services, repositories, internal systems. GitHub metadata optional. |
resource-hub |
resource |
Guides, comparisons, explainers, links, knowledge collections. |
ecosystem-map |
entity |
Organizations, products, communities, schools, ecosystem actors. |
resource-hub and ecosystem-map are MVP in v0.3.0; full implementations ship alongside the Wave 2 framework-agnostic UI rebuild.
Six packages, one lockstep version
| Package | Role | Status |
|---|---|---|
@grove-dev/core |
Headless engine: schema, config, importers, validators, taxonomy, sync, build | Stable |
@grove-dev/ui |
Framework-agnostic UI primitives (filter, sort, score, slug) | Roadmap (re-export) |
@grove-dev/cli |
new / import / validate / generate / sync github / sitemap / llms / build / dev / workflows |
Stable |
@grove-dev/astro |
Astro adapter — components, layouts, tokens, default template | V1 supported |
@grove-dev/svelte |
SvelteKit adapter | In development |
@grove-dev/nextjs |
Next.js adapter | Post-V1 |
The grove CLI
| Command | What it does |
|---|---|
grove new <name> |
Interactive scaffold — project name, framework, deploy target, blueprint |
grove import <url> |
Turn a GitHub awesome-list README into one YAML record per resource |
grove analyze |
Refresh GitHub activity / release / archive signals |
grove validate |
Strict per-record validation with detailed issue reporting |
grove generate |
Process data/records/*.yml into the buildable tree |
grove sync github |
Same as analyze |
grove cleanup stale |
Archive dead records |
grove sitemap |
Emit sitemap.xml + robots.txt |
grove llms |
Emit llms.txt + llms-full.txt for AI assistants |
grove build |
Framework-aware build (astro build today) |
grove dev |
Framework-aware dev server |
grove workflows |
Sync the GitHub Actions templates into the current space |
The Astro adapter — the V1 renderer
@grove-dev/astro is the supported renderer in v0.3.0. It ships:
- Components —
Hero,ItemCard(blueprint-aware),RefinePanel,SmartLensTabs,ScoreBars,Icon,WhyThisExists, plus lens / pagination / chip primitives. - Layouts —
BaseLayout(Starlight-integrated shell with SEO and theme toggle),SectionHeader,Container,Footer,Header,Seo. - Design tokens — Grove color, type, spacing, and motion tokens aligned to Starlight. Optional
g-container-wideclass for wider landing-page sections. - Default template — pages (homepage, directory, detail, about, submit, sitemap), Tailwind config,
astro.config.mjs, adata/placeholder, and.github/workflows. No business logic — all filtering, sorting, and scoring lives incore/ui.
The Starlight docs site
A polished docs site at /docs, deployed to Cloudflare Pages. It covers:
- Vision — why Grove exists and where it's going.
- Architecture — the core / ui / adapter / template split, the discriminated
Resourceunion, the three blueprints. - Three blueprint guides — one per
kind. - Six workflow guides — for new space maintainers.
- Philosophy and Maintainers — reframing Grove as a community knowledge framework, not an OSS directory tool.
- Security policy, Release operations, Support — the operational surface.
Spaces built with Grove
- Open Apps — production-ready open-source applications. The reference implementation running on
@grove-dev/astrotoday.
If you fork Grove to launch a new space, send a PR to add it to this list — we're happy to link to it.
Repository layout
grove/
├── packages/
│ ├── core/ # Headless engine: schema, config, importers, validators, sitemap, llms.txt
│ ├── ui/ # Framework-agnostic UI primitives — roadmap-only in v0.3.0
│ ├── cli/ # new, import, validate, generate, sync, cleanup, workflows, build, dev
│ ├── astro/ # Astro adapter (V1 supported)
│ ├── nextjs/ # Next.js adapter — skeleton only
│ └── svelte/ # SvelteKit adapter — in development
├── examples/
│ └── openapps/ # Real Grove-powered space (the reference implementation)
├── docs/ # Framework documentation site (Starlight)
└── scripts/ # release.mjs, test-scaffold.mjsA scaffolded space has only the data, branding, and .github/ workflows it needs:
my-space/
├── grove.config.ts # name, tagline, blueprint, paths
├── data/
│ ├── records/ # one YAML per resource
│ ├── taxonomy/ # categories, topics, tags
│ ├── generated/ # build output (gitignored)
│ ├── health.yml # optional: maintenance signals
│ └── decisions.yml # visibility decisions
├── content/ # methodology, about, guides
├── public/ # logo, OG image, custom assets
├── .github/ # workflows + issue templates
└── astro.config.mjsWhy Grove
Communities carry knowledge in many places: awesome lists on GitHub, READMEs, spreadsheets, internal docs, Notion pages, Slack threads. They all decay. Links rot, projects go stale, descriptions drift, contributions stop landing.
Grove treats community knowledge as something to grow, maintain, prune, and improve — not as a static list to publish and forget.
- Collect — import from Markdown awesome lists, YAML, or hand-authored records.
- Structure — categories, topics, tags, maintainers, organizations.
- Maintain — optional signals (GitHub activity, releases, archive state) flag what needs review.
- Improve — human curators make the final call via plain, reviewable data files.
- Prune — visibility decisions (
highlight/keep/needs_review/hide/remove/historical) keep the space healthy over years.
No database. No CMS. No admin dashboard. The whole space is plain text, in your repo.
What's fixed at v0.3.0
pnpm publishrewritesworkspace:*deps to the resolved version in the tarball. The release script no longer does this manually, eliminating the "404 on a not-yet-published workspace package" install failure.templates/default/rewritesworkspace:*deps only at publish time, not at scaffold time.- Starlight's reset and utility styles are imported via a resolved
node_modulespath, removing the fragile relative lookup that broke on first install. ItemCard,RefinePanel,Header, andSectionHeadershare a consistent design-token surface.- Repository URL validation accepts
git+https,ssh://git@, and trailing-slash variants.
Security
- Coordinated disclosure — see
SECURITY.md. Email vulnerability reports to toroo.byamba@gmail.com. Do not file a public issue. - Weekly audit —
.github/workflows/audit.ymlrunspnpm auditweekly and opens (or updates) a tracking issue on every failure.
Upgrade notes
There is no upgrade path because v0.3.0 is the initial public release. Prior 0.1.0 / 0.2.x builds were internal iterations and are not published to npm.
If you have been building against the pre-release CLI, sw...