# Go ## Признаки обнаружения - `go.mod`, `go.sum`, `go.work` - `cmd/`, `internal/` - `main.go` - `magefile.go` - `Taskfile.yml` ## Признаки нескольких модулей - `go.work` с путями к нескольким модулям. - Несколько файлов `go.mod` во вложенных каталогах. - `apps/` или `services/`, где у каждого проекта свой `go.mod`. ## Перед созданием изучи - `go.work`, `go.mod`, `go.sum`. - Структуру `cmd/`, `internal/`, `pkg/`. - `Makefile`, `Taskfile.yml`, `magefile.go`, если есть. ## Проверка кодовой базы (Go) - Корни исходников: `cmd/`, `internal/`, `pkg/`, `api/`. - Каталоги слоёв (отмечай только при наличии): `handler`, `service`, `repository`, `store`, `config`. - Признаки фреймворков (отмечай только при наличии): импорты `gin`, `echo`, `fiber`, `chi`. - Точки входа (отмечай только при наличии): `cmd/*/main.go`, `main.go`. ## Обязательный результат (CLAUDE.md модуля Go) Включай обнаруженное, перечисляя реальные имена: - **Команды:** исполняемые программы в `cmd/`. - **Обработчики:** пакеты HTTP-обработчиков. - **Сервисы:** пакеты сервисов. - **Репозитории:** пакеты репозиториев или хранилищ. - **Модели:** пакеты предметных моделей. - **Конфигурация:** пакеты загрузки настроек. ## Источники команд - README, документация или CI. - `Makefile`, `Taskfile.yml` или скрипты репозитория с вызовом инструментов Go. - Использование `go test ./...` и `go run` в документации или скриптах. - Включай только команды, реально имеющиеся в репозитории. ## Ключевые пути (только при наличии) - `cmd/`, `internal/`, `pkg/`, `api/` - Структура `tests/` или `*_test.go`