hashtagcms / create-app
Official HashtagCMS Starter Kit
Package info
github.com/hashtagcms/create-app
Language:CSS
Type:project
pkg:composer/hashtagcms/create-app
Requires
- php: ^8.3
- hashtagcms/hashtagcms: ^3.0
- laravel/framework: ^13.0
- laravel/tinker: ^3.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.5
- laravel/pint: ^1.27
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- phpunit/phpunit: ^12.5.12
README
HashtagCMS Starter Kit
Welcome to the Official HashtagCMS Starter Kit. This boilerplate provides a production-ready application structure pre-configured with Laravel 12 and HashtagCMS 3.x, allowing you to launch powerful, headless-capable Content Management Systems in seconds.
๐ About HashtagCMS
HashtagCMS is an enterprise-ready, API-first content management platform built on Laravel. It supports headless, bundled, and hybrid architectures, allowing organizations to manage multiple sites, platforms, and languages from a single centralized admin panel. Designed for scalability, performance, and long-term flexibility, HashtagCMS gives engineering teams full architectural control while enabling business teams to move faster with confidence.
โจ Key Features
- Multi-Tenancy: Manage multiple sites, domains, and platforms from a single admin panel.
- Headless Ready: Robust API for consuming content on React, Vue, Mobile, or any other consumer.
- Everything is a Module: Drag-and-drop module placement for any part of the page.
- Smart Queries: Fetch data from SQL using JSON configuration (no code needed).
- Extensible Admin: Flexible view resolution supporting custom packages and theme overrides.
- Advanced Features: MongoDB support, SSO, and Figma Integration (coming soon).
Modular Admin Architecture
HashtagCMS supports a fully modular admin panel. You can easily integrate external packages (like HashtagCMS Extended) or override standard CRUD views directly from the database configuration, enabling seamless upgrades and customization.
HashtagCMS Ecosystem
HashtagCMS is part of a broader ecosystem of packages published under the @hashtagcms npm namespace and the hashtagcms Packagist vendor, covering the core CMS, admin UI kit, web SDK, and more.
๐ What's New in v3.0.0
- Tailwind CSS: Entire frontend migrated to Tailwind CSS with a new default theme.
- Vue 3 Composition API: Admin UI kit fully rewritten using Vue 3 Composition API.
- Re-engineered Module Creator: Redesigned for better modularity and speed.
- Module Type CMS Module: New dynamic type management module.
- SiteClonerService: New robust service for site and language cloning.
- Pipeline-based Resolver: New system for resolving Site, Lang, Platform, and Route.
- Queue-Driven Tasks: All long-running tasks are now handled via Laravel Jobs.
- Enhanced RBAC: Improved CMS Policies with site-wise permissions and audit logging.
- Advanced Service Discovery: Improved Custom Module Loader.
๐ Installation
๐ณ Via Docker (Recommended)
The easiest way to get started is using Docker. Ensure you have Docker and Docker Compose installed.
For detailed Docker instructions and troubleshooting, see the DOCKER-README.md.
git clone https://github.com/hashtagcms/create-app.git my-awesome-site
cd my-awesome-site
./cms build
Once the containers are running, visit http://localhost:8081/install to complete the setup.
๐ฆ Via Composer
Option A โ Starter Kit (Recommended)
composer create-project hashtagcms/create-app my-awesome-site
cd my-awesome-site
php artisan cms:install
Option B โ Fresh Laravel Project
composer create-project laravel/laravel my-awesome-site
cd my-awesome-site
composer require hashtagcms/hashtagcms
php artisan cms:install
2. Database Setup
By default, this starter kit is configured to use SQLite for instant setup (zero configuration).
Copy .env.example to .env
cp .env.example .env
To use MySQL/PostgreSQL:
-
Open the
.envfile in your new project. -
Update the database credentials:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=root DB_PASSWORD=
-
Open
app/Models/User.phpand replace:use Illuminate\Foundation\Auth\User as Authenticatable;
with:
use HashtagCms\User as Authenticatable;
-
Run the installer to populate the database:
php artisan cms:install
3. Configure & Access
Open your browser and navigate to:
http://{APP_URL}/install
After installation, visit:
- Frontend:
http://your-domain.com - Admin Panel:
http://your-domain.com/admin
Login details will be provided during the cms:install process.
๐ Documentation
Comprehensive documentation is available in the docs/ directory of the core repository:
๐งช Testing
This kit comes with standard Laravel tests. To run them:
php artisan test
๐ Changelog
Full version history is maintained in the core repository:
Recent highlights:
- v3.0.0 โ Tailwind CSS frontend, Vue 3 Composition API admin, Queue-driven tasks, enhanced RBAC
- v2.0.5 โ FormHelper XSS prevention, FrontendHelper stability improvements
- v2.0.4 โ Intelligent admin view resolution, routing and module parsing enhancements
- v2.0.3 โ Configurable rate limiting on critical endpoints
- v2.0.0 โ Event-driven architecture, removed
laravel/ui, all large tasks are queue/event-driven
๐ค Contributing
Contributions are welcome! The contribution guide can be found in the HashtagCMS Core Repository.
๐ License
The HashtagCMS framework is open-sourced software licensed under the MIT license.