Docs
A design-system-first page-builder toolkit. Strike the right balance for your site — make it easy for editors to create engagement while staying compliant.
Why Inka?
- Compliance and engagement, not a trade-off — you decide where the dial sits for each site, instead of choosing between locking editors down and letting the design system drift
- Design-system-first — components declare what they tolerate, so off-system output can't be produced
- Multi frontend, multi backend — Next.js, Nuxt.js, Astro, plus server-only stacks (PHP, Django, Rails, Laravel) via the server-render pattern; switch channels mid-edit
- AI under the same constraints — everyone's AI can build you a page; ours can't build one that breaks your design system
- Evidence, not just warnings — rules a machine can't decide go to the people who can, and the determination is recorded against that version of the content
- Quick to adopt — enable visual editing with simple HTML data attributes, no React or Vue required in your frontend
- A toolkit, not a CMS — good out of the box with zero configuration, extensible when you need more; open source and self-hostable
- Enterprise features — versioning, i18n, workflow, and automated content rules
Try the online demo
The fastest way to feel what Inka does is to log into the hosted demo and edit a real page against a real frontend.
Open <https://hydra.pretagov.com>, log in, then:
- Open user preferences (bottom-left).
- Pick one of the preset frontends, or paste in your own frontend URL.
- Edit any page — every change updates the live preview.
The default preset is a Nuxt.js frontend deployed as an SSG to demonstrate scale-to-zero editing on free hosting. An Astro example demonstrates the server-render pattern for static-first frameworks. See Build a frontend › Deployment patterns.
To run Inka locally against your own frontend, see the Run Locally section of the project README.
Link (Internal)
The Link content type can be used to display links on the page. Users are automatically redirected to the external site when they click on the link.
Listings & Dynamic Blocks
A listing block fetches content from the server (e.g. latest news) and renders each result as a separate block, repeating each block once per result entry. This means a listing can be moved between containers and reuse normal blocks for what it repeats.
Listing
The listing block allows the display of various listings of content. Editors can configure a number of criteria for listing content (e.g. all news from 2022 with the keyword 'research').

Another News Item
Cinnamon skinny medium panna americano spice affogato froth frappuccino that.

