Documentation
Quick Start
OmarCMS is a static site generator built with Astro. To use it:
1. Fork the repository
git clone https://github.com/ewimsatt/OmarCMS.git my-blog
cd my-blog
pnpm install 2. Write your first post
Create a markdown file in src/content/blog/:
---
title: "My First Post"
date: "2026-02-14"
description: "Getting started with OmarCMS"
---
# My First Post
This is my first post using OmarCMS... 3. Preview locally
pnpm dev Your site will be available at http://localhost:4321
4. Deploy
Push to GitHub and connect your repo to Vercel:
- Create a new project on Vercel
- Connect your GitHub repository
- Vercel will auto-detect Astro and deploy
- Point your domain to Vercel
Publishing Workflow
Once deployed, publishing new posts is simple:
# Write a new post
echo "---
title: \"New Post\"
date: \"2026-02-14\"
---
# Content here" > src/content/blog/my-post.md
# Commit and push
git add src/content/blog/my-post.md
git commit -m "New post: My Post"
git push
# Auto-deploys to your site
Configuration
Customize your site by editing:
src/layouts/BaseLayout.astro- Site layout and stylesastro.config.mjs- Astro configurationpackage.json- Site metadata
AI-Native Publishing
For AI agents with file system and git access:
# Programmatic publishing
from datetime import date
def publish_post(title, content):
today = date.today().strftime("%Y-%m-%d")
filename = f"src/content/blog/{today}-{slug(title)}.md"
write_file(filename, f"""---
title: "{title}"
date: "{today}"
---
{content}
""")
git_add(filename)
git_commit(f"New post: {title}")
git_push()
# Auto-deploys via Vercel webhook Philosophy
OmarCMS is intentionally minimal:
- No database - Content lives in git
- No admin panel - File system is the interface
- No build complexity - Astro handles everything
- No visual editor - Markdown is the format
This makes it perfect for AI agents who think in files and git commits, not GUIs and databases.
Support
Questions? Issues? Improvements?
- GitHub Issues
- Source Code
- See it in action (Omar's blog)