Skip to content

gvt init — 创建新项目

交互式 10 步表单,从模板初始化全新全栈项目。

用法

bash
gvt init                 # 交互式创建
gvt init --sub backend   # 新增子项目(backend/frontend)

交互流程

 1/10 ─ Project Name:              项目名称
 2/10 ─ Go Module Path:            Go 模块路径
 3/10 ─ Description:               项目描述
 4/10 ─ Author:                    作者名
 5/10 ─ Frontend Tech Stack:       [x] Vue 3 Portal  [ ] Vue 3 Admin  [ ] React
 6/10 ─ Allow Inline Styles?       No
 7/10 ─ Package Manager:           pnpm(推荐)
 8/10 ─ ORM Framework:             GORM + MySQL
 9/10 ─ Use Docker?                No
10/10 ─ Init Git Repository?       Yes

参数

参数简写说明
--sub新增子项目类型:backendfrontend

所有命令均不支持位置参数,请使用标志参数。

生成内容

  • Go 后端:Gin + GORM,分层架构,统一响应与日志封装
  • 前端:npm create vite@latest 生成最新 Vite/Vue/React,再覆盖规范化目录
  • Git 钩子(.githooks + .gvt/hook/)需运行 gvt add 安装
  • Docker 文件(docker/buildkitd.toml.gvt/docker.toml)由 gvt init 生成 Dockerfile,.gvt/docker 配置由 gvt docker add 产出

子项目模式

在已有项目中追加子项目:

bash
gvt init --sub backend    # 追加后端
gvt init --sub frontend   # 追加前端

交互收集子项目信息后写入对应目录,不重新初始化整个项目。

注意事项

  • 脚手架完成后会自动在生成目录执行 go mod tidy
  • 模板文件使用 [[ ]] 分隔符;.go 模板以 //go:build exclude 开头,写入目标时自动剥离。

基于 MIT 协议开源