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 | 新增子项目类型:backend 或 frontend |
所有命令均不支持位置参数,请使用标志参数。
生成内容
- 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开头,写入目标时自动剥离。