Claude для рефакторинга тестов, Issue to PR и перевод блога
Самое большое событие, которое погрузило меня в разработку с головой, это тестирование Claude Desktop с подключенными MCP и с небольшими кастомными хаками в виде автоматического подтверждения действий ( вроде “allow action”, чтобы кликать самому). Тут внезапно нейросети превратились во что-то по-настоящему рабочее. И я ушел с головой в тестирование.
Рефакторинг тестов
Что интересного я сделал из реальных вещей, так это на рабочем проекте я переделал огромную кучу тестов с одного формата на новый. Это меня реально порадовало, поскольку рефакторинг хоть и был бы простым, но он бы занял кучу времени, поскольку это требовало бы выполнять многие действия вручную. Это не тот случай, когда можно автоматически нажать кнопку в JetBrains и переименовать что-то. Там нужно было создавать классы, переносить методы из одних классов в другие, смотреть доступные классы в определенных папках и на их основе добавлять новые методы.
Автоматизация с Клодом
Когда я задал задание Клоду, он просто начал безумно кодить, анализировать файлы и писать новые. Что понравилось? Понравилось, что он отлично понимает паттерны. Если дать ему один хороший пример, как что-то должно выглядеть, он анализирует паттерн, идет вверх по дереву классов, запоминает, как выглядят методы, какие параметры принимают и так далее. И на основе этого он может выдавать достаточно хороший код для любых новых кейсов.
Сложности и ограничения
Сложным все еще является описание конкретных небольших шагов, которые требуют сложных инструментов. Например, иногда было проще вручную посмотреть, какие ID у элементов в HTML и явно ему сказать, к чему прицепиться для написания тестов, чем давать ему браузер, чтобы он посмотрел это сам. Поскольку вероятность на успех здесь будет не самая высокая. Проблема в большом объеме HTML, например. И еще у него уйдет время на то, чтобы научиться открывать дропдауны и найти нужные кнопки. Решаемо, но пока это не самое сильное место.
Дебаг
Что нравится еще, так это как он дебажит код. Иногда это действительно вызывает вау-эффекты. Тот факт, что ему не лень залезть в библиотеки и пройтись по всем зависимостям, чтобы найти все релевантные участки кода, которые приводят к той точке, где у тебя что-то не работает, это действительно вызывает вау.
Перевод блога
Еще я пробовал дать задание перевести свой блог, сделать английскую версию полностью. С одной стороны, сами шаблоны и структура не очень большая, поэтому там переводить-то особо и нечего. И с этой задачей он в целом справился хорошо. Трудность оказалась только в самом движке генератора статики, поскольку нативной поддержки мультиязычности в нем нет. И приходится либо ставить плагин, либо изобретать велосипед. Плагин заброшен и с ним проблемы, а велосипед пока не понравился. Поэтому англоязычная версия еще только в проекте.
Автоматизация задач
Интересный сценарий, который я еще обнаружил для разработки, называется “Issue to PR”, то есть от задачи к pull request. Как это выглядит? Есть задача, допустим, на GitHub. Ты добавляешь определенную метку к этой задаче (например “agent”). И дальше в ход вступает автоматизация GitHub Workflow, которые могут реагировать на добавление задач, обновление задач, ну и в том числе, например, добавление метки. Или в моем случае, конкретно, воркфлоу тригерился по написанию дополнительного комментария, где я попросил Клода посмотреть на вот эту задачу.
После чего автоматизация скачивает репозиторий и устанавливает Клод в отдельном окружении. Авторизация проходит через секреты, которые добавлены к репозиторию. Клод получает задачу из таски на GitHub и начинает работать. После того как он закончил изменения, он же сам делает коммит и создает pull request. Таким образом, маленькая легкая задачка была решена просто путем написания коммента типа “Эй, нейронка, работай”.
В общем, это выглядит как киберпанк, и от этого хочется жить и работать. Подробнее и детальнее расскажу позже, пока накидаю полезных ссылок:
- https://github.com/forkonaut/code-agent - это про Issue to PR
- https://github.com/mcp-for-dev - тут я стартовал свой набор MCP с фиксами, пока все в процессе
- https://github.com/anthropics/claude-code - консольный Клод, который работает за токены
- https://gist.github.com/demondehellis/3c420… - небольшой хак для Claude Desktop чтобы автоматически аппрувить действия
Еще всякое интересное