Files
summercms/CLAUDE.md
2026-02-05 20:10:40 +01:00

2.0 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

SummerCMS is a planning/meta-repository for rewriting WinterCMS/OctoberCMS into a faster, more stable language (primary pick: Scala). The goal is to create a similar-in-form CMF (Content Management Framework) that preserves the best developer experience patterns from WinterCMS while improving performance and scalability.

This repo contains:

  • IDEA.md — Vision and requirements for the new CMS
  • STACK.md — Technology stack decisions
  • examples/golem15-wintercms-starter — Git submodule pointing to the existing WinterCMS-based Golem15 Stack (reference implementation)

Repository Structure

The top-level repo is lightweight — just planning docs and an example submodule. The actual WinterCMS codebase lives in the submodule and has its own detailed CLAUDE.md at examples/golem15-wintercms-starter/CLAUDE.md.

Working with the Submodule

# Initialize the example submodule after cloning
git submodule update --init --recursive

# Enter the WinterCMS example project
cd examples/golem15-wintercms-starter

The submodule is the wn-starter-app from github.com/golem15com — a full WinterCMS project with 19 Golem15 plugins managed as nested submodules.

Key Design Requirements for SummerCMS

From IDEA.md, the new CMS must support:

  • Model / controller / components system similar to WinterCMS
  • Modern, efficient frontend-backend communication (replacing AJAX requests)
  • YAML/JSON-driven admin backend form generation
  • Console commands for scaffolding
  • Extensible plugin and theme system where plugins can extend each other
  • Modular architecture (like Laravel's Illuminate packages — each module as its own project)

Important Constraints

  • Core plugins (user, blog, pages, payment) work across many projects — avoid breaking changes unless directly asked
  • The reference WinterCMS implementation uses php-legacy / composer-legacy commands (see submodule's CLAUDE.md for details)