// the find
apostrophecms/apostrophe
A full-featured, open-source content management framework built with Node.js that empowers organizations by combining in-context editing and headless architecture in a full-stack JS environment.
ApostropheCMS is a Node.js/MongoDB CMS that combines in-page editing (you edit directly on the rendered page, not in a separate admin) with a headless REST API. It's been around since the Meteor era, has a real user base, and version 3 is a proper rewrite. Good fit for agencies building content-heavy sites who want something between WordPress and a fully custom stack.
The in-context editing model is genuinely well-executed — editors click on the page element they want to change, not a field in a sidebar miles away from the visual result. The monorepo structure is mature: separate packages for core, Astro integration, AI helper, anchors, each with their own changelogs and tests. The Astro integration is first-class, not an afterthought — dedicated components, a Vite plugin, TypeScript types. Active maintenance is real: last push was yesterday, changesets are landing regularly.
MongoDB is a hard dependency, which is a dealbreaker for anyone on a Postgres-only stack or who has been burned by MongoDB's document model for relational content. No TypeScript source — the core is plain JS with no type definitions beyond the Astro integration package, so you're flying blind in larger projects. The module/extends system (moog) is powerful but genuinely confusing to learn; the learning curve is steep enough that most teams need to budget real time before they're productive. Pro features like multisite, automated translation, and workflow are paywalled behind a commercial license, so the 'open source CMS' pitch softens significantly once your requirements grow.