Features
Everything a modern CMS
should already do.
AI-assisted editing, built-in SEO, a guided installer, multi-tenancy, live editing, real-time updates and plugins.
⚡
Edit live
Edit in the browser, live in production.
Pages, layouts, components, JS and CSS live in the database and compile at runtime. Build in the visual page builder or edit the HEEx yourself, save a draft, then publish: it is live on production right away. No redeploy, no Git push.
ADMINsave
PRODUCTION● LIVE
-
✓Visual page builder & code editor
-
✓Drafts, then instant publish
-
✓Full version history
✦
AI-first
soon
AI-assisted editing in the page builder.
Describe a change in plain words, or select an element and ask the AI to edit just that part. AI edits go through the same history as your own, so each one can be undone, and you connect the AI model you choose.
✦Make this heading shorter→
✦Add a pricing section→
✦Use the brand colours→
◎
SEO built-in
SEO built in, no plugin needed.
Every page gets its title, description, canonical address, Open Graph and Twitter tags and JSON-LD structured data from what it already holds. Each site serves its own sitemap.xml and robots.txt, and shared links get a share card.
mishka.tools › en › blog
Building Real-Time Apps with LiveView
A practical guide to LiveView, PubSub and presence, from the Mishka blog.
JSON-LDsitemap.xmlOpen GraphCanonical
⤓
Guided installer
Get started in two commands.
Run mix setup to install the dependencies, create the database and build the assets. Start the server and a browser wizard creates your master admin and first site, installs UI components and sets the site title, email and languages.
$ mix setup
↳ deps, database, assets
$ mix phx.server
✓ open localhost:4000/install
◉
Real-time
Real-time by default.
Built on Elixir and Phoenix LiveView. Dashboards update live, activity streams in, and changes from other admins appear instantly. No SDK, no polling, no extra services.
-
✓WebSocket-native
-
✓Live presence & counters
-
✓Broadcast on every change
Editors online3
New comments+3
Publishes today12
⌬
Plugin & events
Extend with plugins, don't fork.
Every part of Mishka CMS fires named events. Plugins hook in by priority through Mishka Installer to change behaviour without touching the core: halt, transform or observe.
-
✓Priority-ordered hooks
-
✓after_* event on every action
-
✓Start, stop and restart at runtime
blog:blog_post:after_publishprio 10
blog:blog_post:after_publishprio 50
blog:blog_post:after_publishprio 90
hooks run by priority →
⬢
Multi-tenant
One install. Unlimited sites.
One Mishka CMS install runs many websites, each with its own domain, content, users and layouts, kept apart by tenant at the data layer and governed by master users. Not folders. Real isolation.
mishka.tools
acme.shop
docs.acme.io