aae4d42229
Adds the agent-facing workspace and a 20-task plan for migrating the site to Astro. Nothing here implements the refactor; these are briefs, rules and templates that the task agents read. - .agents/ holds context, rules, checklists, skills, specialist agents, component/page/config templates and gate scripts. It is vendor-neutral so MiniMax, Gemini and Codex can all read it; CLAUDE.md just points at AGENTS.md. - .husky/ plus .lintstagedrc.json wire the three gate tiers. gate.sh locks on the shared git-common-dir so parallel worktrees serialise, and guards the assertion count in scripts/verify.mjs against a coverage drop. - plans/astro-refactor/ carries the phase graph, per-task briefs and the model-routing recommendation. These files must be tracked before fanning out: a worktree only checks out tracked files, so an untracked plan is invisible to every agent working in one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
954 B
Markdown
16 lines
954 B
Markdown
# Checklist: before you call a component done
|
|
|
|
- [ ] It appears (or will appear) in **three** places, or has a name a person says out loud
|
|
- [ ] Lives in the right folder: `primitives/`, `blocks/`, or `islands/`
|
|
- [ ] Typed `interface Props`; every field intentional; no `any`
|
|
- [ ] **No raw hex, px font sizes, or ad-hoc breakpoints** — tokens only
|
|
- [ ] Ships zero JS, or has a `client:*` directive with a written justification
|
|
- [ ] Markup under ~120 lines
|
|
- [ ] Native elements: `<button>` for actions, `<a>` for navigation
|
|
- [ ] Keyboard: tab to it, operate with Enter/Space, focus ring visible
|
|
- [ ] Interactive state exposed via ARIA (`aria-pressed`, `aria-current`), not just colour
|
|
- [ ] Any motion respects `prefers-reduced-motion` and animates only `transform`/`opacity`
|
|
- [ ] Renders correctly at 560 / 800 / 1100 / 1600 px
|
|
- [ ] Both `en` and `pt` strings present; no hard-coded copy
|
|
- [ ] `npm run verify` green with no assertion deleted
|