3.2 KiB
API Doc Compatible Merge Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 合并插件重构分支,同时保留 API 文档页三个 Tab 的现有 UI。
Architecture: 以当前分支的 Tab 布局为展示外壳,把导出执行替换为 ApiDocExportRequest、RunApiDocExportUseCase 和 AsyncOperationController。历史 Tab 改用公共 ExportHistoryPane,主题样式合并而非二选一。
Tech Stack: Java 17、JavaFX、JUnit 5、Maven、Git
Global Constraints
- Git 评审不参与修改。
- 本地调试代理默认关闭。
- 不恢复
new Thread、setBtnLoading或按钮文字驱动状态。 - 保留三个 Tab 和
.apidoc-tab-pane样式。 - 不修改或暂存用户未跟踪文件。
Task 1: API 文档窗口架构保护测试
Files:
- Create:
src/test/java/com/example/workutils/biz/apidoc/ApiDocWindowArchitectureTest.java - Modify:
src/main/java/com/example/workutils/biz/apidoc/ApiDocWindow.java
Interfaces:
-
Consumes:
AsyncOperationController<ApiDocExportResult>、ExportHistoryPane -
Produces: 不包含旧线程与 Loading 辅助逻辑、仍包含三个 Tab 的窗口源码
-
Step 1: 写失败测试
读取 ApiDocWindow.java,断言包含三个 Tab 和 LoadingButtonBinder.bind,
不包含 new Thread(、setBtnLoading(。
- Step 2: 运行测试并确认失败
Run: .\mvnw.cmd -q -Dtest=ApiDocWindowArchitectureTest test
- Step 3: 合并窗口实现
保留 Tab 容器与模式卡片;导出按钮绑定 exportOperation;历史 Tab 嵌入
ExportHistoryPane;请求由 buildRequest() 构造并交给 use case。
- Step 4: 运行测试并确认通过
Run: .\mvnw.cmd -q -Dtest=ApiDocWindowArchitectureTest test
Task 2: 主题样式合并
Files:
- Modify:
src/main/resources/css/light-theme.css
Interfaces:
-
Consumes:
.apidoc-tab-pane -
Produces:
.operation-status、.empty-state与 Tab 样式同时存在 -
Step 1: 扩展源码测试
断言主题文件同时包含 .apidoc-tab-pane、.operation-status 和
.empty-state。
- Step 2: 运行测试并确认失败
Run: .\mvnw.cmd -q -Dtest=ApiDocWindowArchitectureTest test
- Step 3: 合并两侧 CSS
保留 Tab 样式,并追加异步状态与空状态样式。
- Step 4: 运行测试并确认通过
Run: .\mvnw.cmd -q -Dtest=ApiDocWindowArchitectureTest test
Task 3: 完成分支合并
Files:
- Merge:
codex/plugin-ui-refactorinto20260730-API插件继续优化
Interfaces:
-
Produces: 一个包含重构与兼容 UI 的合并提交
-
Step 1: 提交兼容实现
提交测试、窗口和 CSS 的兼容修改。
- Step 2: 合并到当前分支
使用普通 merge,遇到已解决过的两个文件时采用兼容提交结果。
- Step 3: 完整验证
Run: .\mvnw.cmd -q test
Run: .\mvnw.cmd -q -DskipTests compile
Run: git diff --check
- Step 4: UI 只读验收
确认三个 Tab、代理默认关闭、导出空闲状态和历史 Tab,不触发导出。