Important
This split repository is read-only.
Development happens in the Annabel monorepo
under applications/annabel-cms. Issues and pull requests should be opened there.
Annabel CMS is the official modular content management system built on the Annabel framework.
composer create-project codemonster-ru/annabel-cmsThe release contains the compiled admin assets, so Node.js is not required to install or run the CMS.
- Modular structure with explicit manifests, dependencies, routes, views, providers, and assets.
- Automatic module discovery and deterministic lifecycle management.
- Module-owned PHP, database, templates, Vue source, and build configuration.
- Authentication, role-based admin access, CSRF protection, and configurable sessions.
- Shared HTTP and console configuration for migrations and seeders.
app/Modules/Example/
├── Controllers/
├── Models/
├── database/
├── resources/
├── routes/
├── views/
├── module.php
└── ModuleServiceProvider.php
See docs/architecture.md for module lifecycle, dependency rules, authentication contracts, and scaling guidance.
Inside the Annabel monorepo:
COMPOSER=composer.dev.json composer update
npm ci
npm run build
COMPOSER=composer.dev.json composer test
COMPOSER=composer.dev.json composer analyseThe development manifest symlinks Annabel packages from ../../packages/*.
The public composer.json contains stable Packagist constraints and is used by
the split repository. Rebuild and commit public/admin/assets whenever the
admin frontend changes.
The bundled Dev Container is a standalone CMS environment that uses the public Composer manifest. Use the root monorepo quality commands when changing Annabel packages together with the CMS.
Global migrations and seeders live under database/. Modules may own their
database files under app/Modules/<Module>/database/.
php bin/database migrate
php bin/database migrate:rollback
php bin/database seed
php bin/database make:migration CreatePostsTable --module=Pages
php bin/database make:seed RolesSeeder --module=AuthUse SESSION_DRIVER=redis for horizontally scaled deployments. The default
file driver is appropriate for single-node development.