SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/ Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue, контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер), Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог). Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0, тесты 1340/130/52/38/9 зелёные.
3.4 KiB
Task 2 — «Стандарты кода — .editorconfig, Directory.Build.props» — отчёт
Дата: 2026-09-05. План: docs/superpowers/plans/2026-09-05-deal-scaffold.md (Task 2, строки 90–167).
Что сделано
Step 1. Создан корневой .editorconfig (C:\telbase\.editorconfig) — содержимое 1-в-1
из плана (строки 102–139 внутри fence, 38 строк): root = true, базовые настройки ([*]),
[*.{cs,vb}], секция стиля фигурных скобок (Allman), using-директивы, явные модификаторы
доступа, отключение квалификации this., правила var, секция [*.cs] с
dotnet_diagnostic.IDE0290.severity = none.
Step 2. Создан src/core/Directory.Build.props — PropertyGroup из плана (строки 146–154)
1-в-1: TargetFramework net10.0, LangVersion latest, Nullable enable,
ImplicitUsings enable, TreatWarningsAsErrors true, AnalysisLevel latest,
EnforceCodeStyleInBuild true.
Step 3. Зафиксирован настоящий отчёт.
Не создано ничего сверх списка: задача ограничена двумя файлами. src/core/ пуст
(кроме нового props), код LeadRadar не тронут. Сборка не выполнялась (запрошено задачей;
проектов под src/core ещё нет — проверка в Task 3+).
Рeшение контроллера (применено)
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0" ...>
(план, строки 156–161) полностью опущен: SDK .NET 10 (10.0.400) уже включает
встроенные analyzers той же версии; явная ссылка не нужна. Остальные элементы props
совпадают с планом без изменений.
Проверки
- Оба файла существуют: чтение
.editorconfig(38 строк) иDirectory.Build.props(11 строк). .editorconfigсверен построчно с планом (строки 102–139) — идентичен, включая пустые строки и русские комментарии.Directory.Build.propsсверен с планом (строки 145–154) — идентичен; ItemGroup отсутствует; наличиеPackageReferenceв файле не подтверждается (grep-проверка не нужна — содержимое прочитано целиком).ls src/core/→ содержит толькоDirectory.Build.props.
Опасения / Concerns
- Нет. Правило
EnforceCodeStyleInBuild+TreatWarningsAsErrorsначнёт действовать после создания проектов (Task 3) — тогда же и проверка сборки. - Проект не git-репозиторий: коммитов нет, изменения зафиксированы настоящим отчётом.
Статус задачи
DONE (все шаги 1–3 выполнены и проверены; отклонений от плана нет, кроме предписанного контроллером исключения PackageReference).