Об этом проекте

Create Go App CLI (cgapp) — это инструмент командной строки для генерации новых проектов, объединяющих бэкенд на Go, фронтенд на JavaScript или TypeScript и автоматизацию развертывания. Он позволяет разработчикам сосредоточиться на коде приложения и бизнес-логике, беря на себя создание структуры проекта и настройку деплоя. Варианты установки: - go install github.com/create-go-app/cli/v4/cmd/cgapp@latest (требуется Go 1.21 или выше) - Homebrew (brew tap create-go-app/tap; brew install create-go-app/tap/cgapp) - Готовые пакеты deb, rpm, apk или Arch Linux со страницы релизов - Docker-образ для изолированного использования (команда deploy в этом образе недоступна) Основные команды: - cgapp create [OPTION]: создает новый проект через интерактивный консольный интерфейс. Опция -t позволяет использовать пользовательские шаблоны бэкенда и фронтенда. - cgapp deploy [OPTION]: развертывает Docker-контейнеры на удаленном сервере через Ansible. Требует наличия Python 3.8+ и Ansible 2.9+ на локальной машине. Опция -k запрашивает пароль sudo удаленного пользователя. Шаблоны бэкенда: - net/http: простой REST API с CRUD и JWT-авторизацией - Fiber: сложный REST API с CRUD, JWT-авторизацией с обновлением токена, БД и кэшем - go-chi: базовое приложение с проверкой состояния (health check) Шаблоны фронтенда: Фронтенд генерируется с помощью Vite.js, поэтому могут использоваться актуальные версии React, Preact, Vue, Svelte, Solid, Lit, Qwik или чистый JavaScript/TypeScript. Next.js и Nuxt генерируются с помощью create-next-app и nuxi. Для большинства опций доступны варианты на JavaScript и TypeScript, включая react, react-swc, preact, vue, svelte, solid, lit, qwik, vanilla, next, nuxt и sveltekit. Для генерации фронтенда требуется npm версии 7 или выше. Преднастроенные роли Ansible: - Веб/прокси-сервер: Traefik (traefik, traefik-acme-dns) и Nginx (nginx). Traefik рекомендуется начиная с версии v2.0.0 для автоматического получения SSL-сертификатов от Let's Encrypt и наличия веб-интерфейса. - База данных: PostgreSQL (postgres) с применением миграций бэкенда. - Кэш: Redis (redis) для использования бэкендом. Документация проекта, FAQ, обсуждения и ошибки доступны через wiki и репозиторий GitHub. Проект распространяется под лицензией Apache 2.0.