Commit Graph
54 Commits
Author SHA1 Message Date
ddadminandClaude Opus 4.6 21a6494cc4 fix(chezmoi): кириллица в PS-скриптах ломала парсер на Windows
- Зачем:
  - PS 5.1 читает UTF-8 без BOM как системную кодовую страницу;
    байт 0x91 из «Бэкап» интерпретировался как кавычка, ломая парсер.
- Что:
  - заменена кириллица в Write-Host/Write-Warning на английский текст
    в run_20-configure-windows-terminal.ps1 и run_before_10-migrate-gitconfig.ps1.
  - комментарии на русском оставлены (парсер их не обрабатывает).
- Проверка:
  - chezmoi -S "$HOME\dotfiles\chezmoi" apply (на Windows)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:11:32 +03:00
ddadminandClaude Opus 4.6 8567b2262c refactor(install): причёсан стиль и структура install.sh
- Зачем:
  - скрипт, написанный Codex, отличался по стилю от остального репозитория,
    трудно читался из-за вложенных условий и отсутствия визуальной структуры.
- Что:
  - добавлены секционные заголовки в стиле profile.ps1 (# ── Name ──────).
  - извлечён ask_yes_no() — убрано дублирование промптов.
  - WSL-логика вынесена в setup_wsl_hproxy() с flat early returns.
  - миграция stow-симлинка вынесена в migrate_claude_stow_symlink().
  - добавлены однострочные комментарии к хелперам и нетривиальным веткам.
- Проверка:
  - bash tests/test_install.sh
  - ./install.sh (идемпотентный повторный прогон)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:03:12 +03:00
ddadminandClaude Opus 4.6 877dd6cc4d chore(agents): удалён скилл differential-review
- Зачем:
  - скилл ухудшал работу Codex при ревью, добавляя избыточный контекст.
- Что:
  - удалены 5 файлов из agents/.agents/skills/differential-review/.
  - через симлинки скилл автоматически пропал из Claude и Opencode.
- Проверка:
  - grep -r differential-review agents/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:47:30 +03:00
ddadminandClaude Opus 4.6 898db1098d refactor(wsl): унифицирована логика hproxy.local и добавлена миграция legacy boot command
- Зачем:
  - setup-hproxy.sh удалял запись из hosts до проверки gateway — при ошибке hosts ломался.
  - update_hproxy() дублировала логику скрипта с багами и не тестировалась.
  - legacy inline boot command в wsl.conf не мигрировался автоматически.
- Что:
  - setup-hproxy.sh: безопасный порядок (gateway → hosts), set -e, экранированная точка в sed.
  - update_hproxy() заменена на thin wrapper с проверкой wsl.conf и ошибок sudo.
  - install.sh: интерактивная замена legacy boot command, детекция существующих [boot] command,
    принимает русскую «у» наравне с «y».
  - README.md: описаны три сценария (WSL NAT, WSL mirrored — host-side resolution, native Linux).
  - добавлены тесты: existing boot command preserved, legacy command migration hint.
- Проверка:
  - bash tests/test_install.sh
  - ./install.sh (интерактивно, ответить «y» на миграцию legacy command)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:42:50 +03:00
Dmitry DementievandClaude Opus 4.6 1963b6a117 refactor(windows): причёсан стиль chezmoi-скриптов и pwsh-профиля
- Зачем:
  - код 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>
2026-03-22 17:59:59 +03:00
Dmitry DementievandClaude Opus 4.6 c06ad1ecbb fix(windows): WT-скрипт использует source вместо commandline для PS7
- Зачем:
  - на машине без pwsh в стандартном PATH профиль с `commandline = 'pwsh.exe'` ломался, потому что WT игнорировал динамический `source` в пользу явного `commandline`.
- Что:
  - PS7 профиль теперь управляется через `source = Windows.Terminal.PowershellCore`, `commandline` удаляется.
  - добавлена проверка `Test-PowerShell7Available`: если pwsh не найден, профиль не создаётся.
  - добавлена `Remove-JsonPropertyValue` для идемпотентного удаления свойств.
  - magic string вынесен в константу `$PowerShellSource`.
- Проверка:
  - `chezmoi -S "$HOME\dotfiles\chezmoi" apply --dry-run --verbose`.
  - `pwsh -NoProfile -Command "(Get-Content (Join-Path $env:LOCALAPPDATA 'Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json') -Raw | ConvertFrom-Json).profiles.list | Where-Object {$_.source -eq 'Windows.Terminal.PowershellCore'} | ConvertTo-Json"`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 17:41:37 +03:00
Dmitry DementievandClaude Opus 4.6 d8768a1642 docs: переписан README по принципу «платформа → действие → справочник»
- Зачем:
  - 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>
2026-03-22 17:32:42 +03:00
Dmitry DementievandClaude Opus 4.6 4331b0c02c chore: нормализация line endings и удаление __pycache__
- .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>
2026-03-22 17:19:28 +03:00
Dmitry Dementiev f9083af8b2 fix(windows): исправлены LF и совместимость chezmoi с PS 5.1
- Зачем:
  - нужно убрать 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`.
2026-03-22 17:12:59 +03:00
Dmitry Dementiev 9b66fc70fc feat(windows): добавлены proxy-хелперы и упрощен git baseline
- Зачем:
  - нужно перенести привычные 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`
2026-03-22 15:58:10 +03:00
Dmitry Dementiev 8fd5b9c630 feat(windows): добавлен chezmoi-слой для pwsh, terminal и git
- Зачем:
  - нужно перенести стабильную 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`
2026-03-22 15:45:08 +03:00
ddadmin 22d38f80e5 fix(install): устранены конфликты stow в WSL и opencode
- Зачем:
  - нужно было убрать падение install.sh на абсолютных WSL-симлинках и существующей runtime-директории opencode.
- Что:
  - убран `--restow` из вызова stow, чтобы install не падал на ссылках `~/.aws` и `~/.azure`.
  - настройка `~/.config/opencode` переведена на ручную установку с backup существующего `opencode.json` и сохранением runtime-файлов.
  - в tests/test_install.sh добавлены сценарии для WSL-симлинков и существующей директории opencode.
- Проверка:
  - bash -n install.sh
  - bash -n tests/test_install.sh
  - ./tests/test_install.sh
2026-03-22 01:37:54 +03:00
ddadmin edeb8da3c2 fix(install): исправлена установка dotfiles и добавлены тесты
- Зачем:
  - нужно было убрать баги install.sh и сделать регрессии воспроизводимыми.
- Что:
  - исправлена установка через stow в HOME, миграция ~/.claude и копирование settings.json без разрушения рабочей директории.
  - стабилизирована WSL-логика через проверки интерактивности и защиту от дублирования boot command.
  - добавлен tests/test_install.sh с regression-сценариями для install.sh.
- Проверка:
  - bash -n install.sh
  - bash -n tests/test_install.sh
  - ./tests/test_install.sh
2026-03-22 01:21:56 +03:00
Dmitry DementievandClaude Opus 4.6 e00611015a fix(claude): settings.json копируется вместо симлинка через stow
- Зачем:
  - 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>
2026-03-18 15:01:34 +03:00
Dmitry Dementiev 769ef95096 chore(git): добавлено игнорирование локальных файлов ассистентов и vscode
- Зачем:
  - статус git был засорен логами, базами данных, токенами и кэшами от локально работающих агентов (codex, gemini) и сервера VS Code, что затрудняло анализ реальных изменений.
- Что:
  - в .gitignore добавлены правила для codex/.codex/, gemini/.gemini/ и vscode/.vscode-server/.
  - добавлены исключения (!) для конфигурационных директорий и файлов (skills, policies, server-env-setup).
- Проверка:
  - git status больше не показывает сотни неотслеживаемых локальных файлов.
2026-03-18 14:38:58 +03:00
Dmitry Dementiev 44c9510af2 docs(skills): ограничена область применения differential-review
- Зачем:
  - навык не должен предлагаться AI-ассистентом автоматически при каждом изменении кода, так как это дорогостоящая и глубокая операция.
- Что:
  - в описании (description) явно указано, что навык предназначен только для ручного вызова (Manual invocation only).
  - обновлено поле description текстом "ONLY when explicitly requested by the user".
- Проверка:
  - визуальная проверка agents/.agents/skills/differential-review/SKILL.md.
2026-03-18 14:35:47 +03:00
ddadminandClaude Opus 4.6 98484ad220 feat(wsl): добавлен boot-скрипт для автоматического резолва hproxy.local
- Зачем:
  - старая команда в 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>
2026-03-18 11:11:03 +03:00
ddadmin 5eafb99639 feat(agents): добавлены скиллы для ревью, GitHub, диагностики и менторинга
- Зачем:
  - расширить набор переиспользуемых скиллов для повседневных задач: ревью PR, работа с GitHub, проверка dotfiles, диагностика сети, ревью кода менти.
- Что:
  - добавлен differential-review (Trail of Bits) — security-focused ревью PR.
  - добавлен github (Callstack) — workflow через gh CLI, stacked PRs.
  - создан dotfiles-check — bash-скрипт проверки целостности stow-симлинков.
  - создан proxy-debug — диагностика сети и прокси hproxy.local.
  - создан review-homework — ревью кода менти в обучающем формате.
- Проверка:
  - bash ~/.agents/skills/dotfiles-check/check.sh ~/dotfiles
2026-03-14 13:40:19 +03:00
ddadmin 984db1b6d7 feat(dotfiles): улучшена установка и управление конфигурацией
- Зачем:
  - нужен воспроизводимый способ установки на новую машину и защита от перезаписи 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 на чистой машине.
2026-03-14 11:31:10 +03:00
ddadmin 0009270c6e feat(agents): добавлены skills для PDF, docs, slides, jupyter и spreadsheet
- Зачем:
  - расширены возможности AI-ассистентов для работы с документами и презентациями
- Что:
  - добавлен skill pdf для работы с PDF файлами
  - добавлен skill doc для работы с Word документами
  - добавлен skill slides для создания презентаций PowerPoint
  - добавлен skill jupyter-notebook для работы с Jupyter ноутбуками
  - добавлен skill spreadsheet для работы с таблицами (Excel/CSV)
  - изменена модель Claude с sonnet на opus
- Проверка:
  - проверка доступности skills в AI-ассистентах
2026-03-13 23:35:45 +03:00
ddadmin bd06d5734c docs(root): добавлен AGENTS.md с описанием структуры проекта и правил для ИИ
- Зачем:
  - предоставить ИИ-агентам контекст по структуре репозитория (Bash, Tmux, Vim, VS Code, AI skills) и принятым в нем стандартам.
- Что:
  - создан файл `AGENTS.md` с описанием ключевых компонентов, способов развертывания (`stow`/`chezmoi`) и правил взаимодействия с Git.
- Проверка:
  - файл успешно добавлен в репозиторий и доступен для чтения агентами.
2026-03-11 15:16:19 +03:00
ddadmin 14b14596ec feat(gemini): добавлены git-команды в список разрешенных политик
- Зачем:
  - позволить агенту выполнять базовые операции анализа репозитория без лишних подтверждений.
- Что:
  - в `readonly-commands.toml` добавлены правила `allow` для `git status`, `git diff` и `git add`.
- Проверка:
  - запуск `git status` не должен вызывать диалог подтверждения (если политики применены).
2026-03-11 15:15:35 +03:00
ddadmin 1909d476b9 fix(claude): исправлен захардкоженный путь и модель в settings.json
- Зачем:
  - путь /home/dementev/ не работал на других машинах; модель была устаревшей.
- Что:
  - команда statusline переведена на переносимый путь ~/.claude/statusline-command.sh.
  - модель изменена с opus на sonnet.
- Проверка:
  - stow claude && claude — статусбар должен отображаться корректно.
2026-03-11 13:08:31 +03:00
ddadmin da3467b189 feat(gemini): расширен список разрешенных команд и разрешена автоактивация навыков
- Зачем:
  - ускорение работы агента за счет уменьшения количества запросов на подтверждение безопасных операций.
- Что:
  - в `readonly-commands.toml` добавлены разрешения для утилит: `getent`, `ip`, `which`, `command -v`, `stat`, `realpath`, `readlink`, `sort`, `uniq`, `wc`.
  - разрешена автоматическая активация навыков (`activate_skill`).
- Проверка:
  - выполнение команд из списка без появления диалога подтверждения.
2026-03-11 10:44:22 +03:00
ddadmin c4484b8ce3 feat(vscode): добавлена автоматическая настройка прокси в WSL
- Зачем:
  - обеспечить корректную работу расширений VS Code через прокси-сервер без ручной правки переменных окружения.
- Что:
  - обновлен скрипт `server-env-setup`: добавлена проверка доступности `hproxy.local` через `getent`.
  - реализован автоматический экспорт переменных `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` и `NO_PROXY` (в обоих регистрах).
  - комментарии в скрипте переведены на русский язык.
  - в политики Gemini (`readonly-commands.toml`) добавлены разрешения для команд `ls`, `echo` и `[`.
- Проверка:
  - запуск `env | grep -i proxy` в терминале VS Code после перезагрузки окна.
2026-03-11 10:41:35 +03:00
ddadmin 2cefb484f6 refactor(claude): реорганизована структура файла settings.json
- Зачем:
  - улучшена читаемость конфигурации за счет логического упорядочивания полей.
- Что:
  - поля model, statusLine и effortLevel перемещены в конец файла.
  - удалены лишние пустые строки между элементами массива permissions.allow.
- Проверка:
  - git diff HEAD~1 -- claude/.claude/settings.json.
2026-03-10 22:55:25 +03:00
ddadmin 328f70f16c feat(claude): добавлена глобальная конфигурация разрешений
- Зачем:
  - сократить количество запросов подтверждения при рутинных операциях
    (чтение файлов, git status/log/diff, docker ps/logs, сборка/тесты).
- Что:
  - создан claude/.claude/settings.json с секцией permissions.allow —
    авторазрешены безопасные bash-команды: чтение файлов, текстовая
    обработка, git read-only + git add, docker read-only, curl/wget,
    файловые операции (mkdir/cp/mv/touch), dev-инструменты (npm/bun/go/...).
  - опасные операции (git commit/push/rm/docker stop) остаются на запрос.
  - обновлён .gitignore stow-пакета: settings.json добавлен в исключения.
- Проверка:
  - cat ~/.claude/settings.json — должен быть симлинк на файл в dotfiles.
  - ls -la ~/.claude/settings.json — проверить, что это symlink.
2026-03-10 22:03:08 +03:00
ddadmin 063736fed5 fix(gemini): перемещены политики в поддиректорию policies для корректной работы
- Зачем:
  - Gemini CLI ожидает конфигурационные файлы политик в ~/.gemini/policies/.
- Что:
  - файлы builtin-readonly.toml и readonly-commands.toml перенесены в новую директорию policies.
- Проверка:
  - проверка структуры директорий ~/.gemini/policies/.
2026-03-10 16:09:43 +03:00
ddadmin d6483850cd chore(opencode): очищен конфиг opencode.json от комментариев
- Зачем:
  - конфигурационный файл содержит лишние комментарии, которые можно удалить.
- Что:
  - удалены комментарии с пояснениями в opencode.json.
  - удалены лишние пустые строки для компактности.
  - добавлен перевод строки в конце файла.
- Проверка:
  - валидация JSON: cat opencode/.config/opencode/opencode.json | jq empty.
2026-03-10 15:39:31 +03:00
ddadmin ff11dee4a1 docs(skill): уточнено описание способа B в инструкции conventional-commits
- Зачем:
  - сделать текст более понятным и акцентировать внимание на поведении в Gemini.
- Что:
  - переформулировано примечание для Gemini в описании способа B.
- Проверка:
  - просмотр изменений через git diff.
2026-03-10 15:20:35 +03:00
ddadmin 82a54d0541 feat(opencode): добавлены безопасные агенты и настройки разрешений
- Зачем:
  - необходим дополнительный уровень безопасности для предотвращения случайных изменений в репозитории
- Что:
  - создан агент safe-plan для безопасного планирования (read-only)
  - создан агент safe-build с защищенным доступом к shell
  - установлен default_agent: "safe-plan"
  - обновлены глобальные permissions: все операции требуют подтверждения, git push запрещен
  - добавлен share: "manual"
- Проверка:
  - проверка конфигурации через OpenCode UI
2026-03-08 22:49:42 +03:00
ddadmin d357e743fa feat(vscode): добавлен server-env-setup для WSL и загрузки секретов
- Зачем:
  - требуется передавать переменные из ~/.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.
2026-03-06 20:28:13 +03:00
ddadmin 245b69d992 chore(opencode): отключены MCP серверы web-reader, web-search-prime, zread
- Зачем:
  - отключение неиспользуемых MCP серверов для оптимизации конфигурации.
- Что:
  - добавлено поле enabled: false для web-reader.
  - добавлено поле enabled: false для web-search-prime.
  - добавлено поле enabled: false для zread.
- Проверка:
  - проверка конфигурации opencode.
2026-03-04 21:48:37 +03:00
ddadmin 0907e0f31e chore(gemini): обновлена конфигурация из JSON в TOML
- Зачем:
  - формат TOML более читабелен и удобен для редактирования.
- Что:
  - удалён файл settings.json.
  - добавлен builtin-readonly.toml.
  - добавлен readonly-commands.toml.
- Проверка:
  - проверка структуры новой конфигурации.
2026-03-04 21:43:33 +03:00
ddadmin efd8bccba7 chore(opencode): удалена символическая ссылка на skills
- Зачем:
  - рефакторинг структуры директорий проекта.
- Что:
  - удалена символическая ссылка opencode/.config/opencode/skills.
- Проверка:
  - проверка отсутствия ссылки и обновлённого статуса git.
2026-03-04 21:29:18 +03:00
ddadmin 07ec5a3830 docs(skills): добавлены варианты коммита для совместимости Gemini
- Зачем:
  - Heredoc может ломать некоторых агентов (например Gemini), нужен фолбэк.
- Что:
  - добавлены 3 способа выполнения git commit (Heredoc / tmp-файл / stdin одной командой).
  - уточнены правила переносов строк и запрета -m.
- Проверка:
  - git diff --cached -- agents/.agents/skills/conventional-commits/SKILL.md
2026-03-01 20:42:53 +03:00
ddadmin 6cac374180 config(opencode): обновлены настройки разрешений и MCP-серверов
- Зачем:
  - упрощение правил разрешений и отключение неиспользуемого MCP-сервера.
- Что:
  - удалено правило "*" с режимом ask из секции permission.
  - отключен MCP-сервер playwright (enabled: false).
- Проверка:
  - проверка файла opencode/.config/opencode/opencode.json.
2026-02-28 19:52:34 +03:00
ddadmin 08873ebbe2 config(opencode): добавлены настройки разрешений для git-команд
- Зачем:
  - требуется контроль выполнения опасных git-операций (commit, branch, switch).
- Что:
  - добавлена секция permission в конфигурацию OpenCode.
  - настроен режим ask для git commit, git commit --amend, git branch, git switch.
  - разрешены все остальные git-команды.
- Проверка:
  - проверка файла opencode/.config/opencode/opencode.json.
2026-02-28 18:08:07 +03:00
ddadmin 71a44da9b1 fix(claude): добавлен .gitignore для исключения runtime-файлов
- Зачем:
  - runtime-файлы Claude Code (cache, credentials, history) попадали в Git через симлинк Stow.
- Что:
  - создан файл claude/.claude/.gitignore с исключением всех файлов кроме skills и .gitignore.
  - создан симлинк claude/.claude/skills → agents/.agents/skills.
- Проверка:
  - git status показывает только claude/.claude/.gitignore как untracked.
2026-02-28 14:20:04 +03:00
ddadmin 5f736667ad docs(agents): добавлены правила amend в инструкцию conventional-commits
- Зачем:
  - необходимость корректной обработки amend-операций при коммитах.
- Что:
  - добавлен шаг чтения текущего сообщения коммита перед amend.
  - добавлен раздел "Специфические правила для Amend" с детальными инструкциями.
  - добавлен пример 4 с логикой amend.
- Проверка:
  - git log -1 --pretty=%B для проверки формата сообщения.
2026-02-28 14:03:07 +03:00
ddadmin 6d5ac4fb57 Add Windows support via chezmoi
- 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
2026-02-28 00:20:30 +03:00
ddadmin 39d1d8636e refactor(wsl): добавлена поддержка режима Mirror для WSL2
- Зачем:
  - новый режим networkingMode=mirror в WSL2 требует другого подхода к определению IP-адреса хоста.
- Что:
  - добавлено определение режима WSL через проверку .wslconfig.
  - при режиме mirror IP берется из Windows hosts файла.
  - при режиме NAT IP вычисляется через маршрут по умолчанию.
  - добавлена очистка символов \r при чтении Windows файлов.
  - улучшены информативные сообщения для пользователя.
- Проверка:
  - вызов функции update_hproxy в обоих режимах WSL2.
2026-02-24 10:29:49 +03:00
ddadmin f865bea0ee feat(wsl): добавлена функция update_hproxy для обновления IP хоста
- Зачем:
  - необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети.
- Что:
  - добавлена функция update_hproxy в bash/.bash_functions.
  - функция получает IP хоста через ip route.
  - обновляет запись hproxy.local в /etc/hosts.
- Проверка:
  - выполнить update_hproxy и проверить /etc/hosts.
2026-02-24 09:28:31 +03:00
ddadmin f34e638084 docs(skills): обновлен шаблон conventional-commits под markdown-список
- Зачем:
  - привести формат commit body к виду, который используется в репозитории и ожидается в UI.
- Что:
  - заменен плоский шаблон `Зачем/Что/Проверка` на markdown-список с подпунктами.
  - добавлены явные требования к структуре тела коммита и количеству пунктов.
  - обновлены примеры и heredoc-шаблон под новый формат.
- Проверка:
  - git log -1 --pretty=format:'%s%n%n%b'.
  - проверить, что секции выводятся как list в UI.
2026-02-21 21:12:44 +03:00
ddadmin 410e543ade fix(bash): закомментирована изоляция git от proxy
- Зачем:
  - функция git с очисткой переменных прокси больше не нужна и усложняет поведение shell.
- Что:
  - закомментирован блок функции git() в bash-конфигурации.
  - отключена принудительная очистка HTTP_PROXY/HTTPS_PROXY/ALL_PROXY для вызовов git.
- Проверка:
  - source ~/.bashrc.
  - type git.
2026-02-21 21:11:37 +03:00
ddadmin d23c69ba6f fix(claude): добавлена загрузка общих skills через bridge
Зачем: 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.
2026-02-21 19:28:38 +03:00
ddadmin 7cd55ac988 refactor(dotfiles): унифицированы skills и упрощен bash_custom
Зачем: убрать дублирование skills между агентами и сократить кастомный bash слой до реально необходимых настроек.
Что: skill conventional-commits перенесен в agents/.agents/skills, добавлены symlink-bridge пакеты для opencode и codex, обновлен README, очищен bash/.bash_custom от дублирования с системным ~/.bashrc, добавлены базовые zed settings/keymap файлы.
Проверка: stow -nvv bash agents opencode codex zed и bash -n bash/.bash_custom.
2026-02-21 19:22:10 +03:00
ddadmin c94bcc19de refactor(bash): реорганизована структура bash-конфигурации
Зачем: улучшение читаемости и модульности конфигурации bash.
Что: удалён монолитный .bashrc, создан модульный .bash_custom с секциями (настройки, PATH, алиасы, функции, модули), добавлена функция git для изоляции от прокси, оптимизирован порядок загрузки модулей.
Проверка: source ~/.bash_custom, проверить git, алиасы (ll, la), prompt.
2026-02-21 18:53:53 +03:00
ddadmin 1ee049db4a feat(bash): добавлен кастомный двухстрочный prompt
Зачем: улучшение визуального опыта работы в терминале с отображением git-ветки, venv и статуса последней команды.
Что: создан файл .bash_prompt с цветным двухстрочным prompt, индикацией git-ветки, активного venv и статуса exit code.
Проверка: source ~/.bashrc, проверить отображение в git-репозитории и с активированным venv.
2026-02-21 18:47:49 +03:00
ddadmin 30ba8b6ac6 refactor(bash): переименован .custom_env в .bash_functions
Зачем: имя файла не отражало его содержимое (функции bash), что вводило в заблуждение.
Что: переименован файл, обновлены все ссылки в .bashrc, README.md, .env.example.
Проверка: ln -s dotfiles/bash/.bash_functions ~/.bash_functions, source ~/.bashrc, proxy_on.
2026-02-21 18:43:42 +03:00