prepare-contour-snapshot.sh урезает web/package.json arm-core по разрешённому списку
(devDependencies: @rsbuild/core, @rsbuild/plugin-react, tailwindcss, daisyui; optional: raisa-*;
scripts: build, start, preview), сокращает web-check до npm install + npm run build, пишет убранное
в SNAPSHOT.md и сам собирает урезанный web/ во временной копии: не собралось — снимка нет.
Гайд: раздел 3.2 и правило «web/package.json из контура обратно не переносить».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tea 0.16.0 не принимает --login/--repo перед подкомандой: «flag provided
but not defined: -login» — sync-web падал сразу после создания worktree,
issue и PR в arm-core не создавались. Флаги вынесены в TEA_FLAGS и
передаются после «issues create» / «pulls create»; подсказка ручного
создания PR — с --login/--repo/--base. В test_sync_web.sh — проверка, что
ни один вызов tea в sync-web.sh и prepare-contour-snapshot.sh не начинается
с флага.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Скрипт делает одной командой то, что делалось вручную в arm-core #94 и #100:
точка синхронизации по хэшу дерева src (без хранения состояния), worktree по
абсолютному пути, issue и PR в arm-core через tea, перенос набора (всё кроме
служебного arm-web), контроль diff -rq, проверки vitest/tsc/biome/build до
коммита. Режимы --check (0/10/20), --dry-run, --ref, --core-ref.
prepare-contour-snapshot.sh для arm-core перед снимком вызывает sync-web.sh
--check: при отставании спрашивает «перенести как есть?», «n» запускает
синхронизацию и останавливает перенос (код 3) до merge PR и закрытия issue;
без терминала — флаг --web-as-is; расхождение (прямые правки web/) — стоп.
Тест test_sync_web.sh на синтетических репозиториях, цели make test-sync-web
и sync-web, гайд §3 шаг 0, §3.1, §8.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>