Goal-Calibration/ai/frontend-context.md
2026-05-01 09:56:25 +03:00

33 lines
1.3 KiB
Markdown

# Frontend context
> Read `ai/shared.md` first. This file only covers frontend-specific rules.
## Project Context
**Stack:** vanilla PHP templates in `views/templates/`, plain ES JavaScript in
`public/js/`, no framework, no build step. Cypress 15 for E2E.
**Entry point:** `public/index.php` (Slim app); page templates are rendered
via the existing templating layer.
## Code patterns
- Look at existing pages (`home.php`/`home.js`, `text.php`/`text.js`,
`today.php`/`today.js`) for reference before writing anything
- **Templates:** `views/templates/<page>.php`, one file per page
- **Page JS:** `public/js/<page>.js`, one file per page, paired with the
matching template
- **Testing:** Cypress E2E only, mirror existing `cypress/e2e/*.cy.js` style
(note: this project uses `.cy.js`, not `.cy.ts`)
- **Imports / script tags:** keep at the top of the file
- **Variable names:** explicit, descriptive (e.g. `text` not `t`)
## Pre-commit
No JS formatter or linter is configured yet; format manually for consistency
with surrounding files. (TODO: wire up format/lint when added.)
## Note on commit granularity
Frontend changes are often a template plus its page-level JS counterpart -
commit them together as a single logical unit, per the "one logical change
per commit" rule in `shared.md`.