* docs(openspec): propose setup-foundation change Add OpenSpec change for SPEC Phase 0 — Foundation with proposal, design, capability specs, and implementation tasks. Populate openspec/config.yaml with project context and artifact rules. Co-authored-by: Cursor <cursoragent@cursor.com> * feat: bootstrap Laravel 13 foundation (Fase 0) Implement OpenSpec change setup-foundation: Laravel 13 + Filament 5 admin panel, Livewire 4 public site shell, PostgreSQL via Compose, design tokens, role-based auth, quality gates (Pint/Larastan/Pest), FrankenPHP Dockerfile, and GitHub Actions CI with five blocking jobs. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(ci): use valid APP_KEY for encryption in tests Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Design tokens are centralized for the public site
|
|
|
|
The system SHALL define minimum design tokens in a single source consumed by the public site layout and components. Tokens MUST cover typography families, font scale, spacing, border radius, container width, background/text/border/accent/state colors, shadows, and transition duration/easing.
|
|
|
|
#### Scenario: Public layout uses shared tokens
|
|
|
|
- **WHEN** a public page is rendered
|
|
- **THEN** visual properties MUST be derived from the centralized token definitions rather than arbitrary inline values
|
|
|
|
### Requirement: Public site respects reduced motion preference
|
|
|
|
The system SHALL honor `prefers-reduced-motion` by disabling or minimizing non-essential animations and transitions on the public site.
|
|
|
|
#### Scenario: User prefers reduced motion
|
|
|
|
- **WHEN** a visitor has `prefers-reduced-motion: reduce` enabled
|
|
- **THEN** the public site MUST NOT play non-essential motion effects
|
|
|
|
### Requirement: Public site meets baseline accessibility contrast
|
|
|
|
The system SHALL use color combinations on the public site that meet WCAG AA contrast requirements for text and interactive elements defined in the token palette.
|
|
|
|
#### Scenario: Primary text is readable
|
|
|
|
- **WHEN** primary body text is rendered on its background color
|
|
- **THEN** the contrast ratio MUST meet WCAG AA minimums
|