Apache License 2.0

项目介绍

create-go-app/cli 是一个托管在 GitHub 上的开源项目,主要使用 Go 编写,采用 Apache License 2.0 许可证,目前获得 2.8k 个 Star、267 次 Fork。

仓库全名
create-go-app/cli
开源许可证
Apache License 2.0
Star 数
2.8k
Fork 数
267
未关闭 Issue
8

README 摘要

Create Go App CLI 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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

cli 用什么语言开发?

主要使用 Go 编写,采用 Apache License 2.0 许可证,目前有 2.8k 个 Star。

cli 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 cli 的源码?

可以直接克隆仓库:git clone https://github.com/create-go-app/cli.git,默认分支为 main;安装与运行步骤见仓库 README。

cli 最近还在维护吗?

仓库最近一次更新为 2月10日,当前有 8 个未关闭 Issue;Star 数为 2.8k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

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

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

Dockerfile
Go
Jinja
Makefile

Release

README

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 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.21 or higher is required.

👆 You can also use Create Go App CLI via 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]
Option Description Type Default Required?
-t Enables to define custom backend and frontend templates. bool false No

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]
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

cgapp_deploy

📝 Production-ready project templates

Backend

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

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.

Name Description JavaScript Typescript
Pure A pure JavaScript/Typescript app vanilla vanilla-ts
React A common React app react react-ts
React (with SWC) A React app with SWC react-swc react-swc-ts
Preact A common Preact app preact preact-ts
Vue.js A common Vue.js app vue vue-ts
Svelte A common Svelte app svelte svelte-ts
Solid A common Solid app solid solid-ts
Lit A common Lit app lit lit-ts
Qwik 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 A common Next.js app next next-ts
Nuxt A common Nuxt v3 app - nuxt
Sveltekit 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, npm of the correct version is already included.

🚚 Pre-configured Ansible roles

Web/Proxy server

  • Roles for run Docker container with Traefik Proxy:
    • 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 — 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:
    • postgres — configured PostgreSQL container with apply migrations for backend.

Cache (key-value storage)

  • Roles for run Docker container with Redis:
    • 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 to the project.
  • Write interesting articles about project on Dev.to, or personal blog.
  • Leave a review on our ProductHunt page.

❗️ Support the author

You can support the author on Boosty, 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: ask questions and submit your features.
  • Pull requests: 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 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).

评论

暂无评论