All you have to do
is sing.
karaoke-cms is a CMS framework built on Obsidian and Git. Write your content. Everything else โ publishing, privacy, AI enrichment, navigation โ is handled for you.
npm create @karaoke-cms@latest Built for everyone who publishes
Developers
One npm install. All-in on Astro โ typed config, virtual modules, zero lock-in. Ship a site in an afternoon. Bring your own theme or build one from scratch.
- TypeScript-first configuration
- Composable theme packages
- Turborepo monorepo, ready to extend
Content creators
Write in Obsidian โ your notes app, not a CMS dashboard. No logins, no editors, no friction. Your vault IS your CMS.
- Publish with a single frontmatter flag
- Wikilinks work natively on your live site
- AI fills in descriptions and tags for you
Enterprise teams
Git-native audit trail, private-by-default publishing, AI enrichment pipeline, and a composable module system built to scale.
- Collections scoped per team or department
- CI-enforced privacy gate
- Extends to multi-author editorial workflows
Everything wired up, out of the box
Private by default
Nothing publishes until you add publish: true. The privacy gate runs at build time and in CI โ nothing slips through.
AI-native
Pre-commit hook enriches every file with OpenAI or Anthropic. Descriptions, reading times, tags, related links โ automatic.
Obsidian wikilinks
[[note]] and [[note|alias]] resolve to real links on your site. Write in Obsidian, publish what you see.
Swap themes in one line
Default, blog, and minimal themes ship out of the box. Switch with one config change. Build and publish your own as an npm package.
RSS ยท Sitemap ยท Search
RSS feed, XML sitemap, and Pagefind full-text search are built in. No plugins to hunt down. No configuration required.
Cloudflare Pages deploy
GitHub Actions workflow included. Push to main โ site builds, privacy check runs, deploys. Done.
Three steps from note to live site
Write in Obsidian
Open your vault. Write notes. Add publish: true to any file you want public. Everything else stays private.
Commit to git
The pre-commit hook runs automatically. AI enriches your content. Stage, commit, push โ the hook handles enrichment silently.
It's live
CI builds your Astro site, runs the privacy gate, and deploys to Cloudflare Pages. Your site is live. Private content stays private.
Starts simple. Grows with you.
Launch a personal blog in an afternoon. Grow into a multi-author editorial platform on the same foundation โ same npm packages, same git workflow, same privacy model.
- Collections scoped per team or department
- Module system for search, comments, custom features
- Composable layout regions โ swap any component
- Publish your own npm theme for your brand
Ready to sing?
One command. Your site is running in minutes.
npm create @karaoke-cms@latest