- Зачем:
- Claude Code перезаписывает settings.json при каждом «always allow», что создавало
конфликт с managed-копией из dotfiles при повторном запуске install.sh.
- Что:
- settings.json удалён из репозитория, Claude Code владеет им полностью.
- создан settings.local.json (базовые permissions + statusLine), деплоится через симлинк.
- install.sh: копирование + шаблон заменены на ln -sf с бэкапом и guard для edge cases.
- check.sh: проверка обновлена под симлинк вместо «файл + chmod 444».
- тесты: старый тест копирования заменён на 4 новых (симлинк, бэкап, директория, stow-миграция).
- Проверка:
- bash tests/test_install.sh (15 тестов).
- bash agents/.agents/skills/dotfiles-check/check.sh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- существует два проекта opencode, ссылка устраняет путаницу.
- Что:
- название Opencode в таблице AI-инструментов обёрнуто в ссылку на anomalyco/opencode.
- Проверка:
- открыть README.md, убедиться что ссылка ведёт на правильный репозиторий.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- winget install не обновляет PATH текущей сессии; без перезапуска
chezmoi не находит pwsh и запускает скрипты через PS 5.1.
- Что:
- добавлен комментарий между установкой пакетов и chezmoi apply.
- Проверка:
- визуальная проверка README.md
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>
- Зачем:
- нужно убрать 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`
- Зачем:
- старая команда в wsl.conf дублировала записи в /etc/hosts при каждом ребуте.
- настройка hproxy.local не была задокументирована в репозитории.
- Что:
- создан идемпотентный скрипт scripts/setup-hproxy.sh (sed + append).
- в install.sh добавлен интерактивный вопрос о подключении скрипта в wsl.conf.
- в README.md добавлена документация по настройке hproxy.local (NAT и Mirror).
- Проверка:
- cat /etc/wsl.conf, wsl --shutdown, getent hosts hproxy.local.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- нужен воспроизводимый способ установки на новую машину и защита от перезаписи tracked-файлов ИИ-инструментами.
- Что:
- добавлен install.sh: stow всех пакетов, создание settings.local.json, chmod 444 на settings.json, автопатч .bashrc.
- claude/settings.json разделён на базовый (permissions, statusLine) и локальный (model, effortLevel в settings.local.json).
- добавлен .concept-software.ru в NO_PROXY в server-env-setup и bash_functions.
- README переработан: install.sh как рекомендуемый способ, документация двухуровневых настроек Claude, Developer Mode hint, расширенное описание VS Code прокси.
- Проверка:
- git clone + ./install.sh на чистой машине.
- Зачем:
- требуется передавать переменные из ~/.env.secrets в окружение VS Code Server в WSL.
- Что:
- добавлен stow-пакет vscode с файлом ~/.vscode-server/server-env-setup.
- реализована загрузка ~/.env.secrets через source в режиме fail-open с warning в stderr.
- обновлен README: раздел VS Code (WSL), установка через stow/вручную, reconnect и обработка конфликтов.
- Проверка:
- bash -n vscode/.vscode-server/server-env-setup.
- stow -nvt ~ vscode.
- запуск скрипта с валидным, отсутствующим и битым ~/.env.secrets в изолированном HOME.
- Add .chezmoiroot to preserve stow structure
- Add .chezmoiignore to exclude Linux-only packages on Windows
- Add PowerShell scripts for path conversion and skills symlinks
- Update README with Windows installation instructions
- Tested: vim, agents, codex, claude, opencode configs work on Windows
Зачем: Claude загружает user skills из ~/.claude/skills и не видел общий каталог ~/.agents/skills.
Что: добавлен пакет claude с symlink ~/.claude/skills на общие skills, исправлен YAML frontmatter skill conventional-commits, обновлен README с новой схемой и stow командой.
Проверка: stow -nvv claude и проверка лога rg "Loaded 1 unique skills" /tmp/claude-skills-check-2.log.
Зачем: имя файла не отражало его содержимое (функции bash), что вводило в заблуждение.
Что: переименован файл, обновлены все ссылки в .bashrc, README.md, .env.example.
Проверка: ln -s dotfiles/bash/.bash_functions ~/.bash_functions, source ~/.bashrc, proxy_on.
Зачем: разделение публичных и приватных переменных окружения для безопасного хранения API ключей.
Что: создан шаблон .env.secrets.example, обновлен .bashrc для загрузки ~/.env.secrets, добавлено исключение в .gitignore, обновлена документация.
Проверка: cp bash/.env.secrets.example ~/.env.secrets, source ~/.bashrc, echo $CONTEXT7_API_KEY.
Зачем: настройка рабочего окружения для инструмента opencode с поддержкой conventional commits.
Что: созданы конфигурационные файлы, добавлен bashrc, gitignore, документация и skill для коммитов.
Проверка: git status, проверка наличия файлов в opencode/.config/.