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

62 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ssh-access-tui
Репозиторий содержит два независимых по toolchain'у, но связанных по смыслу
проекта:
1. **`ssh-access-tui`** (Go, корень репозитория) — консольный инструмент
администрирования jump-хоста: заводит пользователей с проброс-портами без
интерактивного шелла, генерирует зашифрованные `.7z`-архивы с ключом и
конфигом для каждого пользователя.
- Что это и зачем — [README.md](README.md).
- Модель угроз и обоснование архитектурных решений —
[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
- Руководство администратора по экранам и сценариям —
[docs/ADMIN_GUIDE.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`) с
фактическим состоянием кода и заявленным назначением обоих проектов;
зовите его после значимых изменений или перед релизом/тегом.