Default theme repository for Tooty CMS.
This repo contains the official starter/default themes used by Tooty core. Community themes are welcome.
- Ship stable, reusable themes for Tooty CMS
- Keep theme behavior in themes (not core)
- Provide a clean baseline for new installs
Community themes are welcome via pull request.
Before opening a PR, your theme must pass the repo CI checks and follow these rules.
- One folder per theme at repo root, e.g.
my-theme. - Folder name must match
theme.json.id. - Each theme must include
theme.jsonwith:
idnamedescriptionversionminCoreVersion
versionmust be semver-like (example:0.1.0,0.2.2-1).minCoreVersionmust match Tooty range format (example:0.2.x).- Include
templates/index.html. - Include
templates/home.htmlor settemplates.homeintheme.json. - Include single template (
templates/single.htmlpreferred; legacypost.htmlallowed). - Include archive template (
templates/archive.htmlpreferred; legacyposts.htmlallowed). - Include taxonomy template (
templates/taxonomy.htmlortemplates/taxonomy-category.html; legacytax_category_documentation.htmlallowed). - Add
templates/404.html(recommended). - All files referenced in
theme.json.assetsmust exist. - No secrets, binaries, malware patterns, or
.DS_Storefiles. - Keep themes presentation-only. Do not implement auth/routing/schema bypass logic.
- Create a folder:
my-theme/
- Add
my-theme/theme.json:
{
"id": "my-theme",
"name": "My Theme",
"description": "Minimal starter theme.",
"version": "0.1.0",
"minCoreVersion": "0.2.x",
"templates": { "home": "home.html" },
"assets": {
"styles": ["style.css"],
"scripts": ["theme.js"]
}
}- Add files:
my-theme/assets/style.cssmy-theme/assets/theme.jsmy-theme/templates/header.htmlmy-theme/templates/footer.htmlmy-theme/templates/home.htmlmy-theme/templates/index.htmlmy-theme/templates/single.htmlmy-theme/templates/archive.htmlmy-theme/templates/taxonomy-category.htmlmy-theme/templates/404.html
- Validate locally:
npm run ci- Open PR.
This repo runs GitHub Actions for:
- Theme contract validation
- Security scan (secrets + suspicious patterns)