ASTRO-CMS
A beautiful desktop CMS for Astro projects. Manage content, preview live, deploy easily. Built with Tauri, Rust & Svelte. Cross-platform (macOS/Windows).
š Astro CMS
šø Screenshots
Content Management
Manage posts and pages with a beautiful, intuitive interface
Live Preview
See your changes in real-time with integrated Astro dev server
Upload and manage images with drag-and-drop simplicity
Publishing
Deploy to Netlify or GitHub with one click
⨠Features
š Content Management
- ā
Posts & Pages - Create, edit, and organize blog posts and static pages
- ā
Rich Editor - Modern block-style editor powered by Editor.js
- ā
Markdown Support - Full frontmatter editing with live preview
- ā
Tags & Categories - Organize content with tags
- ā
Draft System - Save drafts and publish when ready
- ā
Trash & Restore - Safely delete and recover content
- ā
Image Upload - Drag-and-drop image uploads
- ā
Media Library - Browse and manage all your images
- ā
Image Optimization - Automatic optimization for web
- ā
Alt Text Support - SEO-friendly image descriptions
š Live Preview
- ā
Real-Time Preview - See changes instantly with Astro dev server
- ā
Responsive Testing - Preview on different screen sizes
- ā
Hot Reload - Changes update automatically
š Publishing
- ā
Git Integration - Commit and push directly to GitHub
- ā
Netlify Deploy - One-click deployment to Netlify
- ā
Build & Export - Generate static site for manual deployment
- ā
Version Control - Full Git history and rollback
š ļø Developer-Friendly
- ā
Content Collections - Native Astro content collections support
- ā
TypeScript - Full TypeScript support
- ā
Custom Schemas - Work with any Astro content schema
- ā
Theme Agnostic - Works with any Astro theme
šÆ User Experience
- ā
Dark Theme - Beautiful dark UI that's easy on the eyes
- ā
Desktop App - Native macOS and Windows applications
- ā
No Server Needed - Everything runs locally
- ā
WordPress-like - Familiar interface for non-technical users
šÆ Who Is This For?
Perfect For:
- šØāš¼ Bloggers - Focus on writing, not code
- šØ Content Creators - Manage content visually
- š¼ Businesses - Easy content management for teams
- š Educators - Simple interface for documentation
- š Developers - Fast workflow with Git integration
Great If You:
- ā
Love Astro but want a GUI
- ā
Need to manage content without touching code
- ā
Want WordPress simplicity with Astro power
- ā
Prefer desktop apps over web-based CMSs
- ā
Value privacy and local-first applications
š Quick Start
Prerequisites
- Node.js v18.14.1 or later
- npm (comes with Node.js)
- An existing Astro project with Content Collections
Installation
Option 1: Download Pre-Built App (Easiest)
For macOS:
- Download
Astro CMS Builder.dmg from Releases
- Open DMG and drag to Applications
- Launch Astro CMS from Applications
For Windows:
- Download
Astro CMS Builder Setup.exe from Releases
- Run installer as Administrator
- Launch Astro CMS from Start Menu
Option 2: Build from Source
# Clone the repository
git clone https://github.com/yourusername/astro-cms.git
cd astro-cms
# Install dependencies
npm install
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:build
š Documentation
Setting Up Your Astro Project
Your Astro project needs Content Collections configured:
// astro.config.mjs
import { defineConfig } from 'astro/config';
export default defineConfig({
// Your config here
});
// src/content/config.ts
import { defineCollection, z } from 'astro:content';
const blog = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
updatedDate: z.coerce.date().optional(),
heroImage: z.string().optional(),
tags: z.array(z.string()).optional(),
}),
});
export const collections = { blog };
See our Astro Project Setup Guide for detailed instructions.
š How to Use
1. Launch the App
Open Astro CMS from your Applications folder (macOS) or Start Menu (Windows).
2. Open Your Project
- Click "Select Project Folder"
- Navigate to your Astro project directory
- Select the folder containing
astro.config.mjs
3. Create Content
- Go to "Posts" or "Pages"
- Click "New Post" or "New Page"
- Write your content using the visual editor
- Click "Save" when done
4. Preview Changes
- Click the "Preview" button
- Your changes appear in real-time
- Test on different screen sizes
5. Publish
- Go to "Publish" tab
- Choose deployment method:
- Git: Commit and push to GitHub
- Netlify: Deploy with one click
- Export: Build static site for manual upload
š ļø Technology Stack
Frontend
- Svelte 5 - Reactive UI framework
- TypeScript - Type-safe code
- TailwindCSS - Utility-first styling
- Editor.js - Modern block editor
Backend
- Rust - High-performance backend
- Tauri 2.x - Desktop app framework
- Node.js - Build tooling
- Astro CLI - Preview server integration
Features
- Git Integration - Native Git operations
- File System - Direct file manipulation
- Process Management - Astro dev server control
- Content Collections - Native Astro support
š Project Structure
astro-cms/
āāā src/ # Frontend (Svelte)
ā āāā lib/
ā ā āāā components/ # UI components
ā ā ā āāā content/ # Content management
ā ā ā āāā editors/ # Editor components
ā ā ā āāā media/ # Media library
ā ā ā āāā publish/ # Publishing tools
ā ā āāā api/ # Tauri API calls
ā ā āāā stores/ # State management
ā āāā App.svelte # Main app component
ā āāā main.ts # Entry point
ā
āāā src-tauri/ # Backend (Rust)
ā āāā src/
ā ā āāā commands/ # Tauri commands
ā ā āāā services/ # Business logic
ā ā āāā models/ # Data structures
ā āāā Cargo.toml # Rust dependencies
ā
āāā release/ # Distribution
ā āāā windows-builder/ # Windows GUI builder
ā āāā macos-builder/ # macOS GUI builder
ā āāā astro-cms/ # Release version
ā
āāā public/ # Static assets
šØ Key Features in Detail
Content Editor
- Block-Style Editor - Modern editing experience like Notion
- Markdown Support - Write in Markdown or use visual blocks
- Code Highlighting - Syntax highlighting for code blocks
- Image Embedding - Drag-and-drop images directly into content
- Auto-Save - Never lose your work
- Upload - Drag-and-drop or click to upload
- Browse - Visual grid of all your images
- Optimize - Automatic image optimization
- Insert - Click to insert into content
- Delete - Safe deletion with trash
Git Integration
- Status - See changed files at a glance
- Commit - Commit with custom messages
- Push - Push to remote with one click
- History - View commit history
- Authentication - Secure credential management
Live Preview
- Instant Updates - Changes appear immediately
- Responsive - Test different screen sizes
- Production Preview - See exactly how it will look
- Error Display - Clear error messages
š Security & Privacy
Local-First
- ā
All data stays on your computer
- ā
No cloud storage required
- ā
No telemetry or tracking
- ā
Full control of your content
Git Security
- ā
Secure credential storage
- ā
SSH key support
- ā
Personal access tokens
- ā
No passwords stored in plain text
File System
- ā
Sandboxed file access
- ā
User permission required
- ā
No arbitrary file access
- ā
Safe file operations
š¤ Contributing
We love contributions! Here's how you can help:
Ways to Contribute
- š Report Bugs - Open an issue
- š” Suggest Features - Share your ideas
- š Improve Docs - Help others understand
- š§ Submit PRs - Fix bugs or add features
- ā Star the Repo - Show your support!
Development Setup
# Fork and clone the repo
git clone https://github.com/yourusername/astro-cms.git
cd astro-cms
# Install dependencies
npm install
# Run in development
npm run tauri:dev
# Make your changes
# Write tests
# Submit a PR!
Contribution Guidelines
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature)
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
š Roadmap
Version 1.0 (Current) ā
Version 1.1 (Coming Soon)
Version 2.0 (Future)
š Support
Having Issues?
Check Documentation:
Get Help:
š License
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2026 Astro CMS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
š Acknowledgments
Built With
- Astro - The web framework for content-driven websites
- Tauri - Build smaller, faster, and more secure desktop applications
- Svelte - Cybernetically enhanced web apps
- TailwindCSS - Utility-first CSS framework
- Editor.js - Block-style editor
Inspiration
- WordPress - For proving that content management can be user-friendly
- Notion - For showing how beautiful block editors can be
- Obsidian - For demonstrating the power of local-first applications
Contributors
Thank you to all our contributors!

š Stats
š Star History
If you find this project useful, please consider giving it a star! ā