Skip to content

Releases: ComputelessComputer/gitcms

v0.2.0 - MDX-grade markdown

Choose a tag to compare

@ComputelessComputer ComputelessComputer released this 03 May 05:07

MDX-grade markdown

v0.2.0 makes gitcms a real home for MDX-flavored content. The editor now round-trips Mintlify components and unknown JSX without losing fidelity.

Highlights

  • Remark-based MarkdownAdapter (#9) — replaces turndown. Round-trips through a real AST instead of HTML→regex, so frontmatter, tables, code fences, and embedded JSX survive intact.
  • RawMdx fallback node (#10) — unknown JSX/MDX expressions render as opaque blocks in the editor and re-serialize byte-for-byte. No more silent content loss when opening a doc with components the editor doesn't know.
  • Mintlify components as first-class tiptap nodes (#11) — <Card>, <CardGroup>, <Note>, <Warning>, <Tip>, <Info>, <Check>, <Frame>, <Steps>, <Step>, <Tabs>, <Tab>, <Accordion>, <AccordionGroup>, <CodeGroup>, <ParamField>, <ResponseField>, <Expandable> get native tiptap schema + serializers. Edit them visually, save them clean.

Notes

  • Migration is automatic — existing content opens fine, nothing to do.
  • 135 files changed, +16.5k / −5.2k. No breaking config or env changes.

Thanks

Shipped by @ComputelessComputer.

Full changelog: v0.1.0...v0.2.0

v0.1.0 — Author Context

Choose a tag to compare

@ComputelessComputer ComputelessComputer released this 02 May 09:36
0c10376

First tagged release. gitcms is now a self-hostable, AI-friendly CMS with a real differentiator: Author Context — a writing brief that lives in your content repo, surfaces in the editor, and feeds AI agents through a public API.

See it in production

These screenshots are from char.com — Char's own marketing site, running on gitcms today. Same backend powers the editor, the media library, and the picker that bridges them.

Editor — TipTap surface, frontmatter side-panel, Author Context inline

Content editor

Media library — same storage backend, browseable as a file tree

Media library

Media picker — invoked from inside the editor, reuses everything you've already uploaded

Media picker inside editor

The point: editor and media library aren't two disconnected tools glued together. They share one StorageAdapter, so every screenshot, GIF, and cover image you upload becomes part of a real reusable library — not a one-off paste into a single article.

What's in v0.1.0

Three primitives, cleanly separated

  • AuthAdapter — GitHub OAuth or JWT
  • MembersProvider — env-driven allowlist
  • GitHubTokenSource — OAuth user token or service PAT
  • StorageAdapter — Supabase, S3, GitHub, or local disk

Author Context (the differentiator)

  • pnpm gitcms:init-context bootstraps content/.gitcms/context.md + voice.md
  • Public-by-default /api/context endpoint (gateable via GITCMS_CONTEXT_PUBLIC=false)
  • Collapsible "Writing brief" panel in the editor with one-click copy
  • Per-collection overrides supported (content/<collection>/.gitcms/)

CI

  • Five-job matrix: typecheck, test, lint, format, build — all green on every PR
  • 67 tests covering auth, content, storage, context loader, and the bootstrap CLI

Use it

In your gitcms repo:

pnpm gitcms:init-context              # global brief
pnpm gitcms:init-context --collection blog

In your AI agent:

curl https://your-gitcms.example.com/api/context

See docs/AUTHOR-CONTEXT.md and docs/AGENTS-USING-GITCMS.md.

Why this matters

LLMs writing content without a brief produce generic slop. Author Context makes the brief a first-class artifact in your content repo — versioned, reviewable in PRs, and accessible to humans (in the editor) and agents (via API) through the same source of truth.