Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ Releases up to 2.63.0 are listed in
and the .vscode allowlist ([#2093])
- The backend-quality template is retired; its general rules move to the HTTP
template ([#2102])
- The frontend-static-site template is retired; its theme, trailing-slash and
404 rules move to frontend-quality and frontend-content ([#2103])

### Added

Expand Down Expand Up @@ -209,6 +211,7 @@ Releases up to 2.63.0 are listed in
[#2100]: https://github.com/solid-ai-dev/solid-ai-templates/pull/2100
[#2101]: https://github.com/solid-ai-dev/solid-ai-templates/pull/2101
[#2102]: https://github.com/solid-ai-dev/solid-ai-templates/pull/2102
[#2103]: https://github.com/solid-ai-dev/solid-ai-templates/pull/2103

## [2.90.0] - 2026-09-12

Expand Down
4 changes: 2 additions & 2 deletions docs/architecture/05-building-block-view.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ The core tier, as the manifest states it today:
- `templates/core/review.md`
- `templates/core/oop.md`

Measured: 9 `[DEPENDS ON]` tokens across 6 templates name one of these
files, and 6 manifest entries name a core id in `depends_on`. Declaring one
Measured: 8 `[DEPENDS ON]` tokens across 5 templates name one of these
files, and 5 manifest entries name a core id in `depends_on`. Declaring one
is redundant rather than forbidden — the seeding reaches the file either
way, and the directive documents a dependency a reader would otherwise
infer. Reached by the seeding alone: `base-review`, `base-oop`. A chain
Expand Down
2 changes: 2 additions & 0 deletions docs/migrating-to-v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ receives nothing (ADR-051).
| `backend-quality`: the handler, service and repository layering and its pattern catalogue | `backend-quality` | removed with the template; declare a stack's own architecture in a fork |
| `backend-quality`: process lifecycle, admin processes, outbound timeouts, auth before logic, rate limits | `backend-quality` | `backend-http` |
| `backend-quality`: N+1, async I/O, API deprecation, circuit breaker, outbox | `backend-quality` | already in `backend-database`, `backend-concurrency`, `backend-api`, `backend-errors`, `backend-messaging` |
| `frontend-static-site`: one stylesheet, BEM naming, system fonts, the `localStorage` theme snippet, the page table, lint and format files | `frontend-static-site` | removed with the template; a fork's static-site stack carries its choices |
| `static-site-theme`, `static-site-trailing-slash`, the custom 404 page, build-time rendering by default | `frontend-static-site` | `frontend-quality` and `frontend-content`, IDs kept |
| The numbered-document check after concurrent merges, the first-CI-run rule for a check on its own change | `base-git` | this repository's playbook; the `check-heading-numbers` hook still ships |
| The submodule update after a pin bump, the base64 bundle mask, the `.vscode` allowlist | `base-git` | removed; a neutral editor-settings rule remains |
| Factory classmethods; `*-overlay.png` naming | `base-oop`, `base-measurement` | neutral rules remain |
Expand Down
12 changes: 11 additions & 1 deletion templates/frontend/content.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Abstract rules for authored web content — content and code separation,
assets, SEO and structured data — whatever builds and serves it. Extended
by a layer that builds the site, or picked alone by a project whose content
by a stack that builds the site, or picked alone by a project whose content
another system builds and serves.

## Content structure
Expand Down Expand Up @@ -58,6 +58,16 @@ to change.
`apple-touch-icon` for iOS home-screen bookmarks
- Answer engines retrieve passages, not whole pages — lead each section
with a direct answer and keep paragraphs self-contained
- Serve a custom 404 page that links back into the site

## Trailing slash
[ID: static-site-trailing-slash]

- MUST verify the trailing slash convention matches the hosting platform's
behavior (e.g. GitHub Pages forces trailing slashes, Netlify and Vercel
are configurable)
- SHOULD add a CI check that scans built HTML output for internal hrefs
violating the convention

## Structured data (if applicable)
[ID: frontend-content-structured-data]
Expand Down
10 changes: 10 additions & 0 deletions templates/frontend/quality.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,21 @@ Rules:
## Performance

- Preload critical above-the-fold assets
- Render pages at build or on the server by default; render on the client
only where a page needs client-side state
- Keep client-side JS minimal — every dependency adds to bundle size
- Avoid unnecessary dependencies
- Defer non-critical scripts
- Monitor Core Web Vitals (LCP, CLS, INP) — treat regressions as bugs

## Theme persistence (if applicable)
[ID: static-site-theme]

- Apply a persisted theme before first paint (MUST): render it on the
server, or set it from a blocking `<head>` script if the browser stores it
- Never set the theme from a body or deferred script (MUST NOT); the page
flashes the wrong theme on every load

## Analytics (if applicable)

- No third-party tracking scripts without explicit user consent
101 changes: 0 additions & 101 deletions templates/frontend/static-site.md

This file was deleted.

7 changes: 1 addition & 6 deletions templates/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,12 @@ frontend:
depends_on: [base-quality]
- id: frontend-quality
file: templates/frontend/quality.md
description: CSS conventions, performance, analytics
description: CSS conventions, performance, theme persistence, analytics
depends_on: [base-quality]
- id: frontend-content
file: templates/frontend/content.md
description: Build-agnostic content rules — content, assets, SEO, structured data
depends_on: [base-docs, base-quality]
- id: frontend-static-site
file: templates/frontend/static-site.md
description: Abstract SSG rules — build, serving, CSS, typography, theme, performance
depends_on:
[base-git, base-security, frontend-content, frontend-ux, frontend-quality]

backend:
- id: backend-http
Expand Down
5 changes: 2 additions & 3 deletions tests/baselines/template-quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,8 @@ templates/data/data-governance.md 100.0
templates/data/data-migration.md 100.0
templates/data/data-modeling.md 100.0
templates/data/data-quality.md 84.2
templates/frontend/content.md 87.6
templates/frontend/quality.md 93.6
templates/frontend/static-site.md 84.2
templates/frontend/content.md 90.7
templates/frontend/quality.md 93.5
templates/frontend/ux.md 94.3
templates/infra/cicd.md 95.7
templates/infra/containers.md 95.2
Expand Down
Loading