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>
1.4 KiB
1.4 KiB
Task 05 — Guide content out of app.js
Agent: content-i18n-migrator · Model: MiniMax-M3
Depends on: 04 · Parallel with: 06 · Blocks: 15
Worktree: .agents/scripts/worktree.sh start 05 content-guide
Goal
Every { en, pt } string in app.js lives in src/content/guide/, byte-identical.
Scope
src/content/guide/**. Do not delete anything from app.js yet — task 15
removes it once the page consumes the collection.
Steps
node .agents/scripts/extract-strings.mjs app.js > /tmp/before.json(~50 pairs acrossphases,handsOnPrompts,modelGuide,skillSources,skillInstallPrompts).- Move them into the collection. Copy mechanically — never retype. These
are hand-written translations with deliberate tone (
'Transforme ambiguidade em trabalho'); retyping introduces drift nobody catches until a Portuguese speaker reads it. node .agents/scripts/extract-strings.mjs src/content/guide/ > /tmp/after.jsondiff /tmp/before.json /tmp/after.json→ must be empty.
Watch for
handsOnPrompts values are multi-line prompt strings built with .join('\n').
Preserve the exact line breaks and leading - bullets: they are copy-pasted by
workshop attendees into an agent, and a mangled prompt breaks the exercise.
Done when
- String diff empty
astro checkpasses; both locales present on every entryapp.jsstill untouched and the site still works