uncomment — плагин
Плагин учит агента чистить комментарии в коде по синтаксическому дереву и проверять теги TODO на ключ задачи.
- 141 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Обычный запуск удаляет комментарии из файлов проекта, поэтому сначала нужен `--dry-run` и ветка под git.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/uncommentОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Обычный запуск удаляет комментарии из файлов проекта, поэтому сначала нужен `--dry-run` и ветка под git.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Плагин uncomment обучает агента работе с CLI `uncomment`. Тот находит комментарии по синтаксическому дереву tree-sitter, поэтому не трогает похожий на комментарий текст внутри строк. Команда `uncomment scan` строит опись комментариев, `uncomment keep` ставит метку `~keep` на те, что должны остаться, а `uncomment lint` проверяет теги `TODO`, `FIXME`, `HACK` и `XXX` на ключ задачи. Перед удалением агент смотрит план через `--dry-run --diff`. Режим `--check` завершается ненулевым кодом, если комментарий подлежит удалению, и гейтит коммит или пул-реквест без записи в файлы. Сам CLI ставят отдельно: плагин содержит инструкции, MCP-сервера в нем нет.
Для кого. Разработчикам, которые после генерации кода агентом хотят убрать лишние пояснения и сохранить рабочие пометки.
Подходит, если
- Агент снабдил комментарием каждую строку, а `TODO` и документацию надо сохранить.
- В репозитории накопились `TODO` без номера задачи, и нужен их список.
- Ветка не должна проходить проверку, пока в измененных строках остаются комментарии под удаление.
- Проект написан на редком языке: tree-sitter знает 306 грамматик.
Не подходит, если
- Комментарии отбирают вручную по смыслу: инструмент действует по правилам сохранения, а не по оценке полезности.
- Требуется удалить мертвый код или минифицировать файлы: `uncomment` трогает только комментарии.
- CLI не установлен и ставить его нельзя: плагин содержит лишь инструкции.
Пример запроса к агенту
Покажи, какие комментарии в `src/` будут удалены, ничего не записывая, и оставь те, что объясняют обходные решения.Ограничения
Плагин не включает CLI: `uncomment` ставят отдельно, навык рассчитан на версию 3.10 и новее. Обычный запуск `uncomment src/` записывает изменения в файлы, поэтому сначала смотрите `--dry-run` и работайте в ветке под git. По умолчанию сохраняются `TODO`, `FIXME`, документация и директивы линтеров; комментарии документации и докстринги удаляются только с `--remove-doc`. Команды marketplace описаны для Claude Code и Codex, для остальных агентов смотрите `plugin/README.md` в репозитории.
Как отключить. Удалите плагин средствами своего агента, CLI удалите тем менеджером пакетов, которым ставили. Метки `~keep` в коде останутся обычными комментариями.
Частые вопросы
Чем uncomment надежнее регулярных выражений?
Он разбирает код в синтаксическое дерево и удаляет только узлы-комментарии. Символы `//` внутри строки и адрес в докстринге остаются на месте.
Что остается после запуска по умолчанию?
`TODO`, `FIXME`, документация и директивы линтеров. Докстринги и комментарии документации уходят только с флагом `--remove-doc`.
Как сохранить один конкретный комментарий?
Допишите в него метку `~keep` или попросите агента выполнить `uncomment keep` с идентификатором из `uncomment scan`.
Как подключить плагин в Codex?
Выполните `codex plugin marketplace add Goldziher/uncomment`, затем `codex plugin add uncomment@uncomment`.
Есть ли у плагина MCP-сервер?
Нет. Плагин содержит только инструкции навыка, работу выполняет CLI.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныПлагин заставляет агента объяснять свой код и перед пушем задавать вопросы, чтобы вы понимали, что вливаете.
CLI и плагин для ревью кода агентом: читает git diff и пишет замечания по строкам с учетом контекста
Скиллы для коммитов, ревью и ZenTao плюс статусная строка, учет баланса шлюза и лог сессий для Claude Code, Codex, OpenCode.
Crit открывает планы, диффы и запущенные приложения от кодинг-агента в браузере: кликнули строку, оставили замечание, и агент его получил
Плагин готовит проект к работе с Claude Code: инструкции, тесты, ревью, TDD, рефакторинг и повторяемый цикл исправлений
Рецензирование правок агента до коммита на своей машине: комментарии к строкам читает и отвечает на них сам агент через MCP.
Коротко о README
Инструмент ставят через Homebrew, Cargo, npm или pip либо запускают без установки командой `uvx uncomment .`. Настройки лежат в иерархическом TOML-файле, который создает `uncomment init`. Для проверок в CI есть git-хуки и GitHub Action.
Бейдж для README
Исходный SKILL.md
---
description: Inventory, preserve, lint and remove source comments using Uncomment's tree-sitter CLI or Rust library. Use for comment cleanup and preservation policies without changing comment-like text in strings.
name: uncomment
license: MIT
metadata:
author: Goldziher
repository: https://github.com/Goldziher/uncomment
---
<!--
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
Content-Hash: blake3:0c7de78d48b93b3fbba0488c23059fea8b4e0ff49f7c1de07c8c7bbf8a3c24fa
Source-Hash: blake3:632626448c20c35e5a1201704fa17dabcd59ec395a3e338c62ac5d02b619d20c
Schema-Version: v1
-->
## Uncomment Source Comment Cleanup
Uncomment uses tree-sitter to find source comments. This skill targets Uncomment
3.10 and newer, including `scan`, `keep`, `lint` and the `--check` gate. Install the
CLI separately; this plugin provides instructions and has no MCP server.
```bash
cargo install uncomment --version '^3.10'
# Binary wrappers are available as uncomment-cli on npm and uncomment on PyPI.
uncomment --version
```
### Inspect and preview
Start with the paths the user selected. An ordinary removal invocation writes
files; `scan`, `--dry-run`, and `--check` let you inspect the planned cleanup.
```bash
uncomment scan src/ --only removable --format jsonl --output comments.jsonl
uncomment src/ --dry-run --diff
```
Scan records contain `id`, `path`, `line`, `end_line`, `start_byte`, `end_byte`,
`kind`, `verdict` and `text`. Preserved records also include `reason`. Positions are
one-based lines and zero-based byte offsets. Use IDs to select comments; IDs survive
edits above a comment but depend on its path, exact text and occurrence index.
### Preserve selected comments