Home

Awesome

Create Go App

Create Go App CLI

Go version Go report Code coverage Wiki License

Create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) and deploy automation (Ansible, Docker) by running only one CLI command.

Focus on writing your code and thinking of the business-logic! The CLI will take care of the rest.

⚑️ Quick start

First, download and install Go. Version 1.20 or higher is required.

❗️ Note: If you're looking for the Create Go App CLI for other Go versions: 1.16, 1.17.

Installation is done by using the go install command:

go install github.com/create-go-app/cli/v4/cmd/cgapp@latest

Or see the repository's Release page, if you want to download a ready-made deb, rpm, apk or Arch Linux package.

Also, GNU/Linux and macOS users available way to install via Homebrew:

# Tap a new formula:
brew tap create-go-app/tap

# Installation:
brew install create-go-app/tap/cgapp

Let's create a new project via interactive console UI (or CUI for short) in current folder:

cgapp create

Next, open the generated Ansible inventory file (called hosts.ini) and fill in the variables according to your server configuration. And you're ready to automatically deploy this project:

cgapp deploy

That's all you need to know to start! πŸŽ‰

🐳 Docker-way to quick start

If you don't want to install Create Go App CLI to your system, you feel free to using our official Docker image and run CLI from isolated container:

docker run --rm -it -v ${PWD}:${PWD} -w ${PWD} koddr/cgapp:latest [COMMAND]

πŸ”” Please note: the deploy command is currently unavailable in this image.

πŸ“– Project Wiki

The best way to better explore all the features of the Create Go App CLI is to read the project Wiki and take part in Discussions and/or Issues.

Yes, the most frequently asked questions (FAQ) are also here.

βš™οΈ Commands & Options

create

CLI command for create a new project with the interactive console UI.

cgapp create [OPTION]
OptionDescriptionTypeDefaultRequired?
-tEnables to define custom backend and frontend templates.boolfalseNo

cgapp_create

deploy

CLI command for deploy Docker containers with your project via Ansible to the remote server.

πŸ”” Make sure that you have Python 3.8+ and Ansible 2.9+ installed on your computer.

cgapp deploy [OPTION]
OptionDescriptionTypeDefaultRequired?
-kPrompt you to provide the remote user sudo password (a standard Ansible --ask-become-pass option).boolfalseNo

cgapp_deploy

πŸ“ Production-ready project templates

Backend

Frontend

Frontend part will be generated using awesome tool Vite.js under the hood.

So, you'll always get the latest version of React, Preact, Vue, Svelte, Solid, Lit, Qwik, or pure JavaScript/TypeScript templates for your project.

NameDescriptionJavaScriptTypescript
PureA pure JavaScript/Typescript appvanillavanilla-ts
ReactA common React appreactreact-ts
React (with SWC)A React app with SWCreact-swcreact-swc-ts
PreactA common Preact apppreactpreact-ts
Vue.jsA common Vue.js appvuevue-ts
SvelteA common Svelte appsveltesvelte-ts
SolidA common Solid appsolidsolid-ts
LitA common Lit applitlit-ts
QwikA common Qwik appqwikqwik-ts

The Next.js and Nuxt frontend parts will be generated using the latest create-next-app and nuxi utilities.

NameDescriptionJavaScriptTypescript
Next.jsA common Next.js appnextnext-ts
NuxtA common Nuxt v3 app-nuxt

❗️ Please make sure that you have npm version 7 or higher installed to create the frontend part of the project correctly. If you run the cgapp -create command using our Docker image, npm of the correct version is already included.

🚚 Pre-configured Ansible roles

Web/Proxy server

✌️ Since Create Go App CLI v2.0.0, we're recommended to use Traefik Proxy as default proxy server for your projects. The main reason: this proxy provides automatic SSL certificates from Let's Encrypt out of the box. Also, Traefik was built on the Docker ecosystem and has a really good-looking and useful Web UI.

Database

Cache (key-value storage)

⭐️ Project assistance

If you want to say thank you or/and support active development of Create Go App CLI:

Product Hunt

πŸ† A win-win cooperation

And now, I invite you to participate in this project! Let's work together to create the most useful tool for developers on the web today.

Together, we can make this project better every day! 😘

πŸ”₯ Other projects of the authors

gowebly logo

⚠️ License

Create Go App CLI is free and open-source software licensed under the Apache 2.0 License. Official logo was created by Vic ShΓ³stak and distributed under Creative Commons license (CC BY-SA 4.0 International).

<!-- Go --> <!-- Repository --> <!-- Project --> <!-- Author --> <!-- Readme links --> <!-- Other projects links -->