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

44 lines
2.0 KiB
Markdown

# 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
```bash
# 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)