Warning
CODEXKIT переносит локальную рабочую среду Windows и может работать с чувствительными данными.
В публичном репозитории лежит только чистый шаблон: исходные скрипты, документация, пустой custom-paths.json, нейтральный список базовых dev-инструментов и исходные тесты проекта.
Не публикуйте комплект, созданный после запуска 1-BEFORE-MOVE.bat. Сгенерированные папки, архивы, отчёты, логи, результаты тестов и личные настройки предназначены только для вашего компьютера.
CODEXKIT — экспериментальный Windows migration kit для переноса рабочей dev/Codex-среды между компьютерами с минимумом ручной настройки.
Идея простая: запустить сбор на старом компьютере, перенести папку или флешку, затем запустить восстановление на новом компьютере.
Статус: v0.1.1-alpha, pre-release.
CODEXKIT может пригодиться, если вы часто переезжаете между Windows-компьютерами, настраиваете временный ноутбук, восстанавливаете рабочую среду или хотите быстро перенести dev/Codex-контекст.
Проект рассчитан на аккуратное личное использование. Не запускайте чужие переносимые комплекты без доверия к источнику.
- находит локальные настройки разработческой среды;
- собирает локальные Git-репозитории вместе с незапушенными изменениями;
- сохраняет рабочие настройки Codex, VS Code, терминала и типовых инструментов;
- создаёт переносимый архив или набор частей для флешки;
- восстанавливает найденные настройки и проекты на другом Windows-компьютере;
- работает без 7-Zip и WinRAR в обычном сценарии;
- поддерживает безопасный режим
Safeпо умолчанию; - позволяет заранее посмотреть план восстановления через
PlanOnly.
На старом компьютере:
1-BEFORE-MOVE.batПеренесите папку CODEXKIT целиком на другой компьютер или на флешку.
На новом компьютере:
2-RESTORE-HERE.batЕсли рядом появился codexkit-transfer.zip или папка codexkit-transfer-parts, открывать их руками не нужно. Второй BAT-файл сам распакует комплект штатными средствами Windows и продолжит восстановление.
При сборке 1-BEFORE-MOVE.bat отдельно спрашивает:
Копировать чувствительные данные, ключи, токены и авторизации? [д/Н]
По умолчанию используется Safe. Этот режим не копирует явно чувствительные автоматические находки: авторизации, приватные ключи, package-manager credentials, cloud-конфиги, приватные Android-ключи, Codex config.toml, Codex auth.json, Codex-сессии и служебные state-базы.
Если ответить д, да, y или yes, включится Full. Он переносит полный рабочий контекст, включая чувствительные данные. Используйте его только если понимаете, что переносимый комплект нельзя публиковать или отдавать другим людям.
Пароль для защищённого архива не включает Full автоматически. Режим чувствительности выбирается отдельным вопросом.
Перед настоящим восстановлением можно посмотреть, что CODEXKIT собирается сделать:
powershell -NoProfile -ExecutionPolicy Bypass -File .\restore-codexkit.ps1 -PlanOnlyВ PlanOnly CODEXKIT ничего не копирует, не зеркалирует, не устанавливает программы, не меняет PATH и не распаковывает переносимый архив. Он печатает план: приложения, элементы состояния, возможные перезаписи, backup-папки, репозитории и расширения VS Code.
После запуска 1-BEFORE-MOVE.bat рядом со скриптами могут появиться локальные generated-артефакты:
state/;repo-snapshots/;docs/;installers/;codexkit-transfer.zipилиcodexkit-transfer-parts/;.sha256-файлы;- manifest-файлы и отчёты.
Эти файлы нужны только для вашего личного переноса. Они не входят в публичный шаблон репозитория.
После сборки CODEXKIT создаёт внешние файлы хэшей:
codexkit-transfer.zip.sha256— для одного ZIP;codexkit-transfer-parts.sha256— для набора частей;codexkit-transfer-secure.sha256— для защищённых RAR-частей, если они созданы.
При восстановлении хэши проверяются, если файл найден. Если хэш не совпал, восстановление останавливается. Если .sha256 нет, CODEXKIT продолжает с предупреждением, чтобы старые комплекты не ломались.
CODEXKIT не пытается автоматически установить все приложения со старого компьютера.
winget-packages.json, если он создан после сборки, является справочным инвентарём. Для восстановления используется нейтральный список bootstrap-packages.json: Git, VS Code, Codex CLI/Desktop, Python, Node.js, OpenJDK, Android tools, Docker, Windows Terminal и Chrome.
При восстановлении приложения предлагаются по одному. Пользователь сам выбирает, что устанавливать.
CODEXKIT может переносить локальную папку .codex:
AGENTS.md;skills;plugins;rules;- дополнительные локальные данные, если выбран
Full.
В Safe переносится только менее чувствительная часть рабочей среды. В Full переносится полный Codex-контекст, включая чувствительные данные.
Если repo-manifest.json отсутствует или пустой, CODEXKIT ищет Git-репозитории в типовых рабочих папках:
Documents;Documents\Codex;source;projects;dev;Desktop;- дополнительные пути из
custom-paths.json.
Найденные репозитории попадают в repo-snapshots/. Это помогает перенести локальные изменения, которые ещё не отправлены в удалённый репозиторий.
Если на компьютере есть несколько репозиториев с одинаковым именем в разных папках, новые снимки сохраняются со стабильным snapshot_id. Старые комплекты без snapshot_id поддерживаются best-effort.
В публичном репозитории custom-paths.json должен оставаться пустым шаблоном:
{
"files": [],
"directories": [],
"repo_roots": []
}Личный custom-paths.json может содержать реальные пути, имена проектов, ссылки и секреты. Его нельзя публиковать.
Публичная альфа содержит только чистый шаблон:
- исходные BAT/PowerShell-скрипты;
- README, LICENSE, SECURITY, PRIVACY, CHANGELOG и CONTRIBUTING;
- release notes;
- пустой
custom-paths.json; - нейтральный
bootstrap-packages.json; prepublish-check.ps1;- исходные Pester-тесты в
tests/.
Папка tests/ — это не результаты тестов с компьютера автора, а исходные публичные тесты репозитория. Её стоит оставлять: она помогает проверить, что Safe-режим, prepublish-проверка, хэши и PlanOnly не ломаются.
Не публикуйте:
- рабочий комплект после запуска;
- локальные архивы и
.sha256; - generated-папки
state/,repo-snapshots/,docs/,installers/; - manifest-файлы, отчёты, логи и локальные результаты тестов;
- личные настройки, реальные пути, ссылки на личные проекты, ключи, токены, сертификаты и приватные конфиги;
- личный
custom-paths.json.
Перед публикацией форка или PR запустите:
powershell -NoProfile -ExecutionPolicy Bypass -File .\prepublish-check.ps1Если установлен Pester, можно дополнительно выполнить:
Invoke-Pester .\tests- Сейчас проект рассчитан на Windows и Windows PowerShell 5.1+.
- Старые комплекты без новых manifest-полей и
.sha256поддерживаются best-effort. - Offline installers зависят от того, отдаёт ли источник пакета установщик.
- Microsoft Store и закрытые источники могут не дать полноценный offline installer.
- Alpha-версия не гарантирует идеальное восстановление на любой машине. Сначала запускайте
PlanOnly.