Start a changelog
From the root of your Next.js app:
npx @prudentbird/voxx init changelog
npm i @prudentbird/voxx-core
This writes:
voxx.json # config, with type: "changelog"
content/0.1.0.md # a sample release
app/changelog/page.tsx # the timeline — all releases, one page
app/changelog/layout.tsx # imports the Voxx stylesheet
app/changelog/_voxx/* # the release list, yours to edit
app/changelog/rss.xml/route.ts # /changelog/rss.xml — a release feed
app/llms.txt/route.ts # /llms.txt
app/llms-full.txt/route.ts # /llms-full.txt
Open /changelog for a single page of releases, newest first, each with a
stable anchor link you can share (/changelog#1-4-0).
Cut a release
npx @prudentbird/voxx new "1.4.0"
creates content/1.4.0.md, pre-dated today:
---
title: v1.4.0
version: "1.4.0"
date: 2026-06-11
---
### Added
- Collections: mount a blog, docs, and changelog on one site.
The version comes from the filename (1.4.0.md, v2.0.0-beta.1.md both
work) or from version: in frontmatter — frontmatter wins. The body is
ordinary markdown; headings like ### Added / ### Fixed are a convention,
not a requirement.
What changelogs get by default
Changelogs default to: RSS and llms.txt on (release feeds are useful);
table of contents, sitemap, tags, and reading time off —
one timeline page doesn't need them. Override anything in
voxx.json.