next-fx 编码约定
本规则适用于 next-fx/。用户当前指令优先;文档任务只交付文档,不擅自开始完整应用开发。
- 先读
README.md、docs/cursor-development-guide.md和当前阶段相关规格,再读参考源码。不要把旧摘要当作完整需求。 - 目标是 OpenJDK + JavaFX 独立产品:Electron 的信息架构和交互是主要参照,根 Swing Java 版用于算法参考,不把 Swing 界面嵌入主应用代替 JavaFX。
- 默认修改范围仅
next-fx/。读取其他产品不等于修改它们;后续本产品 CI/发布接入确需根目录文件时,仅作有说明的增量修改并保留他人改动。 - 允许复制有权使用的代码、资源和 fixtures,保留来源/许可并在本产品维护。禁止通过 parent POM、源码目录、相对 classpath、符号链接、共享数据库或另一产品的构建输出制造产品间依赖。
- 实现身份隔离表中的全部项目。不得读取全局 Latest 来判断更新,不得覆盖其他产品的 app、快捷方式、锁、凭据、目录或清单节点。
- 稳定 Tool ID 保留 26 个:1 首页 + 25 工具。按功能矩阵逐项实现,不以静态样例、空事件、假进度或禁用关键按钮申报完成。
- 使用 JavaFX 公共 API、Java 类型明确的服务契约与本地 CSS 设计 Token。默认程序化构建 Scene Graph;不把浏览器 CSS 原文直接复制成 JavaFX CSS。
- 编辑器先完成 P0 验证:中文 IME、列编辑、查找替换、大文件、撤销/重做、分离/收回。原生 RichTextFX 为首选;受限 WebView 编辑器是经 ADR 记录的备选,整个应用壳仍须 JavaFX。
- 文件、数据库、网络、Git、解析及子进程均不阻塞 FX Application Thread;后台结果带 revision/requestId,取消和资源释放要真实生效。
- 切工具与分离窗口不销毁正在使用的文档及 undo 状态;同一工具会话只挂在一个容器中。共享事件/主题/快捷键绑定须可解除。
- 系统能力按平台报告可用、未授权、不支持和错误;不能用假数据代替实际失败。真实外部效果遵循用户动作和清楚的作用域,不常驻管理员权限。
- 复制旧 Java 算法前检查其静态配置、DAO、日志、全局 UI 单例和许可依赖;拆成自有纯逻辑,禁止直接搬
Init/MainWindow/根配置启动链。 - 测试须验证行为:字节/结构兼容、取消、错误恢复、数据共存及用户操作。执行当前阶段所需检查,保存真实证据,不宣称未运行的跨平台验证已通过。
- 每轮实现更新
docs/acceptance.md与必要差异记录;说明完成项、验证命令/结果和剩余项。没有验收证据的项目保持待验收。 - 文档里的拟建类、脚本、Maven profile 不是现有实现;先创建并验证后才能报告命令可用。不得因文档给了名称就假定 API/脚本存在。