# Phase 1: каркас проекта Phase 1 завершена для рабочей основы NeoForge 21.1.252 / Minecraft 1.21.1. ## Каркас - `platform/config.yaml`: schema version, pack/output paths, server defaults, будущий SSH deployment target. Host/directory не заданы. - `platform/schemas/`: место для будущей схемы вместе с parser в Phase 2. - `pack/`: проверенный packwiz source без изменения версий и состава модов. - `server/`: Compose, `.env.example`, явно подключаемый override template. - `scripts/`: минимальные spike-инструменты; основного CLI пока нет. - `docs/`, `examples/`, `testdata/`: результаты и материалы воспроизведения. - `dist/`, `runtime/`: только `.gitkeep` включается в source. `server.properties` генерируется из Compose environment, поэтому отдельный source-файл не создан. Дополнительные pack-директории создаются по мере появления контента; пустые файлы не добавляются в экспорт. Makefile и команды deploy/backup/rollback появятся в соответствующих фазах, без пустых заглушек. Platform manifest пока не читается spike-скриптами. Текущий runtime использует env-файлы; подключение manifest и validation относятся к Phase 2. ## Проверка на чистом clone Из неигнорируемых файлов рабочего дерева создан временный Git snapshot в `.tools/phase1-check.0Od3T1/source`, затем выполнен локальный `git clone` в соседний `clone/`. Основной репозиторий не коммитился и не менял index. В clone отсутствовали прежние `.tools/`, runtime state, backups и `.env`. Пройдены: 1. `scripts/spike-tools.sh`: новые downloads packwiz и Compose; архив/бинарники совпали с закреплёнными SHA256, Compose v5.6.0. 2. `packwiz refresh`: успешен, `git diff --exit-code -- pack` подтвердил отсутствие изменений metadata после refresh/export/build. 3. `packwiz modrinth export`: успешен, ZIP содержит index и pack config. 4. `scripts/spike-server.sh config --quiet`: основной Compose валиден. 5. То же с `-f server/compose.override.yaml.example`: слой overrides валиден. 6. `scripts/spike-build.sh`: экспорт в новый `dist/` с SHA256SUMS успешен. 7. Bash syntax и `git diff --check`: успешны. 8. `git check-ignore`: runtime, dist, tools, backups, локальные `.env` и активный override игнорируются; `.env.example` не игнорируется. Проверка Compose не запускала сервер; активный мир и артефакт не изменены. Точный порядок работы для нового checkout описан в корневом README. Bootstrap использует закреплённый GitHub Actions artifact packwiz; такие артефакты имеют ограниченный срок хранения. Для долгосрочного bootstrap потребуется постоянное хранение проверенного бинарника либо сборка закреплённого commit. Текущий URL проверен свежим скачиванием.