Files
summercms/README.md
Jakub Zych 8ce164bb0c Initial commit: SummerCMS Go planning docs and research
Records the move from Scala to Go, the compiled-plugin decision, the
Płytarium port as the v1 target, and the Go ecosystem research that
backs the choice. No code yet.
2026-09-16 02:07:04 +02:00

36 lines
1.8 KiB
Markdown

# SummerCMS (Go)
A Go rewrite of the WinterCMS/OctoberCMS content management framework, built for the Golem15 stack.
SummerCMS keeps what makes WinterCMS productive — plugins that extend each other, YAML-driven admin forms, models/controllers/components, scaffolding commands — and drops the parts that do not survive a compiled language.
## Status
Pre-alpha. Planning and research. Nothing runs yet.
## Why Go
The first SummerCMS attempt was Scala 3. Three infrastructure modules were built (config, i18n, console) before the effort stalled on ecosystem depth: proven, reusable libraries for things like an OAuth2/OIDC server did not exist, and building them from scratch was out of budget. Go's ecosystem covers every concern in the Illuminate module map with maintained, widely used libraries. See `.planning/notes/why-go-not-scala.md` and `.planning/research/go-ecosystem.md`.
## v1 target
Port **Płytarium** (the `fonoteka` project): a headless WinterCMS backend with a Nuxt 4 frontend, 160 API routes, its own OAuth2 provider, Discogs and AI integrations, queued jobs, realtime notifications, and organization-scoped collections.
Definition of done for v1: `vue-fonoteka-app` runs unchanged against the Go backend.
See `.planning/notes/v1-target-plytarium.md`.
## Architecture decisions so far
- Compiled plugins, Caddy/xcaddy style: a `plugins/` workspace of Go modules, a generated import list, scaffold and rebuild commands, watch-rebuild in dev.
- A sandboxed WASM extension API for untrusted third-party extensions comes later, behind a stable core plugin API.
- Headless first. Admin is a schema-driven SPA. Server-rendered themes come with the second port target (keios.eu).
## Layout
```
.planning/ GSD planning artifacts (notes, research, seeds, roadmap)
```
Everything else will be created by the GSD roadmap phases.