Files

40 lines
1.4 KiB
Markdown

# 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
1. `node .agents/scripts/extract-strings.mjs app.js > /tmp/before.json` (~50
pairs across `phases`, `handsOnPrompts`, `modelGuide`, `skillSources`,
`skillInstallPrompts`).
2. 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.
3. `node .agents/scripts/extract-strings.mjs src/content/guide/ > /tmp/after.json`
4. `diff /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 check` passes; both locales present on every entry
- [ ] `app.js` still untouched and the site still works