Files
ssh-access-tui/CLAUDE.md
T
2026-07-23 11:29:25 +03:00

4.5 KiB
Raw Blame History

ssh-access-tui

Репозиторий содержит два независимых по toolchain'у, но связанных по смыслу проекта:

  1. ssh-access-tui (Go, корень репозитория) — консольный инструмент администрирования jump-хоста: заводит пользователей с проброс-портами без интерактивного шелла, генерирует зашифрованные .7z-архивы с ключом и конфигом для каждого пользователя.

    • Что это и зачем — README.md.
    • Модель угроз и обоснование архитектурных решений — docs/ARCHITECTURE.md.
    • Руководство администратора по экранам и сценариям — docs/ADMIN_GUIDE.md.
    • Структура кода: cmd/ — точка входа, internal/model — типы, internal/store — YAML-состояние в git, internal/sysadm — useradd/authorized_keys/sshd, internal/keymgr — генерация ключей и упаковка .7z-архивов ({login}_ssh_access.7z / {login}_config_update.7z, пароль общий на партию и передаётся получателям отдельно от письма), internal/audit — журнал подключений, internal/ui — bubbletea TUI.
  2. outlook-bulk-sender/ (C#/.NET, VSTO Outlook add-in) — надстройка для классического (Win32/C2R) Outlook, которая закрывает следующий шаг после ssh-access-tui: массовая рассылка сгенерированных .7z-архивов каждому получателю индивидуальным письмом (адрес выводится из имени файла: a-makarov → a.makarov@<домен>), с предпросмотром перед отправкой и логом отправленного.

    • Что это и как настроить — outlook-bulk-sender/README.md.
    • Как собрать/установить в Visual Studio (Windows-only) — outlook-bulk-sender/docs/BUILD.md.
    • BulkArchiveMailer.Core — вся логика без обращений к Outlook/COM (парсинг имён файлов, вывод email, шаблоны, дедуп-лог) — единственная часть, которую можно собрать и протестировать вне Windows (dotnet test). BulkArchiveMailer.AddIn — сам add-in (лента, формы, Outlook Interop) — требует Windows + Visual Studio + Outlook для сборки и проверки.

Версионирование

Формального VERSION-файла или CHANGELOG в репозитории нет — версии фиксируются в сообщениях коммитов (release vX.Y.Z), git-тегов пока не заводили. Если это меняется, отражайте здесь.

Субагенты этого репозитория

В .claude/agents/ заведены специализированные субагенты — используйте их вместо общей работы напрямую, когда задача попадает в их профиль:

  • go-developer — реализация и правки Go-кода ssh-access-tui (cmd/, internal/*).
  • go-tester — тесты для Go-кода (go test ./...), проверка регрессий.
  • dotnet-developer — реализация и правки C#/.NET-кода outlook-bulk-sender/ (Core и AddIn).
  • dotnet-tester — тесты BulkArchiveMailer.Core (dotnet test) и чек-лист ручной проверки AddIn-части, которую нельзя прогнать без Windows.
  • project-controller — сверяет версии/теги, архитектуру и документацию (README.md, docs/ARCHITECTURE.md, docs/ADMIN_GUIDE.md, CLAUDE.md, outlook-bulk-sender/README.md, outlook-bulk-sender/docs/BUILD.md) с фактическим состоянием кода и заявленным назначением обоих проектов; зовите его после значимых изменений или перед релизом/тегом.