Universal GitHub-Based Content Management System
Transform your GitHub repository into a powerful content management system.
GitCMS is a universal content management system that uses GitHub as its backend. It provides a beautiful web interface for managing content while storing everything as files in your GitHub repository - no database required.
- π No Database Required - All content stored in GitHub
- π¨ Universal Admin Panel - One hosted interface for all users
- π Visual Content Editor - Rich text editing with TipTap
- π GitHub OAuth - Secure authentication
- πΌοΈ Media Management - Upload and organize images, videos, documents
- π¦ TypeScript SDK - Full type-safety for developers
- β‘ Framework Agnostic - Works with React, Vue, Next.js, etc.
- π Public & Private Repos - Supports both access modes
Use the Admin Panel to manage content visually without touching code.
Perfect for:
- Bloggers managing posts
- Teams managing documentation
- Developers managing app configuration
- Anyone preferring visual interfaces
Get Started: Admin Panel Guide | Live Demo
Use the @git-cms/client SDK to fetch content from GitHub in your projects.
Perfect for:
- Next.js websites
- React/Vue applications
- Mobile apps
- Static site generators
- Any project needing content
Get Started: Client SDK Guide | NPM Package
- Visit the Admin Panel
- Sign in with GitHub
- Connect your repository
- Define content schemas
- Start creating content!
Install the SDK:
npm install @git-cms/clientFetch content in your project:
import { GitCMS } from '@git-cms/client';
const cms = new GitCMS({
repository: 'username/my-blog',
});
// Fetch blog posts
const posts = await cms
.from('posts')
.where('metadata.status', '==', 'published')
.orderBy('metadata.publishedAt', 'desc')
.get();
// Display content
posts.forEach(post => {
console.log(post.title, post.content);
});TypeScript SDK for developers to integrate GitCMS into their projects.
npm install @git-cms/clientCore utilities and types. Internal dependency.
Universal admin panel for content management. Hosted service, not published to NPM.
Admin Panel (Web UI)
β commits via GitHub API
GitHub Repository (your content)
β reads via GitHub API
Client SDK (in your app)
GitCMS uses GitHub as the storage backend. The admin panel writes content to your repository, and the client SDK reads it back. Everything is version-controlled and backed by GitHub's infrastructure.
const posts = await cms
.from('posts')
.where('metadata.status', '==', 'published')
.orderBy('metadata.publishedAt', 'desc')
.limit(10)
.get();const projects = await cms.from('projects').where('featured', true).get();const products = await cms
.from('products')
.where('category', '==', 'electronics')
.where('inStock', true)
.get();const docs = await cms.from('docs').where('version', '==', 'v1.0').get();Comprehensive documentation is available in the docs/ directory:
- Overview - Introduction to GitCMS
- Admin Panel Guide - For content creators
- Client SDK Guide - For developers
Full Documentation available here: GitCMS Docs
Contributions are welcome! Please follow these steps:
- 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
# Clone repository
git clone https://github.com/BestPlayerMMIII/GitCMS.git
cd GitCMS
# Install dependencies
npm install
# Build all packages
npm run build
# Run development servers
npm run devMIT License - see LICENSE file for details.
Copyright (c) 2025 GitCMS
- GitHub: BestPlayerMMIII/GitCMS
- NPM Package: @git-cms/client
- Admin Panel: GitCMS Admin
- Full Documentation: GitCMS Docs
- Issues: GitHub Issues
- GitHub OAuth authentication
- Repository connection
- Visual schema designer
- Rich text editor (TipTap)
- Media upload and management
- TypeScript SDK
- Public and private repo support
- Nested field access
- Progressive media loading
- Virtual Folders for Media management (like File Explorer!)
- Full-text search
- Multi-user collaboration
- Content versioning UI
- Branch-based workflows
- GraphQL API
- Webhooks integration
- Real-time collaboration
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Next.js - React framework
- TipTap - Rich text editor
- Octokit - GitHub API client
- Zod - Schema validation
- TailwindCSS - Styling
- Turborepo - Monorepo management
Made with β€οΈ by Manuel Maiuolo
Welcome to GitCMS! π