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>
1.6 KiB
Task 10 — Full-guide blocks
Agent: component-builder · Model: MiniMax-M3
Depends on: 07 · Parallel with: 08, 09, 11 · Blocks: 15
Worktree: .agents/scripts/worktree.sh start 10 guide-blocks
Goal
The full guide's distinctive sections as components — static shells only. Task 15 wires the interactivity.
Scope
src/components/blocks/ — PhasePanel.astro, FleetDiagram.astro,
HandoffTable.astro, WorktreeMap.astro, RouteTable.astro,
SkillPackage.astro.
Source
full-guide/index.html (22 KB) + styles.css + responsive.css.
Critical: the data-* hooks are asserted by name
verify.mjs requires these survive: data-phase="plan|build|review",
data-tree="main|ui", data-worker="ui", data-route="plan",
data-model-provider="openai|claude|gemini", data-effort="low|medium|high",
data-skill-file="skill", data-skill-step="observe|validate",
data-common-skill="ponytail|caveman|unlazy", role="tablist", id="hands-on".
Each is a real feature hook, not decoration. Losing one is losing a feature.
Watch for
responsive.css is 30 KB of append-only overrides on top of styles.css. Do
not port it wholesale. Take what each component needs, then prove the rest is
dead. Expect to delete most of it — that is a win, not a risk, provided the
screenshots agree.
Done when
- Every
data-*hook above present in rendered output - Components take props and render static markup; no
client:*yet - Screenshots match the current guide at four widths
- Checklist complete;
npm run gategreen