docs: add .agents workspace and the Astro refactor plan
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>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Task 06 — Review-desk content out of catalog.js
|
||||
|
||||
**Agent**: `content-i18n-migrator` · **Model**: MiniMax-M3
|
||||
**Depends on**: 04 · **Parallel with**: 05 · **Blocks**: 16
|
||||
**Worktree**: `.agents/scripts/worktree.sh start 06 content-review`
|
||||
|
||||
## Goal
|
||||
|
||||
24 review entries become a typed collection, with the `improved` markdown as
|
||||
real `.md` files.
|
||||
|
||||
## Scope
|
||||
|
||||
`src/content/reviews/**`, `scripts/build-skill-review.mjs`.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Move all 24 entries from `skills-review/catalog.js` (27 KB) and
|
||||
`submitted-catalog.js` (18 KB) into the collection.
|
||||
2. `improved` becomes a real Markdown file per entry, rendered at build time.
|
||||
That deletes the hand-rolled client-side renderer.
|
||||
3. **Re-point `scripts/build-skill-review.mjs`** at the collection.
|
||||
|
||||
## The two traps
|
||||
|
||||
1. **The generator writes committed files.**
|
||||
`skill-reviews/improved/**/SKILL.md` is generated from the `improved` fields
|
||||
and the output is in git. Move `catalog.js` and the generator keeps running
|
||||
against nothing — **silently, exit code 0**. Prove it still produces
|
||||
byte-identical output:
|
||||
```bash
|
||||
node scripts/build-skill-review.mjs && git diff --exit-code skill-reviews/
|
||||
```
|
||||
2. **The diff view needs raw source.** The review desk compares original and
|
||||
improved as *text*. If `improved` only exists as rendered HTML, the change
|
||||
lens breaks. Keep the raw string reachable.
|
||||
|
||||
## Done when
|
||||
|
||||
- [ ] 24 entries in the collection; `verify.mjs`'s `id:'` count assertion still passes
|
||||
- [ ] `git diff --exit-code skill-reviews/` clean after regenerating
|
||||
- [ ] `astro check` passes
|
||||
- [ ] Every reference to the generator still accurate (`package.json`, `README.md`, `docs/operations-guide.md`, the review desk footer)
|
||||
Reference in New Issue
Block a user