# C#/.NET Janitor

Субагент наводит порядок в проектах на C# и .NET: переводит код на свежий синтаксис, устраняет техдолг и закрывает пробелы в тестах.

- субагент · `type=agent` · GitHub Copilot · ★ 40418
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/agents/csharp-dotnet-janitor.agent.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/agents/cnet-janitor

## Что делает

Субагент автоматизирует рутинную чистку кодовой базы .NET. Сначала он проверяет проект на предупреждения компилятора, затем ищет устаревший синтаксис, пробелы в тестах и узкие места производительности. Агент внедряет первичные конструкторы, выражения коллекций, сопоставление с образцом и `Span<T>`, попутно заменяя устаревшие API и упрощая цепочки LINQ.

Для проверки рекомендаций инструмент обращается к серверу `microsoft.docs.mcp`, сверяя правила работы с `async`/`await` и допустимость ссылочных типов с официальной документацией Microsoft. Правки вносятся небольшими порциями. После каждого шага агент запускает тесты через команды терминала.

Без настроенного тестового набора агент теряет возможность проверять правки после каждого шага. В правилах выполнения заложен обязательный запуск тестов при любом вмешательстве, поэтому в проектах без автоматических тестов субагент может совершить опасные рефакторинги.

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/agents/csharp-dotnet-janitor.agent.md`

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/agents/csharp-dotnet-janitor.md` — Для всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию. Поле tools у Copilot перечисляет инструменты по-своему — уберите его или перепишите под Claude Code

### Codex

**Вручную: положить файлы**
- Файл: `.codex/agents/csharp-dotnet-janitor.toml` — Codex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/agents/csharp-dotnet-janitor.md` — Cursor понимает и .claude/agents/

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/agents/csharp-dotnet-janitor.agent.md

## Когда брать
- перевести кодовую базу на современные конструкции C# вроде выражений коллекций и первичных конструкторов
- очистить файлы от неиспользуемых директив using, переменных и предупреждений компилятора
- оптимизировать расход памяти с помощью Span<T> и StringBuilder
- добавить модульные тесты по шаблону AAA с библиотекой FluentAssertions
- дополнить открытые интерфейсы комментариями XML-документации

## Примеры запросов агенту
- Примени современные конструкции C# и первичные конструкторы ко всем моделям в проекте.
- Найди неиспользуемые директивы using и исправь предупреждения компилятора в этом репозитории.
- Добавь юнит-тесты на FluentAssertions для открытых методов сервиса заказов.

## Похожие
- [code-reviewer](https://affpapa.org/nevibecode/agents/anthropic-code-reviewer.md) — субагент · 31050 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/code-reviewer.md) — субагент · 31050 установок
- [security-auditor](https://affpapa.org/nevibecode/agents/security-auditor.md) — субагент · 10718 установок
- [test-engineer](https://affpapa.org/nevibecode/agents/test-engineer.md) — субагент · 9715 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/voltagent-community-code-reviewer.md) — субагент · 31050 установок
- [debugger](https://affpapa.org/nevibecode/agents/debugger.md) — субагент · 13459 установок

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 770 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
