Greg Baugues thumbnail

Greg Baugues

Claude Code + GitHub WORKFLOW for Complex Apps

Основные выводы и инсайты

  • Представлен рабочий процесс с использованием Cloud Code и GitHub для разработки веб-приложения, который значительно повышает продуктивность и качество.
  • Основой процесса является классический цикл разработки ПО: планирование, создание, тестирование, деплой.
  • Важность детальной и атомарной проработки GitHub issues для успешной работы с AI-ассистентом.
  • Использование GitHub CLI для взаимодействия Cloud Code с репозиторием.
  • Интеграция CI/CD через GitHub Actions для автоматического запуска тестов и проверки кода.
  • Внедрение Puppeteer для автоматического тестирования UI путем симуляции кликов в браузере.
  • Роль человека в процессе — прежде всего в фазе планирования и ревью кода, в то время как создание, тестирование и деплой можно делегировать AI.
  • Практика полного очищения контекста Cloud Code после выполнения задачи для лучшего управления токенами и предотвращения загрязнения памяти.
  • Использование системы «рабочих деревьев» (work trees) для параллельной работы с несколькими ветками и задачами, хотя автор отмечает неудобства и высокую стоимость управления ими.

Практические стратегии

  • Создавать GitHub issues из требований, обеспечивая их детальную и атомарную структуру.
  • Использовать GitHub CLI для управления репозиторием из Cloud Code.
  • Настроить тестовый набор и CI с использованием GitHub Actions для автоматической проверки каждого коммита.
  • Интегрировать Puppeteer для автоматизации тестирования пользовательского интерфейса.
  • Создавать slash-команды в Cloud Code, которые принимают номер issue как аргумент и запускают процесс: планирование → создание кода → тестирование → деплой.
  • В фазе планирования использовать «scratch pads» — директории для разбивки задачи на маленькие подзадачи и поиска предшествующих решений.
  • Делегировать коммиты и создание PR AI, но обязательно читать и ревьюить изменения (с возможностью использовать AI для обзора PR в стиле известных экспертов).
  • После завершения задачи выполнять команду /clear для очистки контекста Cloud Code.
  • Использовать work trees для параллельной работы с несколькими задачами, но быть готовым к дополнительному управлению разрешениями и конфликтами.

Конкретные детали и примеры

  • Источник рабочего процесса — GitHub flow, описанный Скоттом Шаоном около 13-14 лет назад.
  • Работа начинается с диктовки требований через Super Whisper, затем формирование спецификаций с помощью Claude.
  • Пример использования Ruby on Rails для MVC и встроенного тестирования, а также Puppeteer для тестирования UI.
  • Рекомендация по установке GitHub CLI и использование его для управления issues через bash.
  • Использование разных уровней «think» промтов (think harder, think hardest, ultraink) для глубокого анализа задач.
  • Автор использует Render для автоматического деплоя при слиянии ветки в main.
  • Пример практики ревью PR в стиле Sandy Mets — известного эксперта по чистому коду в Rails.
  • Обсуждение статьи Томаса Тацика о скепсисе в отношении AI-кодирования и важности ревью кода человеком.
  • Ограничения и проблемы с GitHub actions: метered billing, что делает использование менее выгодным при большом объеме изменений.
  • Аналогия с многотабличной игрой в покер для объяснения концепции work trees.

Предупреждения и распространённые ошибки

  • Избегать слишком общих и крупных GitHub issues — лучше разбивать задачи на маленькие, четко определённые.
  • Не стоит полностью полагаться на AI для коммитов без ревью — всегда проверять код, чтобы избежать ошибок.
  • Не использовать GitHub actions для больших и значимых изменений из-за затрат на API и ограничений.
  • Work trees требуют повторного утверждения разрешений при каждой новой сессии, что ведёт к «бэбиситтингу» и потере времени.
  • Избегать накопления контекста в Cloud Code — лучше очищать контекст после каждой задачи, чтобы избежать путаницы и лишних затрат токенов.
  • Не стоит сразу запускать большое количество задач параллельно, если база кода тесно связана — это ведет к конфликтам и усложнению процесса.

Ресурсы и следующие шаги

  • Использовать официальную документацию GitHub flow и GitHub CLI.
  • Ознакомиться с публикацией Бориса (создателя Cloud Code) о лучших практиках агентного кодирования.
  • Прочитать статью Томаса Тацика «All of My AI skeptic friends are nuts» для глубокого понимания работы с AI в разработке.
  • Смотреть видео автора про «Claude Code pro tips» для расширения навыков.
  • Настроить собственный workflow с использованием slash-команд Cloud Code, GitHub Actions, Puppeteer и scratch pads.
  • Экспериментировать с work trees для управления несколькими параллельными задачами.
  • Следить за обновлениями Anthropic и Claude для оптимизации затрат и улучшения интеграций.

Основные темы

  • Workflow разработки с использованием Cloud Code и GitHub.
  • Цикл разработки: планирование, создание, тестирование, деплой.
  • Создание и управление GitHub issues.
  • Интеграция GitHub CLI и GitHub Actions.
  • Использование Puppeteer для UI тестирования.
  • Роль человека и AI в кодировании и ревью.
  • Важность четких, атомарных задач.
  • Управление контекстом и памятью AI-ассистента.
  • Практическое использование work trees.
  • Опыт и советы по работе с AI в реальных проектах.
← Back to Greg Baugues Blog