create-go-app
cli
Go

✨ A complete and self-contained solution for developers of any qualification to create a production-ready project with backend (Go), frontend (JavaScript, TypeScript) and deploy automation (Ansible, Docker) by running only one CLI command.

Last updated Jul 6, 2026
2.8k
Stars
271
Forks
13
Issues
+3
Stars/day
Attention Score
79
Language breakdown
Go 80.5%
Jinja 14.8%
Makefile 4.6%
Dockerfile 0.1%
Files click to expand
README

[![Create Go App][repologoimg]][repo_url]

Create Go App CLI

[![Go version][goversionimg]][godevurl] [![Go report][goreportimg]][goreporturl] [![Code coverage][gocodecoverageimg]][repourl]
[![Wiki][repowikiimg]][repowikiurl] [![License][repolicenseimg]][repolicenseurl]

Create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) and deploy automation (Ansible, Docker) by running only one command. Focus on writing your code and thinking of the business-logic! The CLI will take care of the rest.

⚡️ Quick start

First, [download][godownloadurl] and install Go. Version 1.21 or higher is required.

👆 You can also use Create Go App CLI via other Go
versions: [1.16][repov2url], [1.17][repov3url].

Installation is done by using the [go install][goinstallurl] command:

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

Or see the repository's [Release page][reporeleasesurl], 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][brew_url]:

# 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][docker_url] 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][repowikiurl] and take part in [Discussions][repodiscussionsurl] and/or [Issues][repoissuesurl].

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

⚙️ Commands & Options

create

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

cgapp create [OPTION]

| Option | Description | Type | Default | Required? | | ------ | -------------------------------------------------------- | ------ | ------- | --------- | | -t | Enables to define custom backend and frontend templates. | bool | false | No |

![cgappcreate][cgappcreate_gif]

  • 📺 Full demo video: https://recordit.co/OQAwkZBrjN
  • 📖 Docs: https://github.com/create-go-app/cli/wiki/Command-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+][python_url] and
[Ansible 2.9+][ansible_url] installed on your computer.
cgapp deploy [OPTION]

| Option | Description | Type | Default | Required? | | ------ | ------------------------------------------------------------------------------------------------------ | ------ | ------- | --------- | | -k | Prompt you to provide the remote user sudo password (a standard Ansible --ask-become-pass option). | bool | false | No |

![cgappdeploy][cgappdeploy_gif]

  • 📺 Full demo video: https://recordit.co/ishTf0Au1x
  • 📖 Docs: https://github.com/create-go-app/cli/wiki/Command-deploy

📝 Production-ready project templates

Backend

  • Backend template with Golang built-in [net/http][nethttpurl] package:
- [net/http][cgappnet-http-templateurl] — simple REST API with CRUD and JWT auth.
  • Backend template with [Fiber][fiber_url]:
- [fiber][cgappfiber-templateurl] — complex REST API with CRUD, JWT auth with renew token, DB and cache.
  • Backend template with [go-chi][chi_url]:
- [chi][cgappchi-templateurl] — a basic application with health check.

Frontend

Frontend part will be generated using awesome tool [Vite.js][vitejs_url] 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.

| Name | Description | JavaScript | Typescript | | --------------------------------- | -------------------------------- | ----------- | -------------- | | Pure | A pure JavaScript/Typescript app | vanilla | vanilla-ts | | [React][react_url] | A common React app | react | react-ts | | [React (with SWC)][reactswcurl] | A React app with SWC | react-swc | react-swc-ts | | [Preact][preact_url] | A common Preact app | preact | preact-ts | | [Vue.js][vuejs_url] | A common Vue.js app | vue | vue-ts | | [Svelte][svelte_url] | A common Svelte app | svelte | svelte-ts | | [Solid][solid_url] | A common Solid app | solid | solid-ts | | [Lit][lit_url] | A common Lit app | lit | lit-ts | | [Qwik][qwik_url] | A common Qwik app | qwik | qwik-ts |

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

| Name | Description | JavaScript | Typescript | | -------------------------- | ---------------------- | ---------- | ----------- | | [Next.js][nextjs_url] | A common Next.js app | next | next-ts | | [Nuxt][nuxt_url] | A common Nuxt v3 app | - | nuxt | | [Sveltekit][sveltekit_url] | A common Sveltekit app | - | sveltekit |

❗️ 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][docker_url], npm of the
correct version is already included.

🚚 Pre-configured Ansible roles

Web/Proxy server

  • Roles for run Docker container with [Traefik Proxy][traefik_url]:
- traefik — configured Traefik container with a simple ACME challenge via CA server. - traefik-acme-dns — configured Traefik container with a complex ACME challenge via DNS provider.
  • Roles for run Docker container with [Nginx][nginx_url]:
- nginx — pure Nginx container with "the best practice" configuration.
✌️ 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

  • Roles for run Docker container with [PostgreSQL][postgresql_url]:
- postgres — configured PostgreSQL container with apply migrations for backend.

Cache (key-value storage)

  • Roles for run Docker container with [Redis][redis_url]:
- redis — configured Redis container for backend.

⭐️ Project assistance

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

  • Add a [GitHub Star][repo_url] to the project.
  • Write interesting articles about project on [Dev.to][devtourl], or
personal blog.
  • Leave a review on our [ProductHunt][cgappproduct-hunturl] page.

❗️ Support the author

You can support the author on [Boosty][boostyurl], both on a permanent and on a one-time_ basis.

All proceeds from this way will go to support my OSS projects and will energize me to create new products and articles for the community.

support me on Boosty

🏆 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.

  • [Issues][repoissuesurl]: ask questions and submit your features.
  • [Pull requests][repopullrequest_url]: send your improvements to the current.
Together, we can make this project better every day! 😘

🔥 Other projects from the author

gowebly project

⚠️ License

[Create Go App CLI][repo_url] is free and open-source software licensed under the [Apache 2.0 License][repolicenseurl]. Official [logo][repologourl] was created by [Vic Shóstak][author] and distributed under [Creative Commons][repoccurl] license (CC BY-SA 4.0 International).

[godownloadurl]: https://golang.org/dl/ [goinstallurl]: https://golang.org/cmd/go/#hdr-Compileandinstallpackagesand_dependencies [goversionimg]: https://img.shields.io/badge/Go-1.21+-00ADD8?style=for-the-badge&logo=go [goreportimg]: https://img.shields.io/badge/Go_report-A+-success?style=for-the-badge&logo=none [goreporturl]: https://goreportcard.com/report/github.com/create-go-app/cli [gocodecoverageimg]: https://img.shields.io/badge/codecoverage-88%25-success?style=for-the-badge&logo=none [godevurl]: https://pkg.go.dev/github.com/create-go-app/cli/v4

[repo_url]: https://github.com/create-go-app/cli [repologourl]: https://github.com/create-go-app/cli/wiki/Logo [repologoimg]: https://github.com/create-go-app/cli/assets/11155743/95024afc-5e3b-4d6f-8c9c-5daaa51d080d [repolicenseurl]: https://github.com/create-go-app/cli/blob/main/LICENSE [repolicenseimg]: https://img.shields.io/badge/license-Apache_2.0-red?style=for-the-badge&logo=none [repoccurl]: https://creativecommons.org/licenses/by-sa/4.0/ [repov2url]: https://github.com/create-go-app/cli/tree/v2 [repov3url]: https://github.com/create-go-app/cli/tree/v3 [repoissuesurl]: https://github.com/create-go-app/cli/issues [repopullrequest_url]: https://github.com/create-go-app/cli/pulls [repodiscussionsurl]: https://github.com/create-go-app/cli/discussions [reporeleasesurl]: https://github.com/create-go-app/cli/releases [repowikiurl]: https://github.com/create-go-app/cli/wiki [repowikiimg]: https://img.shields.io/badge/docs-wiki_page-blue?style=for-the-badge&logo=none [repowikifaq_url]: https://github.com/create-go-app/cli/wiki/FAQ

[cgappdeploygif]: https://user-images.githubusercontent.com/11155743/116796941-3c421e00-aae9-11eb-9575-d72550814d7a.gif [cgappcreategif]: https://user-images.githubusercontent.com/11155743/116796937-38160080-aae9-11eb-8e21-fb1be2750aa4.gif [cgappproduct-hunturl]: https://www.producthunt.com/posts/create-go-app?utmsource=badge-review&utmmedium=badge&utm_souce=badge-create-go-app#discussion-body [cgappproduct-huntimg]: https://api.producthunt.com/widgets/embed-image/v1/review.svg?post_id=316086&theme=light [cgappchi-templateurl]: https://github.com/create-go-app/chi-go-template [cgappfiber-templateurl]: https://github.com/create-go-app/fiber-go-template [cgappnet-http-templateurl]: https://github.com/create-go-app/net_http-go-template

[author]: https://github.com/koddr [authordoref_url]: https://m.do.co/c/b41859fa9b6e

[twitter_url]: https://twitter.com/intent/tweet?text=Wow%21%20%F0%9F%8E%89%20Create%20a%20new%20production-ready%20project%20with%20backend%20%28Golang%29%2C%20frontend%20%28JavaScript%2C%20TypeScript%29%0Aand%20deploy%20automation%20%28Ansible%2C%20Docker%29%20by%20running%20one%20CLI%20command%20%F0%9F%91%89%20https%3A%2F%2Fgithub.com%2Fcreate-go-app%2Fcli [devtourl]: https://dev.to/ [redis_url]: https://redis.io/ [postgresql_url]: https://postgresql.org/ [nginx_url]: https://nginx.org/ [traefik_url]: https://traefik.io/traefik/ [vitejs_url]: https://vitejs.dev/ [vuejs_url]: https://vuejs.org/ [react_url]: https://reactjs.org/ [preact_url]: https://preactjs.com/ [nextjs_url]: https://nextjs.org/ [nuxt_url]: https://v3.nuxtjs.org/ [sveltekit_url]: https://kit.svelte.dev/ [svelte_url]: https://svelte.dev/ [lit_url]: https://lit.dev/ [chi_url]: https://github.com/go-chi/chi [fiber_url]: https://github.com/gofiber/fiber [nethttpurl]: https://golang.org/pkg/net/http/ [docker_url]: https://hub.docker.com/r/koddr/cgapp [python_url]: https://www.python.org/downloads/ [ansibleurl]: https://docs.ansible.com/ansible/latest/installationguide/intro_installation.html#installing-ansible-on-specific-operating-systems [brew_url]: https://brew.sh/ [qwik_url]: https://github.com/BuilderIO/qwik [solid_url]: https://github.com/solidjs/solid [reactswcurl]: https://swc.rs/

[gowebly_url]: https://github.com/gowebly/gowebly [goweblyimgurl]: https://github.com/gowebly/.github/blob/a8ae889ed2c5baefcd307ad4505161f98f75669f/images/gowebly-banner-logo.png [boosty_url]: https://boosty.to/koddr

🔗 More in this category

© 2026 GitRepoTrend · create-go-app/cli · Updated daily from GitHub