{"id":13414117,"url":"https://github.com/create-go-app/cli","last_synced_at":"2025-05-14T00:08:11.033Z","repository":{"id":37910999,"uuid":"230986271","full_name":"create-go-app/cli","owner":"create-go-app","description":"✨ 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.","archived":false,"fork":false,"pushed_at":"2025-03-13T09:47:23.000Z","size":8132,"stargazers_count":2681,"open_issues_count":7,"forks_count":268,"subscribers_count":31,"default_branch":"main","last_synced_at":"2025-04-10T13:11:03.413Z","etag":null,"topics":["ansible-playbook","backend","backend-template","boilerplate-application","boilerplate-template","cgapp","cli","cli-app","cli-commands","create-go-app","cui","docker-container","docker-image","frontend","frontend-template","go","go-cli","golang","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://github.com/create-go-app/cli/wiki","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/create-go-app.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"liberapay":"koddr","custom":["https://www.producthunt.com/posts/create-go-app"]}},"created_at":"2019-12-30T22:08:38.000Z","updated_at":"2025-04-05T18:17:07.000Z","dependencies_parsed_at":"2023-10-04T13:46:07.638Z","dependency_job_id":"46deeaa3-8c2f-41ff-ae12-986542ccb919","html_url":"https://github.com/create-go-app/cli","commit_stats":{"total_commits":517,"total_committers":15,"mean_commits":34.46666666666667,"dds":"0.20889748549323017","last_synced_commit":"4fdcc3f021d00cd28abfe7c858244505adf9c510"},"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/create-go-app%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/create-go-app%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/create-go-app%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/create-go-app%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/create-go-app","download_url":"https://codeload.github.com/create-go-app/cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254043963,"owners_count":22005042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-playbook","backend","backend-template","boilerplate-application","boilerplate-template","cgapp","cli","cli-app","cli-commands","create-go-app","cui","docker-container","docker-image","frontend","frontend-template","go","go-cli","golang","hacktoberfest"],"created_at":"2024-07-30T20:01:58.150Z","updated_at":"2025-05-14T00:08:11.012Z","avatar_url":"https://github.com/create-go-app.png","language":"Go","funding_links":["https://liberapay.com/koddr","https://www.producthunt.com/posts/create-go-app"],"categories":["Examples","工具库`可以提升效率的通用代码库和工具`","开源类库","Utility","Utilities","Open source library","Go","工具库","公用事业公司","cli"],"sub_categories":["查询语","项目骨架","Utility/Miscellaneous","Project Skeleton","实用程序/Miscellaneous","HTTP Clients","Fail injection"],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Create Go App][repo_logo_img]][repo_url]\n\n# Create Go App CLI\n\n[![Go version][go_version_img]][go_dev_url]\n[![Go report][go_report_img]][go_report_url]\n[![Code coverage][go_code_coverage_img]][repo_url]\u003cbr/\u003e\n[![Wiki][repo_wiki_img]][repo_wiki_url]\n[![License][repo_license_img]][repo_license_url]\n\nCreate a new production-ready project with **backend** (Golang),\n**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.\n\n\u003c/div\u003e\n\n## ⚡️ Quick start\n\nFirst, [download][go_download_url] and install **Go**. Version `1.21` or\nhigher is required.\n\n\u003e 👆 You can also use **Create Go App CLI** via other Go\n\u003e versions: [`1.16`][repo_v2_url], [`1.17`][repo_v3_url].\n\nInstallation is done by using the [`go install`][go_install_url] command:\n\n```bash\ngo install github.com/create-go-app/cli/v4/cmd/cgapp@latest\n```\n\nOr see the repository's [Release page][repo_releases_url], if you want to\ndownload a ready-made `deb`, `rpm`, `apk` or `Arch Linux` package.\n\nAlso, GNU/Linux and macOS users available way to install via\n[Homebrew][brew_url]:\n\n```bash\n# Tap a new formula:\nbrew tap create-go-app/tap\n\n# Installation:\nbrew install create-go-app/tap/cgapp\n```\n\nLet's create a new project via **interactive console UI** (or **CUI** for\nshort) in current folder:\n\n```bash\ncgapp create\n```\n\nNext, open the generated Ansible inventory file (called `hosts.ini`) and\nfill in the variables according to your server configuration. And you're\nready to **automatically deploy** this project:\n\n```bash\ncgapp deploy\n```\n\nThat's all you need to know to start! 🎉\n\n### 🐳 Docker-way to quick start\n\nIf you don't want to install Create Go App CLI to your system, you feel free\nto using our official [Docker image][docker_url] and run CLI from isolated\ncontainer:\n\n```bash\ndocker run --rm -it -v ${PWD}:${PWD} -w ${PWD} koddr/cgapp:latest [COMMAND]\n```\n\n\u003e 🔔 Please note: the `deploy` command is currently **unavailable** in this\n\u003e image.\n\n## 📖 Project Wiki\n\nThe best way to better explore all the features of the **Create Go App CLI**\nis to read the project [Wiki][repo_wiki_url] and take part in\n[Discussions][repo_discussions_url] and/or [Issues][repo_issues_url].\n\nYes, the most frequently asked questions (FAQ) are also\n[here][repo_wiki_faq_url].\n\n## ⚙️ Commands \u0026 Options\n\n### `create`\n\nCLI command for create a new project with the interactive console UI.\n\n```bash\ncgapp create [OPTION]\n```\n\n| Option | Description                                              | Type   | Default | Required? |\n| ------ | -------------------------------------------------------- | ------ | ------- | --------- |\n| `-t`   | Enables to define custom backend and frontend templates. | `bool` | `false` | No        |\n\n![cgapp_create][cgapp_create_gif]\n\n- 📺 Full demo video: https://recordit.co/OQAwkZBrjN\n- 📖 Docs: https://github.com/create-go-app/cli/wiki/Command-create\n\n### `deploy`\n\nCLI command for deploy Docker containers with your project via Ansible to\nthe remote server.\n\n\u003e 🔔 Make sure that you have [Python 3.8+][python_url] and\n\u003e [Ansible 2.9+][ansible_url] installed on your computer.\n\n```bash\ncgapp deploy [OPTION]\n```\n\n| Option | Description                                                                                            | Type   | Default | Required? |\n| ------ | ------------------------------------------------------------------------------------------------------ | ------ | ------- | --------- |\n| `-k`   | Prompt you to provide the remote user sudo password (_a standard Ansible `--ask-become-pass` option_). | `bool` | `false` | No        |\n\n![cgapp_deploy][cgapp_deploy_gif]\n\n- 📺 Full demo video: https://recordit.co/ishTf0Au1x\n- 📖 Docs: https://github.com/create-go-app/cli/wiki/Command-deploy\n\n## 📝 Production-ready project templates\n\n### Backend\n\n- Backend template with Golang built-in [net/http][net_http_url] package:\n  - [`net/http`][cgapp_net-http-template_url] — simple REST API with CRUD\n    and JWT auth.\n- Backend template with [Fiber][fiber_url]:\n  - [`fiber`][cgapp_fiber-template_url] — complex REST API with CRUD, JWT auth\n    with renew token, DB and cache.\n- Backend template with [go-chi][chi_url]:\n  - [`chi`][cgapp_chi-template_url] — a basic application with health check.\n\n### Frontend\n\nFrontend part will be generated using awesome tool [Vite.js][vitejs_url]\nunder the hood.\n\nSo, you'll always get the latest version of React, Preact, Vue, Svelte,\nSolid, Lit, Qwik, or pure JavaScript/TypeScript templates for your project.\n\n| Name                              | Description                      | JavaScript  | Typescript     |\n| --------------------------------- | -------------------------------- | ----------- | -------------- |\n| Pure                              | A pure JavaScript/Typescript app | `vanilla`   | `vanilla-ts`   |\n| [React][react_url]                | A common React app               | `react`     | `react-ts`     |\n| [React (with SWC)][react_swc_url] | A React app with SWC             | `react-swc` | `react-swc-ts` |\n| [Preact][preact_url]              | A common Preact app              | `preact`    | `preact-ts`    |\n| [Vue.js][vuejs_url]               | A common Vue.js app              | `vue`       | `vue-ts`       |\n| [Svelte][svelte_url]              | A common Svelte app              | `svelte`    | `svelte-ts`    |\n| [Solid][solid_url]                | A common Solid app               | `solid`     | `solid-ts`     |\n| [Lit][lit_url]                    | A common Lit app                 | `lit`       | `lit-ts`       |\n| [Qwik][qwik_url]                  | A common Qwik app                | `qwik`      | `qwik-ts`      |\n\nThe `Next.js` and `Nuxt` frontend parts will be generated using the latest\n`create-next-app` and `nuxi` utilities.\n\n| Name                       | Description            | JavaScript | Typescript  |\n| -------------------------- | ---------------------- | ---------- | ----------- |\n| [Next.js][nextjs_url]      | A common Next.js app   | `next`     | `next-ts`   |\n| [Nuxt][nuxt_url]           | A common Nuxt v3 app   | -          | `nuxt`      |\n| [Sveltekit][sveltekit_url] | A common Sveltekit app | -          | `sveltekit` |\n\n\u003e ❗️ Please make sure that you have `npm` version `7` or higher installed to\n\u003e create the frontend part of the project correctly. If you run the\n\u003e `cgapp -create` command using our [Docker image][docker_url], `npm` of the\n\u003e correct version is **already** included.\n\n## 🚚 Pre-configured Ansible roles\n\n### Web/Proxy server\n\n- Roles for run Docker container with [Traefik Proxy][traefik_url]:\n  - `traefik` — configured Traefik container with a simple ACME challenge\n    via CA server.\n  - `traefik-acme-dns` — configured Traefik container with a complex ACME\n    challenge via DNS provider.\n- Roles for run Docker container with [Nginx][nginx_url]:\n  - `nginx` — pure Nginx container with \"the best practice\" configuration.\n\n\u003e ✌️ Since Create Go App CLI `v2.0.0`, we're recommended to use **Traefik\n\u003e Proxy** as default proxy server for your projects. The main reason: this\n\u003e proxy provides _automatic_ SSL certificates from Let's Encrypt out of the\n\u003e box. Also, Traefik was built on the Docker ecosystem and has a _really\n\u003e good-looking_ and _useful_ Web UI.\n\n### Database\n\n- Roles for run Docker container with [PostgreSQL][postgresql_url]:\n  - `postgres` — configured PostgreSQL container with apply migrations for\n    backend.\n\n### Cache (key-value storage)\n\n- Roles for run Docker container with [Redis][redis_url]:\n  - `redis` — configured Redis container for backend.\n\n## ⭐️ Project assistance\n\nIf you want to say **thank you** or/and support active development of\n`Create Go App CLI`:\n\n- Add a [GitHub Star][repo_url] to the project.\n- Write interesting articles about project on [Dev.to][dev_to_url], or\n  personal blog.\n- Leave a review on our [ProductHunt][cgapp_product-hunt_url] page.\n\n## ❗️ Support the author\n\nYou can support the author on [Boosty][boosty_url], both on a _permanent_ and on a _one-time_ basis.\n\nAll proceeds from this way will go to **support** my OSS projects and will energize me to **create** new products and articles for the community.\n\n\u003ca href=\"https://boosty.to/koddr/donate\" target=\"_blank\"\u003e\u003cimg width=\"300\" alt=\"support me on Boosty\" src=\"https://raw.githubusercontent.com/koddr/.github/main/images/boosty-badge.svg\"/\u003e\u003c/a\u003e\n\n## 🏆 A win-win cooperation\n\nAnd now, I invite you to participate in this project! Let's work **together** to\ncreate the **most useful** tool for developers on the web today.\n\n- [Issues][repo_issues_url]: ask questions and submit your features.\n- [Pull requests][repo_pull_request_url]: send your improvements to the current.\n\nTogether, we can make this project **better** every day! 😘\n\n## 🔥 Other projects from the author\n\n\u003ca href=\"https://github.com/gowebly/gowebly\" target=\"_blank\"\u003e\u003cimg width=\"99%\" alt=\"gowebly project\" src=\"https://raw.githubusercontent.com/gowebly/.github/main/images/gowebly-project-banner.svg\"/\u003e\u003c/a\u003e\n\n## ⚠️ License\n\n[`Create Go App CLI`][repo_url] is free and open-source software licensed under\nthe [Apache 2.0 License][repo_license_url]. Official [logo][repo_logo_url] was\ncreated by [Vic Shóstak][author] and distributed under\n[Creative Commons][repo_cc_url] license (CC BY-SA 4.0 International).\n\n\u003c!-- Go --\u003e\n\n[go_download_url]: https://golang.org/dl/\n[go_install_url]: https://golang.org/cmd/go/#hdr-Compile_and_install_packages_and_dependencies\n[go_version_img]: https://img.shields.io/badge/Go-1.21+-00ADD8?style=for-the-badge\u0026logo=go\n[go_report_img]: https://img.shields.io/badge/Go_report-A+-success?style=for-the-badge\u0026logo=none\n[go_report_url]: https://goreportcard.com/report/github.com/create-go-app/cli\n[go_code_coverage_img]: https://img.shields.io/badge/code_coverage-88%25-success?style=for-the-badge\u0026logo=none\n[go_dev_url]: https://pkg.go.dev/github.com/create-go-app/cli/v4\n\n\u003c!-- Repository --\u003e\n\n[repo_url]: https://github.com/create-go-app/cli\n[repo_logo_url]: https://github.com/create-go-app/cli/wiki/Logo\n[repo_logo_img]: https://github.com/create-go-app/cli/assets/11155743/95024afc-5e3b-4d6f-8c9c-5daaa51d080d\n[repo_license_url]: https://github.com/create-go-app/cli/blob/main/LICENSE\n[repo_license_img]: https://img.shields.io/badge/license-Apache_2.0-red?style=for-the-badge\u0026logo=none\n[repo_cc_url]: https://creativecommons.org/licenses/by-sa/4.0/\n[repo_v2_url]: https://github.com/create-go-app/cli/tree/v2\n[repo_v3_url]: https://github.com/create-go-app/cli/tree/v3\n[repo_issues_url]: https://github.com/create-go-app/cli/issues\n[repo_pull_request_url]: https://github.com/create-go-app/cli/pulls\n[repo_discussions_url]: https://github.com/create-go-app/cli/discussions\n[repo_releases_url]: https://github.com/create-go-app/cli/releases\n[repo_wiki_url]: https://github.com/create-go-app/cli/wiki\n[repo_wiki_img]: https://img.shields.io/badge/docs-wiki_page-blue?style=for-the-badge\u0026logo=none\n[repo_wiki_faq_url]: https://github.com/create-go-app/cli/wiki/FAQ\n\n\u003c!-- Project --\u003e\n\n[cgapp_deploy_gif]: https://user-images.githubusercontent.com/11155743/116796941-3c421e00-aae9-11eb-9575-d72550814d7a.gif\n[cgapp_create_gif]: https://user-images.githubusercontent.com/11155743/116796937-38160080-aae9-11eb-8e21-fb1be2750aa4.gif\n[cgapp_product-hunt_url]: https://www.producthunt.com/posts/create-go-app?utm_source=badge-review\u0026utm_medium=badge\u0026utm_souce=badge-create-go-app#discussion-body\n[cgapp_product-hunt_img]: https://api.producthunt.com/widgets/embed-image/v1/review.svg?post_id=316086\u0026theme=light\n[cgapp_chi-template_url]: https://github.com/create-go-app/chi-go-template\n[cgapp_fiber-template_url]: https://github.com/create-go-app/fiber-go-template\n[cgapp_net-http-template_url]: https://github.com/create-go-app/net_http-go-template\n\n\u003c!-- Author --\u003e\n\n[author]: https://github.com/koddr\n[author_do_ref_url]: https://m.do.co/c/b41859fa9b6e\n\n\u003c!-- Readme links --\u003e\n\n[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\n[dev_to_url]: https://dev.to/\n[redis_url]: https://redis.io/\n[postgresql_url]: https://postgresql.org/\n[nginx_url]: https://nginx.org/\n[traefik_url]: https://traefik.io/traefik/\n[vitejs_url]: https://vitejs.dev/\n[vuejs_url]: https://vuejs.org/\n[react_url]: https://reactjs.org/\n[preact_url]: https://preactjs.com/\n[nextjs_url]: https://nextjs.org/\n[nuxt_url]: https://v3.nuxtjs.org/\n[sveltekit_url]: https://kit.svelte.dev/\n[svelte_url]: https://svelte.dev/\n[lit_url]: https://lit.dev/\n[chi_url]: https://github.com/go-chi/chi\n[fiber_url]: https://github.com/gofiber/fiber\n[net_http_url]: https://golang.org/pkg/net/http/\n[docker_url]: https://hub.docker.com/r/koddr/cgapp\n[python_url]: https://www.python.org/downloads/\n[ansible_url]: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-specific-operating-systems\n[brew_url]: https://brew.sh/\n[qwik_url]: https://github.com/BuilderIO/qwik\n[solid_url]: https://github.com/solidjs/solid\n[react_swc_url]: https://swc.rs/\n\n\u003c!-- Other projects links --\u003e\n\n[gowebly_url]: https://github.com/gowebly/gowebly\n[gowebly_img_url]: https://github.com/gowebly/.github/blob/a8ae889ed2c5baefcd307ad4505161f98f75669f/images/gowebly-banner-logo.png\n[boosty_url]: https://boosty.to/koddr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreate-go-app%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreate-go-app%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreate-go-app%2Fcli/lists"}