kavya Svelte Themes

Kavya

A beautiful desktop CMS for Astro projects. Manage content, preview live, deploy easily. Built with Tauri, Rust & Svelte. Cross-platform (macOS/Windows).

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

A beautiful, modern desktop CMS for Astro projects

Manage your Astro content collections with ease - no technical knowledge required!

Features • Quick Start • Documentation • Contributing


šŸ“ø 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

Media Library

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

šŸŽØ Media Management

  • āœ… 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:

  1. Download Astro CMS Builder.dmg from Releases
  2. Open DMG and drag to Applications
  3. Launch Astro CMS from Applications

For Windows:

  1. Download Astro CMS Builder Setup.exe from Releases
  2. Run installer as Administrator
  3. 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

Media Management

  • 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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


šŸ“ Roadmap

Version 1.0 (Current) āœ…

  • Content management (posts & pages)
  • Visual editor (Editor.js)
  • Media library
  • Live preview
  • Git integration
  • Netlify deployment
  • Desktop apps (macOS & Windows)

Version 1.1 (Coming Soon)

  • Multi-language support
  • Custom content types
  • Advanced search
  • Bulk operations
  • Template manager
  • SEO tools

Version 2.0 (Future)

  • Multi-user support
  • Cloud sync (optional)
  • Plugin system
  • Advanced analytics
  • AI writing assistant
  • Mobile apps

šŸ†˜ 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! ⭐


Made with ā¤ļø for the Astro community

Website • Documentation • Blog

Top categories

Loading Svelte Themes