diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..921528d --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,43 @@ +# 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)