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.
This commit is contained in:
35
README.md
Normal file
35
README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user