Skip to content

BulbuLbul86/CODEXKIT

Repository files navigation

CODEXKIT

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 и продолжит восстановление.

Safe и Full

При сборке 1-BEFORE-MOVE.bat отдельно спрашивает:

Копировать чувствительные данные, ключи, токены и авторизации? [д/Н]

По умолчанию используется Safe. Этот режим не копирует явно чувствительные автоматические находки: авторизации, приватные ключи, package-manager credentials, cloud-конфиги, приватные Android-ключи, Codex config.toml, Codex auth.json, Codex-сессии и служебные state-базы.

Если ответить д, да, y или yes, включится Full. Он переносит полный рабочий контекст, включая чувствительные данные. Используйте его только если понимаете, что переносимый комплект нельзя публиковать или отдавать другим людям.

Пароль для защищённого архива не включает Full автоматически. Режим чувствительности выбирается отдельным вопросом.

PlanOnly

Перед настоящим восстановлением можно посмотреть, что 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.

При восстановлении приложения предлагаются по одному. Пользователь сам выбирает, что устанавливать.

Codex, плагины и агенты

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

В публичном репозитории 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.

About

CODEXKIT — два BAT-файла для переноса рабочей Windows dev/Codex-среды: настройки, проекты и локальные изменения между компьютерами.

Topics

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors