@@ -7,9 +7,15 @@ Key references:
77- ` docs/solid-ai-templates/base/git.md ` — git workflow, branching, PRs
88- ` docs/solid-ai-templates/base/docs.md ` — documentation rules, ADRs, writing style
99- ` docs/solid-ai-templates/base/quality.md ` — SOLID, readability, code style
10+ - ` docs/solid-ai-templates/base/typescript.md ` — type design, naming, strictness
11+ - ` docs/solid-ai-templates/base/issues.md ` — issue templates (epic, task, bug, incident, spike)
1012- ` docs/solid-ai-templates/base/scope.md ` — scope guard, session protocol
13+ - ` docs/solid-ai-templates/base/quality-gates.md ` — three-layer gate model
14+ - ` docs/solid-ai-templates/frontend/ux.md ` — UX principles, WCAG 2.1 AA, accessibility testing
15+ - ` docs/solid-ai-templates/frontend/quality.md ` — CSS conventions, performance, SEO
1116- ` docs/solid-ai-templates/frontend/static-site.md ` — static site architecture
1217- ` docs/solid-ai-templates/stack/static-site-astro.md ` — Astro-specific rules
18+ - ` docs/solid-ai-templates/stack/static-site-tutorial.md ` — tutorial site conventions
1319
1420Project-specific overrides and additions follow below.
1521
@@ -263,6 +269,68 @@ rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D3D1C7;strokeWid
263269```
264270
265271
272+ ### 2.7 TypeScript
273+
274+ Extends ` docs/solid-ai-templates/base/typescript.md ` :
275+
276+ - ` strict ` mode enabled via ` "extends": "astro/tsconfigs/strict" `
277+ - Content schema defined in ` astro-site/src/content.config.ts ` using Zod
278+ - Follow ` base/typescript.md ` rules in all ` .ts ` files (remark plugins,
279+ content config, utility modules in ` src/lib/ ` )
280+ - No ` any ` — use ` unknown ` and narrow, or define a proper type
281+ - Use ` import type { ... } ` for type-only imports
282+
283+ ### 2.8 Accessibility
284+
285+ Extends ` docs/solid-ai-templates/frontend/ux.md ` :
286+
287+ - Target: WCAG 2.1 AA
288+ - Minimum text contrast ratio: 4.5:1 (normal text), 3:1 (large text)
289+ - All interactive elements reachable and operable by keyboard
290+ - Images MUST have descriptive ` alt ` text; decorative images use ` alt="" `
291+ - ` aria-label ` on icon-only links and buttons
292+ - Navigation menu MUST close on Escape and restore focus
293+
294+ ### 2.9 Code conventions
295+
296+ Extends ` docs/solid-ai-templates/stack/static-site-astro.md ` :
297+
298+ - Default to ` .astro ` components — zero JS shipped unless islands are used
299+ - MUST NOT use ` set:html ` — bypasses escaping; use ` {expression} ` instead
300+ - ESLint and Prettier are not yet configured — follow ` base/quality.md `
301+ style rules manually until tooling is added
302+ - ` .astro ` files: keep component scripts minimal, logic in ` src/lib/ `
303+
304+ ### 2.10 CI/CD
305+
306+ Two GitHub Actions workflows:
307+
308+ ** ` build.yml ` ** — triggers on pull requests to ` main `
309+ - Checkout, setup Node (pinned to match ` engines ` in ` package.json ` ),
310+ npm ci, build
311+
312+ ** ` deploy.yml ` ** — triggers on push to ` main `
313+ - Same build steps, plus upload artifact and deploy to GitHub Pages
314+
315+ ### 2.11 Release process
316+
317+ Follow ` docs/solid-ai-templates/base/git.md ` release process:
318+ 1 . ` git checkout -b chore/release-vX.Y.Z `
319+ 2 . ` git commit --allow-empty -m "chore: release vX.Y.Z" `
320+ 3 . Push, open PR, merge
321+ 4 . ` git checkout main && git pull `
322+ 5 . ` git tag vX.Y.Z && git push origin vX.Y.Z `
323+
324+ Tags use semver: ` v1.0.0 ` (lowercase v, three segments).
325+
326+ ### 2.12 Licensing
327+
328+ - Tutorial content: CC BY-NC-SA 4.0
329+ - Allows copying and adapting with attribution
330+ - Prohibits commercial use without permission
331+ - Derivatives MUST use the same license
332+
333+
266334## 3. Session protocol
267335
268336### 3.1 Scope guard
0 commit comments