SummerCMS documentation
SummerCMS is a content management framework for Go, inspired by WinterCMS.
SummerCMS keeps what makes WinterCMS productive (plugins that extend each other, YAML-driven admin forms and lists, console scaffolding) and compiles an application into a single Go binary. The framework modules, the application's plugins, the embedded admin SPA and the console commands all ship as one executable.
Start with Installation to set up the toolchain and the summer CLI. If you know WinterCMS, read Coming from WinterCMS for a map of its concepts to SummerCMS. Then follow Porting a plugin, which moves a WinterCMS plugin to SummerCMS step by step. The API reference section has one page per framework module.
Where to start#
- Setup: what SummerCMS is, installation, configuration, the move from WinterCMS and a plugin porting walkthrough.
- Architecture: the single binary, Go modules, the application lifecycle, the request lifecycle and performance and scaling compared with PHP-FPM.
- Plugins: registering a plugin, scheduling, extending other plugins and testing.
- Backend: admin controllers, forms, lists, relations, users, settings and the admin SPA.
- Database: models, migrations, queries, relations, casts, attachments and transactions.
- Services: configuration, events, routing, authentication, mail, jobs, realtime, search and the other services, plus what SummerCMS does not provide for the frontend.
- Console: the
summertool, the application binary's commands and writing your own.