- Зачем:
- порт 57458 попадал в динамический диапазон Hyper-V (49152–65535), что блокировало запуск контейнера на WSL2.
- Что:
- порт изменён с 57458 на 26745 в docker-compose.yml.
- обновлён SEARXNG_URL в конфиге MCP opencode.
- Проверка:
- docker compose up -d && curl -s -o /dev/null -w "%{http_code}" http://localhost:26745/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- код Codex работал, но был тяжёл для чтения и сопровождения: 4 naming-конвенции, скрытая мутация $script:changed, 298 строк WT-скрипта почти без комментариев.
- Что:
- profile.ps1: комментарии на русском перед каждой функцией, секционные разделители, wt-here → wt_here (единый snake_case), Get-PublicIp упрощён до Invoke-RestMethod, Chocolatey boilerplate обрезан.
- WT-скрипт: Set/Remove-Prop возвращают bool вместо мутации $script:changed, naming выровнен в PascalCase, хелперы переименованы (Get-Prop, Set-Prop, Test-IsPS7, Test-IsStockPS7), комментарии к каждому блоку логики, вывод на русском.
- Git-миграция: блок комментариев с описанием 4 сценариев, пояснение 3 вариантов ManagedStubs, naming выровнен, вывод на русском.
- Проверка:
- pwsh -NoProfile -Command "[System.Management.Automation.Language.Parser]::ParseFile(...)" — синтаксис всех трёх файлов OK.
- chezmoi -S "$HOME\dotfiles\chezmoi" apply --dry-run --verbose.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- README вырос органически и перестал соответствовать тому, как человек его читает: quick start был на строке 80, требования после инструкций, Windows-справочник внутри установки, прокси и секреты размазаны по 4 местам.
- Что:
- добавлен quick start наверху (3 команды для каждой платформы).
- содержимое сгруппировано по платформе: Linux/WSL (stow), Windows (chezmoi), AI-инструменты.
- прокси, секреты и Git baseline консолидированы в отдельные секции.
- добавлены секции «Справочник» (bash/pwsh функции, точки расширения) и «Дизайн-решения».
- удалены дубли и заглушки (Stow вручную, Zed placeholder, VS Code Server как отдельная секция).
- Проверка:
- визуальный просмотр README.md.
- git diff --check — нет trailing whitespace / CRLF.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- .gitattributes уже нормализует новые файлы; renormalize убрал
CRLF из slides/LICENSE.txt (pre-existing, 201 CR).
- __pycache__/*.pyc убран из tracking, добавлен в .gitignore.
- Удалены тестовые бэкапы ~/.gitconfig.pre-chezmoi.bak-*.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- нужно убрать line-ending noise в репозитории и сделать Windows-слой безопаснее для запуска без установленного pwsh.
- Что:
- добавлена `.gitattributes` с LF-базой для текста и CRLF-исключениями для `.bat` и `.cmd`.
- `README.md` нормализован в LF и quick start дополнен явной установкой PowerShell 7.
- `chezmoi`-скрипты переведены на guard, совместимый с PowerShell 5.1, а запись `settings.json` переведена на `utf8BOM`.
- Проверка:
- `git diff --check`.
- `powershell.exe -NoProfile -ExecutionPolicy Bypass -File chezmoi\\.chezmoiscripts\\run_before_10-migrate-gitconfig.ps1`.
- `powershell.exe -NoProfile -ExecutionPolicy Bypass -File chezmoi\\.chezmoiscripts\\run_20-configure-windows-terminal.ps1`.
- `chezmoi -S C:\\Users\\dmitry\\dotfiles\\chezmoi apply --dry-run --verbose`.
- Зачем:
- нужно перенести привычные proxy_on/proxy_off/myip из bash в pwsh и убрать устаревший codevpn.
- нужно сделать Windows Git baseline проще и предсказуемее, чтобы effective значения и проверки не путались.
- Что:
- в managed profile PowerShell 7 добавлены `proxy_on`, `proxy_off`, `myip` и удалён `codevpn`.
- Git baseline перенесён в `~/.gitconfig`, а `~/.gitconfig.local` оставлен только для локальных и персональных override-настроек.
- README уточнён: legacy-статус Windows PowerShell 5.1, новые helper-функции и корректная команда проверки Git-конфига.
- Проверка:
- `chezmoi -S "$HOME\dotfiles\chezmoi" apply --force`
- `pwsh -NoLogo -Command ''Get-Command proxy_on,proxy_off,myip,Reload-Profile,wt-here; Test-Path function:codevpn''`
- `git config --global --includes --list --show-origin`
- Зачем:
- нужно перенести стабильную Windows-конфигурацию в dotfiles без поломки существующего stow/install.sh workflow для Linux и WSL.
- нужно убрать типичные проблемы Git на Windows, включая line endings, из ручной настройки машины.
- Что:
- добавлен отдельный source dir `chezmoi/` с tiny stub для PowerShell 7 и managed profile в `~/.config/powershell`.
- добавлены идемпотентная настройка Windows Terminal и managed Git baseline с миграцией локальных настроек в `~/.gitconfig.local`.
- обновлён README: описан Windows workflow, helper-функции pwsh и состав Git baseline без персональных данных.
- Проверка:
- `chezmoi -S "$HOME\dotfiles\chezmoi" apply`
- `pwsh -NoLogo -Command ''$PSVersionTable.PSVersion.ToString(); chcp; [Console]::InputEncoding.WebName; [Console]::OutputEncoding.WebName''`
- `git config --global --includes --list --show-origin`
- Зачем:
- stow tree-folding создавал симлинк ~/.claude → dotfiles/claude/.claude/,
из-за чего Claude Code модифицировал settings.json прямо в репозитории,
а рантайм-данные (sessions, credentials) попадали в каталог dotfiles.
- Что:
- claude убран из stow-пакетов, установка через ручную секцию в install.sh.
- settings.json копируется в ~/.claude/ (оригинал защищён chmod 444).
- добавлена автомиграция: симлинк → директория с переносом рантайм-данных.
- грязный settings.json в репо автоматически сбрасывается через git checkout.
- добавлен .stow-local-ignore для защиты от случайного stow claude.
- check.sh дополнен проверками: ~/.claude — директория, settings.json — копия.
- Проверка:
- bash install.sh (на машине с симлинком — мигрирует, иначе — идемпотентно).
- bash agents/.agents/skills/dotfiles-check/check.sh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- статус git был засорен логами, базами данных, токенами и кэшами от локально работающих агентов (codex, gemini) и сервера VS Code, что затрудняло анализ реальных изменений.
- Что:
- в .gitignore добавлены правила для codex/.codex/, gemini/.gemini/ и vscode/.vscode-server/.
- добавлены исключения (!) для конфигурационных директорий и файлов (skills, policies, server-env-setup).
- Проверка:
- git status больше не показывает сотни неотслеживаемых локальных файлов.
- Зачем:
- навык не должен предлагаться AI-ассистентом автоматически при каждом изменении кода, так как это дорогостоящая и глубокая операция.
- Что:
- в описании (description) явно указано, что навык предназначен только для ручного вызова (Manual invocation only).
- обновлено поле description текстом "ONLY when explicitly requested by the user".
- Проверка:
- визуальная проверка agents/.agents/skills/differential-review/SKILL.md.