goctl for go-zero CLI
goctl генерирует код сервисов и клиентов из API-описаний для go-zero, чтобы агент начал с согласованного каркаса проекта.
- 33 427 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Генератор создает и меняет исходники в выбранном каталоге проекта.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/goctl-for-go-zeroОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Генератор создает и меняет исходники в выбранном каталоге проекта.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
В файле `.api` команда описывает маршруты, запросы и ответы сервиса. По этому контракту goctl создает каталоги обработчиков, типов и прикладной логики. Код генератора находится в репозитории go-zero; для RPC он также работает с файлами `.proto`. Агент с терминалом вызывает goctl напрямую. Если клиент принимает только MCP-инструменты, можно подключить отдельный адаптер mcp-zero. Разработчик просматривает созданные файлы, реализует обработку запросов и запускает тесты. Отдельные инструкции ai-context и zero-skills описывают этот порядок работы и шаблоны go-zero.
Для кого. Авторам Go-сервисов на go-zero, которые хотят начинать агентную разработку с API-спецификации и генератора.
Подходит, если
- Контракт нового HTTP-сервиса согласован, и команда создает исходники go-zero по файлу `.api`.
- Мобильный клиент на Java или Dart обращается к тому же API, что описан для сервера.
- После изменения запросов и ответов разработчик заново генерирует типы и просматривает различия.
- Разработчик начинает описание нового API с шаблона и заполняет в нем маршруты, запросы и ответы.
Не подходит, если
- Проект не использует go-zero и его соглашения не подходят.
- Генератор должен полностью реализовать бизнес-правила.
- Существующие ручные правки собираются перезаписать без просмотра различий.
Пример запроса к агенту
Подготовь API-спецификацию нового тестового сервиса и план goctl-генерации с отдельным ревью различий.Ограничения
Для установки нужен Go, а каталог с бинарником goctl должен быть доступен агенту через `PATH`. Генератор читает контракт из `.api` или `.proto`; пропущенные требования к запросам он самостоятельно не восстанавливает. Прикладную логику разработчик пишет после генерации и проверяет тестами: созданные обработчики не заменяют реализацию сервиса. При повторном запуске в существующем проекте просмотрите созданные и измененные файлы, чтобы сохранить нужные ручные правки.
Как отключить. Прекратите вызовы генератора и удалите бинарник установленным способом. Сгенерированный код остается частью проекта.
Частые вопросы
Как создать Go-сервис из `.api`?
Для файла из примера выполните `goctl api go -api greet.api -dir greet`. В каталоге `greet` появятся исходники сервиса, включая обработчики и типы запросов.
Как создать заготовку API-описания?
Выполните `goctl api -o greet.api`. Отредактируйте созданный файл, указав маршруты и типы данных, затем передайте его генератору сервера или клиента.
Что сделать после генерации?
В каталоге сервиса допишите обработку запросов, затем выполните `go mod tidy`, `go build ./...` и `go test ./...`. Ошибки сборки и тестов разбираются до запуска сервиса.
Как получить Java-клиент?
Для того же примера есть `goctl api java -api greet.api -dir greet`. Клиентский код создается из контракта `greet.api`; его можно передать разработчику приложения.
Как проверить установленный инструмент?
Выполните `goctl --version` в том же окружении, где работает агент.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыКодовый агент для терминала на Go: модели GLM, DeepSeek и локальный Ollama, 59 встроенных инструментов и MCP
Zerolang — скилл для агентов
Zerolang
Короткий скилл от Vercel Labs: находит или ставит компилятор Zero и подгружает инструкции строго под его версию, чтобы агент правил программу через граф
CLI хранит RFC, ADR и задачи в TOML внутри репозитория и не дает агенту закрыть работу без пройденных проверок
Терминальный агент для кодинга на Rust: четыре режима прав, чекпоинты, субагенты, скиллы, хуки, MCP и локальные модели
ZCF
ZCF - Zero-Config Code Flow
CLI, который в один запуск настраивает Claude Code и Codex: рабочие процессы, агенты, скиллы, MCP и выбор провайдера
MCP-сервер и CLI на Go: агент ведет в репозитории индекс кода и схемы базы, хранит его в Git и читает целиком перед каждой задачей
Коротко о README
В примере README после генерации показана структура файлов: маршруты находятся в `internal/handler`, обработка запроса дописывается в `internal/logic`.