Today, we’re excited to announce the stable release 1.0 of the dotCMS JavaScript SDK, a fast and easy way for development teams to build with any framework: editable, headless sites with dotCMS.
When we launched the alpha last year, our goal was clear: make it fast and safe for JavaScript developers to connect any front-end framework to dotCMS and give content authors the same visual in-context editing power they deserve from any headless CMS. But we knew the alpha had rough edges. You told us exactly where, and, well, we listened.
"This stable SDK release reflects our commitment to listening, simplifying, and removing friction for both developers and content authors. We built it hand in hand with our community, and we’re just getting started."
— Freddy, Director of Product
A Toolkit for Headless Development
The dotCMS JavaScript SDK is not just a single library. It’s a flexible toolkit made up of multiple composable libraries that work together to cover every part of your headless front end.
@dotcms/client: A secure, framework-agnostic API client that fetches pages, content, and navigation with a single call and to the extent of any depth of relationships, no more limit. It works both in the browser and on the server (for example, in Next.js) and ships with full TypeScript definitions for safety, autocompletion, and AI agent readiness.
@dotcms/uve: Low-level helpers that connect any frontend framework to the Universal Visual Editor (UVE). This is what powers true in-context, real-time visual editing, so authors can edit and preview content directly on the page. By the way, you don’t need to use this directly; our framework adapters handle it for you.
@dotcms/types: TypeScript definitions for all dotCMS models, giving your developers compile-time safety and fewer runtime surprises.
Framework Adapters
@dotcms/react: Official components and hooks to render full dotCMS pages in React apps, with live editing support. Plug and play.
@dotcms/angular: The same, but for Angular projects.
Each piece is open source, composable, and designed to let you build what you need, without being locked in.
What We Fixed. Thanks to Your Feedback
This stable release is shaped by what we learned from real customers and partners using the alpha in production. Here’s what’s improved:
Cleaner SDK architecture: We untangled mixed exports and confusing dependencies that caused build errors. The libraries are now more modular, predictable, and easier to maintain.
Simpler client initialization: Now you use createDotCMSClient() to configure your client instance, making setup clearer and less error-prone. With proper validation and error handling.
Better Universal Visual Editor flow: We improved how the SDK talks to the UVE, eliminating redundant page loads, stuck loading states, and layout shifts. This means your content authors get a smoother editing experience with fewer surprises.
TypeScript safety everywhere: The stable version ships with a robust @dotcms/types library, giving you complete type coverage across pages, content, and navigation interfaces. Bring your own generics, we support them.
Working framework examples: We now provide fully functional examples for Next.js, Astro, and Angular, showing exactly how to integrate the SDK, handle routing, and enable editing.
Why It’s Better for Devs and Authors
With the stable SDK, your developers can:
Stand up fully editable headless sites in hours, not weeks, and with the use of AI agents, minutes (I’m not kidding).
Bring your own framework, no workarounds.
Trust that content authors can make changes visually without breaking the front end.
Your authors get:
True in-context editing with the dotCMS Universal Visual Editor.
Instant previews and intuitive workflows.
Less reliance on devs for routine content changes.
What’s Next
This stable release is just the beginning. We’ll continue to add more framework adapters, expand our examples, and keep improving the editing experience for complex use cases — all shaped by your feedback.
Get Started Today
Explore the Next.js starter.
Try the Angular example.
Check our Astro example.
Dive into the full docs for setup, usage, and best practices.