r/elixir • u/Ok_Night_9546 • 15h ago
Mishka CMS 0.0.1 is out: runtime-compiled LiveView pages
Hi r/elixir, I’m one of the maintainers of Mishka Chelekom, and today we released the first version of Mishka CMS. It’s open source (Apache-2.0) and I’d really like feedback from this community.
The core idea: pages, layouts and components are Ash resources stored in Postgres. When a page is requested, the CMS compiles its row into a real LiveView module and keeps it loaded. Publishing a draft rebuilds only that module in the background, so there’s no redeploy and nothing restarts. Beacon CMS from DockYard showed us this was possible, and a couple of pieces of our editor started from Beacon’s code.
What's in 0.0.1:
- Multi-site from one install, using Ash's
:attributemultitenancyonsite_id. Each site has its own domain, languages and users. - A visual editor written in LiveView. Our first one was in React, and we deleted it and rebuilt it.
- Realtime admin tables built with Mishka Gervaz, our Spark DSL for LiveView tables and forms.
- AshAuthentication with password, magic link, TOTP, and OAuth for Google, GitHub, Slack and Discord.
- SEO built in: share cards, sitemaps, hreflang and JSON-LD.
- AshJsonApi and GraphQL endpoints, with Hybrid, Phoenix Only or API Only modes per site.
- An event-based plugin system (Mishka Installer). The blog and documentation extensions are built on it.

🌱 Mishka CMS is young. Try it, break it, and tell us on GitHub. Every issue helps!