A simple, dated changelog of Botpress ADK (Agent Development Kit) updates with images and videos. Features a version pill, sticky date column, sub-section anchors, and collapsible improvements/bug fix lists.
- Next.js 16 (App Router, React 19, TypeScript strict)
- Tailwind CSS v4 with
data-themelight/dark switching - Geist Sans + Geist Mono
- Static page only — no API, no auth, no DB
npm run dev # start dev server on http://localhost:3000
npm run build # production build
npm run start # serve the production build
npm run check # lint + typecheck + build (run this before committing)Edit src/data/changelog.tsx. Prepend a new entry to CHANGELOG_ENTRIES (newest first), wrapped in defineEntry({ ... }) for autocomplete + validation.
Minimal entry:
defineEntry({
slug: "06-01-26",
date: "June 1, 2026",
version: "1.20.0",
title: "Your release title",
intro: <p>One-line summary.</p>,
}),Full schema (src/types/changelog.ts):
| Field | Required | Purpose |
|---|---|---|
slug |
✓ | URL slug, e.g. "06-01-26" |
date |
✓ | Display date, e.g. "June 1, 2026" |
title |
✓ | Entry title |
intro |
✓ | JSX intro (paragraph, list, etc.) |
version |
– | Optional pill, e.g. "1.20.0" |
poster |
– | Path to hero image under /public/images/posters/ |
sections |
– | Array of { id, heading, body, poster? } — each becomes an <h2> with # anchor |
accordions |
– | Array of { label, items[] } — collapsible bullet lists at the bottom |
Drop hero/poster images into public/images/posters/ and reference them by absolute path (/images/posters/your-file.jpg).
src/
app/
layout.tsx # fonts + metadata + html data-theme
page.tsx # the single-page render of all entries
globals.css # design tokens (light + dark), prose styles, grid utility
components/
SiteHeader.tsx # fixed logo bar
SiteFooter.tsx # © line + theme switcher
ChangelogEntry.tsx # one entry — date column + content column
ChangelogAccordion.tsx
icons.tsx # BotpressLogo + SVG icons
data/
changelog.tsx # the release entries (newest first)
helpers.ts # defineEntry/defineSection/defineAccordion typed identity fns
types/
changelog.ts # ChangelogEntry shape
public/
logo/ # Botpress wordmark (light + dark variants)
seo/ # favicons
images/posters/ # release hero/sub-section images
