Skip to content

Commit 5e52990

Browse files
committed
优化tiger脚手架代码
1 parent 1edad61 commit 5e52990

28 files changed

Lines changed: 3435 additions & 729 deletions

external_tools/tiger/README.md

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
# Tiger 脚手架工具 v2.0
2+
3+
Tigo Web 框架的官方脚手架工具,用于快速创建项目、添加 Handler、生成配置等。
4+
5+
## 新版特性
6+
7+
- 模块化架构,易于维护和扩展
8+
- 支持多种项目模板
9+
- 交互式项目创建
10+
- 使用 Cobra CLI 框架,体验更好
11+
- 模板引擎,支持自定义模板
12+
- 完善的错误处理
13+
- 支持通过配置文件自定义默认选项
14+
15+
## 安装
16+
17+
```bash
18+
# 从本地安装
19+
go install github.com/karldoenitz/Tigo/external_tools/tiger@latest
20+
21+
# 或直接编译
22+
cd external_tools/tiger
23+
go build -o tiger .
24+
```
25+
26+
## 使用方法
27+
28+
### 创建项目
29+
30+
```bash
31+
# 基础项目
32+
tiger create myapp
33+
34+
# 使用模板
35+
tiger create myapp --template restful
36+
tiger create myapp --template websocket
37+
38+
# 交互式创建
39+
tiger create myapp --interactive
40+
41+
# 指定选项
42+
tiger create myapp --port 8080 --ip 0.0.0.0 --enable-logger --enable-session --git-init
43+
```
44+
45+
### 添加 Handler
46+
47+
```bash
48+
tiger addhandler UserHandler
49+
tiger addhandler UserHandler --route /user
50+
tiger addhandler UserHandler --methods GET,POST,PUT,DELETE --path internal/handlers
51+
```
52+
53+
### 生成配置文件
54+
55+
```bash
56+
tiger conf config.json
57+
tiger conf config.yaml
58+
```
59+
60+
### 执行 Go Mod
61+
62+
```bash
63+
tiger mod
64+
```
65+
66+
### 查看版本
67+
68+
```bash
69+
tiger version
70+
```
71+
72+
### 获取帮助
73+
74+
```bash
75+
tiger --help
76+
tiger create --help
77+
```
78+
79+
## 项目模板
80+
81+
- `basic` - 基础 Tigo 项目
82+
- `restful` - RESTful API 项目
83+
- `websocket` - WebSocket 项目
84+
- `graphql` - GraphQL 项目(待实现)
85+
- `full` - 全功能项目(待实现)
86+
87+
## 项目结构
88+
89+
```
90+
external_tools/tiger/
91+
├── cmd/ # CLI 命令
92+
│ ├── root.go # 根命令
93+
│ ├── create.go # create 子命令
94+
│ ├── addhandler.go # addhandler 子命令
95+
│ ├── conf.go # conf 子命令
96+
│ ├── mod.go # mod 子命令
97+
│ └── version.go # version 子命令
98+
├── pkg/ # 核心包
99+
│ ├── cli/ # CLI 工具
100+
│ ├── template/ # 模板引擎
101+
│ ├── project/ # 项目创建/修改
102+
│ ├── fileutil/ # 文件操作工具
103+
│ └── config/ # 配置管理
104+
├── templates/ # 模板文件
105+
│ ├── project/ # 项目模板
106+
│ └── middleware/ # 中间件模板
107+
├── main.go # 入口文件
108+
├── go.mod # Go 模块定义
109+
└── tiger.yaml # Tiger 配置文件
110+
```
111+
112+
## 配置文件
113+
114+
`tiger.yaml` 中配置默认选项:
115+
116+
```yaml
117+
version: "2.0"
118+
default_template: "basic"
119+
templates:
120+
- name: "basic"
121+
path: "./project/basic"
122+
- name: "restful"
123+
path: "./project/restful"
124+
- name: "websocket"
125+
path: "./project/websocket"
126+
project_defaults:
127+
port: 8080
128+
ip: "0.0.0.0"
129+
enable_logger: true
130+
enable_session: false
131+
```
132+
133+
## 命令参考
134+
135+
| 命令 | 描述 |
136+
|-------|------|
137+
| `create <name>` | 创建新项目 |
138+
| `addhandler <name>` | 添加 Handler |
139+
| `conf <filename>` | 生成配置文件 |
140+
| `mod` | 执行 go mod 命令 |
141+
| `version` | 显示版本信息 |
142+
| `help` | 显示帮助信息 |
143+
144+
## 与 v1.x 的兼容性
145+
146+
v2.0 保持了向后兼容性,原有的命令用法仍然有效:
147+
148+
```bash
149+
# 旧命令仍然可用
150+
tiger create myproject
151+
tiger addhandler MyHandler
152+
tiger conf config.json
153+
tiger mod
154+
tiger version
155+
```
156+
157+
## 开发
158+
159+
```bash
160+
cd external_tools/tiger
161+
go run main.go --help
162+
go build -o tiger .
163+
```
164+
165+
## 更多信息
166+
167+
- [Tigo 官方文档](https://github.com/karldoenitz/Tigo)
168+
- [问题反馈](https://github.com/karldoenitz/Tigo/issues)
169+
- [重构设计文档](REFACTOR_DESIGN.md)

0 commit comments

Comments
 (0)