flowpilot 0.0.2 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -145
- package/dist/cli.js +309 -82
- package/dist/client/chunks/{client-DSXtnba0.js → client-Cc7BGooE.js} +1 -1
- package/dist/client/chunks/{client-oAYP8wOx.js → client-D1_CE06D.js} +423 -35
- package/dist/client/chunks/{client-Bb-xh-5_.js → client-IzVnMhfC.js} +1 -1
- package/dist/client/chunks/{jsx-dev-runtime-DGBfem3G.js → jsx-dev-runtime-DOO7Tqjo.js} +1 -1
- package/dist/client/client.js +3 -3
- package/dist/serve.js +116 -14
- package/dist/server.js +116 -14
- package/package.json +22 -6
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# FlowPilot
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Jira & GitLab 工作流自动化工具 — 从开发到发布,一站式搞定**
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/flowpilot)
|
|
8
8
|
[](https://www.npmjs.com/package/flowpilot)
|
|
@@ -12,188 +12,77 @@
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## 是什么?
|
|
16
16
|
|
|
17
|
-
FlowPilot
|
|
17
|
+
FlowPilot 将 **Jira** 和 **GitLab** 串联起来,把日常开发工作流中的重复操作自动化:
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
19
|
+
- 配置 Jira / GitLab 凭证
|
|
20
|
+
- 创建发布申请(自动提取版本号、创建 Jira Issue)
|
|
21
|
+
- 结束当前任务(rebase → push → 创建 MR → 更新 Jira)
|
|
22
|
+
- 更多流程持续增加中…
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
所有凭证仅存储在本地 `~/.flowpilotrc`,不会发送到任何外部服务。支持中文 / 英文自动切换。
|
|
24
25
|
|
|
25
26
|
---
|
|
26
27
|
|
|
27
|
-
##
|
|
28
|
-
|
|
29
|
-
### 安装
|
|
28
|
+
## 安装
|
|
30
29
|
|
|
31
30
|
```bash
|
|
32
|
-
# 全局安装(需要 Node.js >= 22.13)
|
|
33
31
|
npm install -g flowpilot
|
|
34
32
|
```
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
需要 Node.js >= 22.13。
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
# CLI 交互式配置
|
|
40
|
-
flowpilot config
|
|
36
|
+
---
|
|
41
37
|
|
|
42
|
-
|
|
43
|
-
flowpilot config --open
|
|
44
|
-
```
|
|
38
|
+
## 首次配置
|
|
45
39
|
|
|
46
|
-
|
|
40
|
+
```bash
|
|
41
|
+
flowpilot config # CLI 交互式配置
|
|
42
|
+
flowpilot config --open # 打开 Web 页面配置
|
|
43
|
+
```
|
|
47
44
|
|
|
48
45
|
| 配置项 | 说明 |
|
|
49
46
|
|--------|------|
|
|
50
47
|
| **Jira 地址** | 带协议前缀,如 `https://jira.example.com` |
|
|
51
48
|
| **Jira 账号** | 用户名(无 @ 后缀) |
|
|
52
49
|
| **Jira 密码** | 仅本地存储 |
|
|
53
|
-
| **GitLab 地址** |
|
|
50
|
+
| **GitLab 地址** | 带协议前缀,如 `http://git.example.com` |
|
|
54
51
|
| **GitLab Token** | 在 GitLab Settings → Access Tokens 生成 |
|
|
55
52
|
|
|
56
|
-
### 创建发布申请
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# CLI 交互式流程
|
|
60
|
-
flowpilot release
|
|
61
|
-
|
|
62
|
-
# 或者打开 Web 页面操作
|
|
63
|
-
flowpilot release --open
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## CLI 命令
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
flowpilot config 交互式配置账号信息
|
|
72
|
-
flowpilot config -o 打开 Web 配置页面
|
|
73
|
-
flowpilot release 创建发布申请(CLI)
|
|
74
|
-
flowpilot release -o 打开 Web 发布页面
|
|
75
|
-
flowpilot serve 启动后台服务
|
|
76
|
-
flowpilot stop 停止后台服务
|
|
77
|
-
flowpilot restart 重启后台服务
|
|
78
|
-
flowpilot update 更新到最新版本
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Web Dashboard
|
|
84
|
-
|
|
85
|
-
启动服务后访问 `http://127.0.0.1:8787`,提供两个页面:
|
|
86
|
-
|
|
87
|
-
### 配置页面 `/config`
|
|
88
|
-
|
|
89
|
-
在浏览器中填写和修改 Jira / GitLab 凭证,保存即时生效。
|
|
90
|
-
|
|
91
|
-
### 发布页面 `/release`
|
|
92
|
-
|
|
93
|
-
通过可视化界面完成发布流程:
|
|
94
|
-
|
|
95
|
-
1. **选择项目** — 从 GitLab 搜索并选择项目
|
|
96
|
-
2. **选择分支** — 选择要发布的分支
|
|
97
|
-
3. **查看版本** — 自动从 `pom.xml` 提取版本信息
|
|
98
|
-
4. **选择 Jira 项目** — 关联到对应的 Jira 项目
|
|
99
|
-
5. **创建 Issue** — 自动创建发布申请,如已存在则直接获取链接
|
|
100
|
-
|
|
101
53
|
---
|
|
102
54
|
|
|
103
|
-
##
|
|
55
|
+
## 使用方式
|
|
104
56
|
|
|
105
|
-
|
|
57
|
+
每个命令都支持 CLI 交互和 Web 页面两种操作方式,`--open` 打开对应的浏览器页面。
|
|
106
58
|
|
|
107
|
-
|
|
108
|
-
┌─────────────────────────────────────────────────────┐
|
|
109
|
-
│ 1. 解析 GitLab项目 │
|
|
110
|
-
│ git remote → 自动识别 / 手动搜索选择 │
|
|
111
|
-
├─────────────────────────────────────────────────────┤
|
|
112
|
-
│ 2. 选择分支 │
|
|
113
|
-
│ 获取所有分支 → 选择目标发布分支 │
|
|
114
|
-
├─────────────────────────────────────────────────────┤
|
|
115
|
-
│ 3. 提取版本号 │
|
|
116
|
-
│ 从 pom.xml 解析 groupId / artifactId / version │
|
|
117
|
-
├─────────────────────────────────────────────────────┤
|
|
118
|
-
│ 4. 关联 Jira 项目 │
|
|
119
|
-
│ 选择目标 Jira 项目 Key │
|
|
120
|
-
├─────────────────────────────────────────────────────┤
|
|
121
|
-
│ 5. 检查已有 Issue │
|
|
122
|
-
│ 搜索同版本 Issue → 如已存在直接返回链接 │
|
|
123
|
-
├─────────────────────────────────────────────────────┤
|
|
124
|
-
│ 6. 确保 Jira 版本 │
|
|
125
|
-
│ 检查版本是否存在 → 不存在则自动创建 │
|
|
126
|
-
├─────────────────────────────────────────────────────┤
|
|
127
|
-
│ 7. 创建发布 Issue │
|
|
128
|
-
│ 生成 Issue → 链接自动复制到剪贴板 │
|
|
129
|
-
└─────────────────────────────────────────────────────┘
|
|
130
|
-
```
|
|
59
|
+
所有带输入的命令支持**历史记录快速执行**:保存每次的输入数据,下次一键复用,无需重新填写。
|
|
131
60
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
## 配置文件
|
|
61
|
+
### 发布申请
|
|
135
62
|
|
|
136
|
-
|
|
63
|
+
自动从 GitLab 项目分支提取 `pom.xml` 版本号,在 Jira 创建发布 Issue,链接自动复制到剪贴板。
|
|
137
64
|
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
"jiraName": "your-username",
|
|
142
|
-
"jiraPassword": "your-password",
|
|
143
|
-
"gitlabHost": "http://git.example.com",
|
|
144
|
-
"gitlabKey": "glpat-xxxxxxxxxxxxxxxxxxxx"
|
|
145
|
-
}
|
|
65
|
+
```bash
|
|
66
|
+
flowpilot release # CLI
|
|
67
|
+
flowpilot release --open # Web
|
|
146
68
|
```
|
|
147
69
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
## 技术栈
|
|
70
|
+
### 结束任务
|
|
151
71
|
|
|
152
|
-
|
|
153
|
-
|------|------|
|
|
154
|
-
| 服务端框架 | Hono |
|
|
155
|
-
| 客户端渲染 | hono/jsx + hono/jsx/dom |
|
|
156
|
-
| 构建 | Rolldown(client 支持代码分包) |
|
|
157
|
-
| CLI 解析 | cac |
|
|
158
|
-
| 交互提示 | @clack/prompts + @inquirer/search |
|
|
159
|
-
| 国际化 | i18next(中文 / 英文自动检测) |
|
|
160
|
-
| 测试 | Vitest |
|
|
161
|
-
| 代码规范 | Biome |
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## 开发
|
|
72
|
+
完成功能分支的全部收尾:rebase、push、创建 MR(自动关联 Jira issue)、更新 Jira 状态。
|
|
166
73
|
|
|
167
74
|
```bash
|
|
168
|
-
#
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
# 开发模式(监听变化自动重建)
|
|
172
|
-
pnpm dev
|
|
173
|
-
|
|
174
|
-
# 构建
|
|
175
|
-
pnpm build
|
|
176
|
-
|
|
177
|
-
# 测试
|
|
178
|
-
pnpm test
|
|
179
|
-
|
|
180
|
-
# 代码检查
|
|
181
|
-
pnpm check
|
|
75
|
+
flowpilot end # 自动检测源分支
|
|
76
|
+
flowpilot end -b develop # 指定目标分支
|
|
77
|
+
flowpilot end --open # Web
|
|
182
78
|
```
|
|
183
79
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
## 发布
|
|
80
|
+
### 服务管理
|
|
187
81
|
|
|
188
82
|
```bash
|
|
189
|
-
#
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
# 功能更新 (0.x.0)
|
|
193
|
-
pnpm release:minor
|
|
194
|
-
|
|
195
|
-
# 大版本更新 (x.0.0)
|
|
196
|
-
pnpm release:major
|
|
83
|
+
flowpilot serve # 启动后台服务
|
|
84
|
+
flowpilot stop # 停止
|
|
85
|
+
flowpilot restart # 重启
|
|
197
86
|
```
|
|
198
87
|
|
|
199
88
|
---
|