flowpilot 0.0.2 → 0.0.3

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FlowPilot
4
4
 
5
- **桥接 Jira & GitLab — 自动化你的发布流程**
5
+ **Jira & GitLab 工作流自动化工具 从开发到发布,一站式搞定**
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/flowpilot.svg)](https://www.npmjs.com/package/flowpilot)
8
8
  [![node](https://img.shields.io/node/v/flowpilot.svg)](https://www.npmjs.com/package/flowpilot)
@@ -12,188 +12,77 @@
12
12
 
13
13
  ---
14
14
 
15
- ## FlowPilot 是什么?
15
+ ## 是什么?
16
16
 
17
- FlowPilot 是一个 CLI + Web Dashboard 工具,将 **Jira** 和 **GitLab** 连接起来,让发布申请流程自动化:
17
+ FlowPilot **Jira** 和 **GitLab** 串联起来,把日常开发工作流中的重复操作自动化:
18
18
 
19
- - GitLab 项目分支自动提取 `pom.xml` 版本号
20
- - Jira 自动创建或复用发布版本
21
- - 一键生成发布申请 Issue,链接自动复制到剪贴板
19
+ - 配置 Jira / GitLab 凭证
20
+ - 创建发布申请(自动提取版本号、创建 Jira Issue)
21
+ - 结束当前任务(rebase → push → 创建 MR → 更新 Jira)
22
+ - 更多流程持续增加中…
22
23
 
23
- 所有配置和凭证仅存储在本地 `~/.flowpilotrc`,不会发送到任何外部服务。
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
- ```bash
39
- # CLI 交互式配置
40
- flowpilot config
36
+ ---
41
37
 
42
- # 或者打开 Web 页面配置
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 地址** | protocol 前缀,如 `http://git.example.com` |
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
- 无论是 CLI 还是 Web Dashboard,发布流程的核心步骤如下:
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
- 凭证存储在 `~/.flowpilotrc`(JSON 格式):
63
+ 自动从 GitLab 项目分支提取 `pom.xml` 版本号,在 Jira 创建发布 Issue,链接自动复制到剪贴板。
137
64
 
138
- ```json
139
- {
140
- "jiraHost": "https://jira.example.com",
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
- pnpm install
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
- # 小版本更新 (0.0.x)
190
- pnpm release:patch
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
  ---