Commit Graph
64 Commits
Author SHA1 Message Date
Dmitry DementievandClaude Opus 4.6 b6b501dc77 fix(docker): изменён порт SearXNG на безопасный диапазон
- Зачем:
  - порт 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>
2026-03-30 10:09:42 +03:00
ddadminandClaude Opus 4.6 77adaad441 chore(skills): добавлены скиллы docstring и security-audit
- Зачем:
  - напоминание моделям про Google-style docstring'ы и Ruff-конфиг.
  - чеклист безопасности для ревью кода и зависимостей.
- Что:
  - добавлен docstring (DeerHide): вычищены мёртвые ссылки, добавлен Ruff select, правило языка проекта.
  - добавлен security-audit: чеклист OWASP, severity-уровни, формат отчёта.
  - убраны test-generator (Node.js стек) и api-docs (избыточен).
- Проверка:
  - ls agents/.agents/skills/{docstring,security-audit}/SKILL.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 19:44:37 +03:00
ddadminandClaude Opus 4.6 168b40ddd7 feat(docker): добавлен локальный SearXNG для веб-поиска из opencode
- Зачем:
  - модели в opencode не имели доступа к поиску без платных API.
- Что:
  - добавлен docker-compose для SearXNG (localhost:57458, без valkey).
  - секрет подставляется из .env через generate-config.sh при старте.
  - добавлен MCP-сервер searxng в конфиг opencode.
  - env_file с fallback: .env.sample работает из коробки, .env опционален.
- Проверка:
  - cd docker/searxng && docker compose up -d.
  - curl http://localhost:57458/search?q=test&format=json.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 19:09:41 +03:00
ddadminandClaude Opus 4.6 d3a91bea95 fix(opencode): заменён DuckDuckGo MCP с npx/bun на uvx
- Зачем:
  - duckduckgo-mcp (npx) требует bun, которого нет в системе.
- Что:
  - убран websearch из permissions (инструмент не существует в opencode).
  - команда заменена на uvx duckduckgo-mcp-server (Python, работает без bun).
- Проверка:
  - перезапустить opencode, убедиться что инструменты duckduckgo доступны.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:11:22 +03:00
ddadminandClaude Opus 4.6 1b675ab34a feat(opencode): включён встроенный websearch в permissions
- Зачем:
  - доступ к поиску в интернете для моделей без внешних MCP-серверов.
- Что:
  - добавлен "websearch": "ask" в секцию permission.
- Проверка:
  - открыть opencode, убедиться что websearch доступен как инструмент.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:42:29 +03:00
ddadminandClaude Opus 4.6 35b49e697d docs(readme): добавлена ссылка на репозиторий Opencode
- Зачем:
  - существует два проекта opencode, ссылка устраняет путаницу.
- Что:
  - название Opencode в таблице AI-инструментов обёрнуто в ссылку на anomalyco/opencode.
- Проверка:
  - открыть README.md, убедиться что ссылка ведёт на правильный репозиторий.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:21:59 +03:00
ddadminandClaude Opus 4.6 ffc794a219 feat(opencode): добавлен провайдер GLM-5.1 (Coding Plan) и TODO.md
- Зачем:
  - подключение модели glm-5.1 через подписку GLM Coding Plan Lite.
- Что:
  - добавлен кастомный провайдер zai с OpenAI-compatible адаптером.
  - создан TODO.md с планом миграции на config.d + stow (anomalyco/opencode#9062).
- Проверка:
  - открыть opencode, выполнить /models, убедиться что zai/glm-5.1 доступен.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:17:01 +03:00
ddadmin 9ce545d0bd chore(zed): добавлена конфигурация прокси для AI агентов
- Зачем:
  - требуется обеспечение работы Claude, Codex и Gemini через корпоративный прокси.
- Что:
  - добавлен глобальный параметр proxy.
  - настроены переменные окружения для claude-acp, codex-acp и gemini.
  - определены исключения для локальных адресов в NO_PROXY.
- Проверка:
  - запуск Zed с проверкой подключения к AI агентам.
2026-03-27 23:42:13 +03:00
ddadminandClaude Opus 4.6 cb0d09370a docs: добавлено предупреждение о перезапуске терминала в Windows quickstart
- Зачем:
  - winget install не обновляет PATH текущей сессии; без перезапуска
    chezmoi не находит pwsh и запускает скрипты через PS 5.1.
- Что:
  - добавлен комментарий между установкой пакетов и chezmoi apply.
- Проверка:
  - визуальная проверка README.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:19:31 +03:00
ddadminandClaude Opus 4.6 6c183356aa fix(chezmoi): utf8BOM не поддерживается в PS 5.1
- Зачем:
  - chezmoi запускает скрипт через PS 5.1, где допустимы только
    UTF8/Unicode/ASCII и т.д., но не utf8BOM (появился в PS 7).
- Что:
  - заменено -Encoding utf8BOM на -Encoding UTF8 (в PS 5.1 пишет с BOM).
- Проверка:
  - chezmoi -S "$HOME\dotfiles\chezmoi" apply (на Windows с PS 5.1)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 20:13:52 +03:00
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