Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 28565,
"has_wiki": true,
"homepage": null,
"languages": {
"CSS": 102,
"HTML": 879,
"Java": 1489312,
"Shell": 7074,
"Kotlin": 8275995,
"Python": 30972
},
"pushed_at": "2026-07-05T13:47:52Z",
"created_at": "2025-10-16T01:01:13Z",
"owner_type": "User",
"updated_at": "2026-07-05T13:47:56Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "main",
"license_spdx_raw": null,
"primary_language": "Kotlin",
"significant_languages": [
"Kotlin",
"Java"
]
},
"owner": {
"blog": null,
"name": null,
"type": "User",
"login": "zjarlin",
"company": null,
"location": null,
"followers": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/67467679?v=4",
"created_at": "2020-06-26T12:22:26Z",
"is_verified": null,
"public_repos": 55,
"account_age_days": 2220
},
"license": {
"state": "absent",
"spdx_id": null,
"raw_spdx": null,
"file_present": false,
"scorecard_found": false,
"profile_has_license": false
},
"activity": {
"releases": [],
"recent_commits": [
{
"oid": "2199e8a492bf3b5bd4272ba6381545e030a92142",
"body": null,
"is_bot": false,
"headline": "1",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-07-05T13:47:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d35d160bc8baaf548c72223c54564037ecc36bfb",
"body": null,
"is_bot": false,
"headline": "1",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-07-05T13:03:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e000e86c2725edd483d13d2c40b65cffde39797",
"body": null,
"is_bot": false,
"headline": "1",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-07-05T13:03:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80a1ae298197ddbad7d6140523909b6554f2ac97",
"body": "- 新增 @OrderByAsc 和 @OrderByDesc 注解,支持按字段升序降序排序\n- 扩展低代码查询元数据,增加排序字段和排序方向优先级\n- 查询生成器增加排序条件生成,支持自动生成 orderBy 表达式\n- 提供自动生成 applyLowQuery 辅助方法统一应用查询条件和排序\n- 支持检测 Spring @Component 组件,生成对应的 JimmerLowQueryProvider Spring 组件\n- 增强生成代码,支持通过 Spring IoC 运行时获取查询提供者实例\n- README 文档更新,增加排序注解使用示例及说明\n- 构建脚本和模块配置适应新功能及依赖调整\n- 增加单元测试覆盖对排序注解与 Spring Provider 生成的验证",
"is_bot": false,
"headline": "feat(metadata): 添加字段排序支持及spring组件整合",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-25T05:14:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "432b5115a028217fbea98d490e57c87e5f992e9d",
"body": "- 全面替换代码中 _root_ide_package_ 引用为 site.addzero 包路径,简化代码导入\n- 统一 AptLsi* 类和扩展函数的调用路径,提升代码一致性\n- 优化依赖声明,改为使用项目内部模块引用,增强模块化管理\n- 重构 IPUtils,改进本地 IPv4 地址获取逻辑,排除虚拟网卡和无效地址\n- 增加用于网络接口和地址评分的辅助函数,提升 IP 地址判定准确性\n- 调整 PostgreSQL 方言测试,增加单列主键创建表测试用例,完善测试覆盖\n- 优化KSP插件相关测试和配置,新增 jimmer-low-query 插件支持\n- 修正注解读取逻辑,确保数据库列名注解为空字符串时忽略,避免错误映射\n- 更新 settings.gradle.kts,新增多个模块包含,完善构建模块配置\n- 删除无用方法,优化反射工具代码,简化泛型类型获取相关实现",
"is_bot": false,
"headline": "refactor(apt): 移除冗余的_root_ide_package_前缀路径",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-24T07:29:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41a40a3a25f5f75ef1f582704ed97a7fbbf8f546",
"body": "- 新增 DictReflectUtil 工具类封装反射设置字段值逻辑\n- 将 TransUtil 和 TransInternalUtil 中的 ImprovedReflectUtil 调用替换为 DictReflectUtil\n- 修正 SpringUtil 泛型声明以增强类型安全性\n- settings.gradle.kts 中新增并引入 dict-trans-spring-boot-starter 模块\n- 统一字典翻译相关代码的反射处理,提升代码可维护性与扩展性",
"is_bot": false,
"headline": "refactor(dict-trans): 优化字典翻译模块的反射写入实现",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-22T03:50:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "debe5e2869915cfd1ea647fbea667fd38cb10372",
"body": "- lib/tool-jvm/tool-spctx/build.gradle.kts 中取消 gen-reified 插件注释,启用该插件\n- settings.gradle.kts 中增加多个新模块的 include 配置,扩展项目模块结构\n- 新增 mybatis-auto-wrapper 模块的 README,提供详细使用指南及示例代码\n- README 文档中介绍了@Where注解及其参数,方便自动构建查询条件\n- 说明了生成查询 DTO 规则和常见模板,提升代码生成质量和一致性",
"is_bot": false,
"headline": "chore(build): 启用 gen-reified 插件并更新模块配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-22T01:58:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae164115dc7019bfe29b18dd2527383be483cecb",
"body": "- 新增 lib:tool-jvm:tool-s3 模块集成 S3 兼容存储 SDK\n- 统一封装 AWS S3、MinIO、RustFS、Cloudflare R2 等后端操作接口\n- 实现分片上传、断点续传和上传进度追踪功能\n- 提供 RustFS 连接配置及工具类支持基本 CRUD 与智能上传\n- 支持多种上传进度状态存储方案与实时回调监听\n- 完善README文档,详细说明核心能力及快速使用示例\n- 调整 settings.gradle.kts,包含新模块 tool-s3 至构建配置中",
"is_bot": false,
"headline": "feat(s3): 添加 S3 兼容对象存储工具库及相关文档",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-21T08:48:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bad4dc3ad2e4cdc79e3b156171b1d1f217c3095c",
"body": "- 详细介绍插件核心能力,包括一键 Maven Central 发布、README 自动摘要、发布依赖排序等功能\n- 说明聚合发布任务的用法及自动向子模块传播机制\n- 提供根项目与子项目的配置示例代码\n- 列出插件扩展属性及默认值,便于用户定制化配置\n- 说明 artifactId 命名规则和签名自动启用条件\n- 列举插件依赖,帮助理解插件内部实现与外部依赖关系",
"is_bot": false,
"headline": "docs(gradle-publish-budy): 添加插件使用说明文档",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-21T08:38:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0989377d38866daed54a63bb3c331c0d231d1e28",
"body": "- 新增 useLeafName 配置,默认为 true,支持继承根项目配置\n- 提供根到叶子项目名组合生成 artifactId 的方法 rootToLeafArtifactId()\n- 根据 useLeafName 配置选择发布的 artifactId 为叶子名或根到叶子路径组合\n- 发布配置中使用组合生成的 artifactId 替换默认项目名\n- 添加单元测试验证 artifactId 从根到叶子路径组合的生成逻辑\n- 在 PublishConventionExtension 中添加 useLeafName 属性定义\n\nfix(web): 支持 Admin API 多包路径配置\n\n- adminApi.controller 支持以英文逗号分隔多个包路径\n- 自动配置中实现多个 controller 包路径匹配,应用对应 API 前缀\n- 避免包路径为空时失败,确保匹配稳定可靠\n\nchore(settings): 优化 Gradle 模块包含配置\n\n- 将部分模块注释为“excluded by Gradle Buddy”,避免",
"is_bot": false,
"headline": "feat(publish-buddy): 支持根据项目路径生成 artifactId",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-21T03:13:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "084cfcb606f9c4cf586ca0a3bc32c24d526ecbce",
"body": "- 修改settings.gradle.kts中的模块生成时间为2026-06-20T14:04:25\n- 保持模块包含配置不变\n- 优化自动生成模块时间记录准确性",
"is_bot": false,
"headline": "chore(build): 更新Gradle模块生成时间戳",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-20T06:09:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7783c52db858d7b5911b96d61f89162aeb6746d5",
"body": "- 移除 yudao-spring-boot-starter-websocket 模块及相关包注释\n- 删除基于部门的数据权限规则相关包注释\n- 删除数据权限包注释\n- 删除 yudao-dependencies BOM 文件,清理所有依赖版本管理\n- 删除 yudao-common 模块及其 POM 文件\n- 删除 yudao-spring-boot-starter-biz-data-permission 模块及其 POM 文件",
"is_bot": false,
"headline": "refactor(build): 删除 yudao 相关模块及依赖管理配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-20T05:48:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72d6dff3b0ca35cb2ff958fd297c1f17c3090254",
"body": "- 移除对 kotlin 标准库的依赖声明\n- 清理 build.gradle.kts 文件中的冗余依赖代码\n- 保留 mavenCentral 仓库配置不变",
"is_bot": false,
"headline": "refactor(build): 删除未使用的依赖配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-20T02:32:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8260712aabf112c50d280d831cc8a7610daa7ce2",
"body": "- 移除对 kotlin 标准库的依赖声明\n- 清理 build.gradle.kts 文件中的冗余依赖代码\n- 保留 mavenCentral 仓库配置不变",
"is_bot": false,
"headline": "refactor(build): 删除未使用的依赖配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-19T02:11:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44040f4994bdf86f57f3cce1dd8941d861ec5159",
"body": "- 为gen-reified-gradle-plugin配置Java 11及Kotlin JVM目标版本\n- 为tool-jackson模块添加kotlin(\"plugin.spring\")插件和stdlib依赖\n- 注释掉tool-spctx模块的gen-reified插件应用\n- 在根build.gradle.kts中加入kotlin(\"plugin.spring\")及stdlib依赖和mavenCentral仓库\n- 删除gen-reified-gradle-plugin中旧的gen-reified.gradle.kts文件,改为新文件实现\n- 精简settings.gradle.kts,去除多个旧模块的include,保留tool-jackson及关联模块\n- 统一mavenCentral作为主要仓库来源",
"is_bot": false,
"headline": "chore(build): 优化Gradle配置和项目模块管理",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-18T14:06:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2437e7256dc3a237b94bf73a0299a926a1a9b489",
"body": null,
"is_bot": false,
"headline": "Allow manual Maven Central module publish",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-18T10:19:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8231dc9da8056731d67a7db6da738aba5b2759f8",
"body": null,
"is_bot": false,
"headline": "Extract Jackson support modules",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-18T10:06:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08a0895cb88ff4440b1e3ab6a4f3088edf966d95",
"body": "- 为多个 RPC 服务接口添加唯一的 contextId,避免 FeignClient 冲突\n- 新增 yudao-spring-boot-starter-captcha 模块及其依赖配置\n- 调整项目依赖版本,升级 Spring Boot、Spring Cloud 及相关组件版本\n- 启用 Javadoc 任务配置,设置忽略错误",
"is_bot": false,
"headline": "feat(captcha): 集成验证码模块及优化RPC接口定义",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-18T02:54:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15ef40e03f74dc6b41bfd2d5ff1b4e2d744094bb",
"body": null,
"is_bot": false,
"headline": "feat: 删除 lib 和 tool-jvm 目录下的 README 文件",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-15T23:17:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d33f55367b74d3bab67d5417e9f011baeb1d127",
"body": null,
"is_bot": false,
"headline": "feat: 添加 WebSocket 工具类及相关配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-15T06:09:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d74d0bb4e3221b82e537edd4d38983c83c17d52",
"body": "新增A.kt测试支持文件到JVM测试目录下,为KMP项目提供测试基础设\n施支持。",
"is_bot": false,
"headline": "feat(kog): 添加KMP测试支持文件",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-15T06:07:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca6ec66024eabfbcff0e283f8ee276f0dc90e4d2",
"body": "- 新增ActiveStatus数据类,表示线程处于活动状态\n- 添加AddUploadPartRequest用于上传分块数据\n- 增加AdminApiKey及相关创建请求和响应的数据模型,支持组织管理员API密钥管理\n- 引入ApplyPatch相关操作模型,支持创建、更新、删除文件的patch工具调用\n- 新增AssistantObject及其相关工具和资源模型,支持助手对象功能和工具调用\n- 定义Attachment及附件类型相关模型,用于线程项中的附件元数据\n- 增加AudioTranscription及响应格式类型,用于音频转录功能\n- 添加多个辅助类型和工具选择模型,支持工具调用和响应格式选项的定义\n- 使用kotlinx.serialization实现序列化支持,符合OpenAI OpenAPI规范自动生成要求",
"is_bot": false,
"headline": "feat(api-openai): 添加OpenAI模型相关的数据模型定义",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-13T10:03:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88b279fc985d35ebe049630197c88c0177daa2e4",
"body": "- 在AppSettings中新增sidebarExpanded属性,默认展开左侧栏\n- 在AppState中增加sidebarExpanded的状态管理及切换方法\n- 修改ScaffoldScreen以根据sidebarExpanded控制侧边栏显示\n- SideActionToolbar新增折叠和展开两种状态的工具栏组件\n- 在侧边栏添加切换按钮,支持折叠和展开操作\n- CoreServerRoutePlugin构造注入依赖优化,去除无用注入\n- ScaffoldScreen中新增生命周期钩子,刷新菜单及同步选中场景",
"is_bot": false,
"headline": "feat(app-ui): 添加工作台左侧栏展开/折叠功能支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-13T07:24:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ac425dd6a0b029963e36f8a872135ce5e85b2b1",
"body": "- 新增lib/api/api-openai模块并纳入项目编译设置\n- 添加OpenAiAdminApiKeysApi接口及其API方法,支持API Key管理\n- 添加OpenAiAssistantsApi接口及其API方法,支持助理和会话管理\n- 添加OpenAiAudioApi接口及其API方法,支持音频生成和转录\n- 添加OpenAiApiBodies和OpenAiApiPaths,定义请求体和路径常量\n- 优化metadata插件中实体选择逻辑,移除DDL预览功能\n- 移除Koin中koin-compose-viewmodel-navigation依赖及相关配置\n- 清理并删除相关libs.versions.toml中Koin和AndroidX导航组件依赖",
"is_bot": false,
"headline": "feat(api-openai): 新增OpenAI相关API模块支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-13T05:21:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0e18d96ee6db1fcf8d836a13a563f1fdb4cddbf",
"body": "- 新增 MaterialShapesSerializer 和 MaterialTypographySerializer,用于序列化 Material3 主题的 shapes 和 typography\n- 扩展 composeSerializersModule,包含 MaterialTheme 相关的序列化模块\n- 添加 ContextualMaterialShapesPayload 和 ContextualMaterialTypographyPayload 测试,确保序列化完整性\n- 优化 ComposeColorSerializersTest,增加对 Material3 Shapes 和 Typography 的序列化测试支持\n- 引入 kotlinx.serialization.json.decodeFromJsonElement 用于反序列化处理\n- 完善对 Material3 主题组件的序列化兼容性,提升 JSON 序列化支持力度",
"is_bot": false,
"headline": "feat(json): 支持 Material3 Shapes 和 Typography 的序列化",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T12:18:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "744b54365f2fa33e87b0e89ca45dda1ebaff9d46",
"body": "- 新增对 Dp、TextUnit、PaddingValues、BorderStroke 和 TextStyle 等 Compose 类型的序列化测试用例\n- 验证编码和解码过程中的数据一致性,确保自定义序列化模块正确生效\n- 通过 Contextual 注解实现对多种 Compose UI 类型的上下文感知序列化\n\nrefactor(sys-agent): 使用 styleable 重构 Agent 控件相关 Modifier\n\n- 将 AgentConsoleScreen 和 AgentManagementScreen 中的多处 Modifier 改为 styleable 实现,简化样式链式调用\n- 引入 Experimental",
"is_bot": false,
"headline": "test(json-compose): 增加 Compose 相关类型的序列化测试",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T08:37:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c078e09033dea90bd8687d33bbfceb026ecd794c",
"body": "- 删除 ConfigCenterJimmerStore 类及其相关实现,简化配置中心代码结构\n- 调整 ConfigCenterHistoryEntity,替换部分字段名称,新增 appType 字段,增强数据模型适应性\n- 更新 settings.gradle.kts,调整包含模块,减少加载模块数量\n- 新增 ConfigCenterProjectEntity 实体,支持项目维度的配置管理\n- 优化配置历史实体字段,提升配置管理的灵活性和扩展性",
"is_bot": false,
"headline": "refactor(config-center): 重构配置中心核心模块及调整实体定义",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T08:30:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24b63c21ad3b857f30b75b5ac95ff74c43c0e28b",
"body": "- 新增 ComponentVisualTokens 数据类及其子类,统一管理组件视觉配色及形状\n- 组件内部改用 currentComponentVisualTokens() 从 Koin 获取统一视觉默认值\n- MaterialComponentVisualDefaults 实现调整为通过视觉 token 赋值,实现统一和集中管理视觉样式\n- EditableDenseTable 等组件改为使用统一视觉 token 替代原生 MaterialTheme.appColors\n- 修正 DropdownMenuItem 移除不必要的颜色动画,优化性能\n- 删除 ConfigCenterHistoryEntity,重构配置中心模型,改用项目、环境、文件层级结构\n- 配置中心新增复制、移动、提取通用配置等请求和响应模型\n- 代码中相关视图默认值、边框、色彩、形状等实现均调整为使用组件视觉 token\n- 优化 Scaffold 屏幕中 ViewModel 的 Koin 注入写法",
"is_bot": false,
"headline": "refactor(component): 重构视觉组件的视觉 token 机制",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T08:28:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fda7b06949ea3ff17d2393dd46e0d84294caba81",
"body": "- 更新 example/demo 模块的 Gradle 包版本\n- 更新 example/example-spread-pack 模块的 Gradle 包版本\n- 更新根项目的 Gradle 包版本至 9.5.1\n- 修改 settings.gradle.kts,增加了新模块的 include 配置\n- 调整了生成时间和加载的模块数量信息",
"is_bot": false,
"headline": "chore(gradle): 升级 Gradle 版本至 9.5.1",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T08:27:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "affc0680cf9e9ed87f0f978f450875bfb5aa10a8",
"body": "- 新增 ComposeShapeSerializer 实现,实现 Shape 及其子类的 JSON 序列化与反序列化\n- 定义 ComposeShapeSurrogate、ComposeCornerSizeSurrogate 等数据类作为序列化代理\n- 支持 RectangleShape、CircleShape、RoundedCornerShape 及 AbsoluteRoundedCornerShape 的序列化\n- 更新 ComposeJsonConfig,合并颜色与形状序列化模块,统一 Json 扩展函数\n- 在测试中添加对 Shape 类型上下文序列化支持的用例,确保编码解码正确\n- 调整 build",
"is_bot": false,
"headline": "feat(tool-json-compose): 添加 Compose Shape 序列化支持和相关测试",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T08:22:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22858b3475c26142135ffbf8e2996c220c5395ff",
"body": "- 新增 AddButton 组件,支持图标和文本组合按钮,颜色与样式可定制\n- 新增 AddDeleteButton 组件,支持删除确认与取消操作交互\n- 新增 AddEditDeleteButton 组件,集成编辑和删除操作及自定义扩展槽\n- 新增 AddIconButton 组件,带提示框的图标按钮,支持启用禁用状态\n- 新增 AddLoadingButton 组件,支持加载状态指示和图标显示\n- 迁移多个组件 import 路径至 high_level.layout 以优化模块结构\n- 删除旧的 AppLayout 相关布局文件,简化布局维护\n- AvatarBubble 组件增强,支持样式颜色字体多参数覆盖默认视觉设定\n- BadgeSurface 组件增强,支持默认样式通过依赖注入动态解析",
"is_bot": false,
"headline": "feat(buttons): 添加多种新增删除编辑按钮变体",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T07:19:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41a428bacdf5c5daf598667d2c88bb33a13d5300",
"body": "- 新增 ComposeColorArgbIntSerializer,实现 Compose Color 的 ARGB Int 序列化与反序列化\n- 新增 MaterialColorSchemeArgbIntSerializer,实现 Material3 ColorScheme 的 ARGB Int 对象序列化\n- 添加 composeColorSerializersModule,注册 Color 与 ColorScheme 的序列化器\n- 扩展 Json 配置,提供带 Compose 颜色序列化模块的 Json 实例\n- 新建 tool-json-compose 模块,集成工具库中的 Json 与 Compose 颜色序列化功能\n- 设置模块依赖及 Gradle 配置,保证 Compose 相关依赖正确引入\n- 编写单元测试,验证 Color 与 ColorScheme 的上下文序列化行为正确\n- 修正 tool-json 中 kotlin.time.Instant 使用,改为支持新类型序列化上下文",
"is_bot": false,
"headline": "feat(tool-json-compose): 添加Compose颜色及颜色方案序列化支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T04:41:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61a8c6c2c64dadf1670d0cb7eb14dbe7f0521363",
"body": "- 从 AppState 中移除复杂的序列化和多重嵌套数据类,变为更简单的状态管理\n- 新增独立的 AppSettings 数据类,用于统一管理用户偏好设置\n- 将持久化相关状态与非持久化运行时状态区分,提升代码可维护性\n- 简化 Compose UI 入口,移除旧的账户认证组件,精简应用启动流程\n- 增加 ConfigCenter 客户端支持删除操作,完善配置中心功能\n- 优化网络客户端配置,添加超时和默认请求头,提升请求稳定性\n- 移除旧版账号入口页面相关组件代码,清理无用资源\n- 更新服务端配置获取逻辑,使用统一 ConfigCenters 接口\n- 新增多项测试用例增强对配置中心读写和回退机制的覆盖\n- 升级构建脚本,添加 Android 库插件和相关依赖版本管理",
"is_bot": false,
"headline": "refactor(app): 重构应用状态和设置数据模型以简化结构",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-12T00:25:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fce8d0a7eddf32270b2efc0dba26a525d8a9b4d9",
"body": "- 删除 build.gradle.kts 中 jvmTest 任务的环境变量配置及相关属性输入输出\n- 将 ConfigCenterEncodingTest 重命名为 ConfigCenterIntegrationTest 并改写测试内容\n- 添加对远程配置中心的实际读写验证,涵盖字符串、数字、布尔值和对象类型\n- 验证 dev 命名空间能正确回退并覆盖 common 命名空间中的配置项\n- 移除对无效的序列化字段名测试",
"is_bot": false,
"headline": "test(configcenter): 替换编码测试为集成测试并移除不必要的构建任务",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-11T10:09:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ce9310c6d6177dc166315026e61c72b24c59e4f",
"body": "- 在 ConfigCenter 中新增 commonNamespace 字段,支持公共命名空间配置\n- 修改 checkoutNamespace 方法,默认推断并支持传入公共命名空间\n- getItem 方法新增从公共命名空间读取配置的回退逻辑\n- 添加 inferCommonNamespace 方法用于自动推断公共命名空间\n- 在测试中新增 checkoutNamespace 推断公共命名空间的单元测试\n- 在 build 脚本中为 jvmTest 任务添加环境变量输入属性,避免重复执行",
"is_bot": false,
"headline": "feat(configcenter): 支持公共命名空间回退及相关测试",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-11T09:14:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ceccdd115e3463f756e6aef6429036a4df24c22c",
"body": "- 删除自适应阵列网格默认配置和复杂响应式计算,简化为单列数属性\n- 重命名 MellumCardType 为 CardType,相关函数与类型名称同步修改\n- 调整 Card 组件使用新的 CardType 和 CardStyle 实现视觉样式\n- 调整苹果圆角默认半径,默认值由 Large 改为 Medium\n- 重命名主题圆角文件从 Radius.kt 改为 AppRadius.kt 并添加序列化支持\n- 删除冗余的动态插件加载模块代码\n- 清理和优化 Gradle 构建脚本,调整项目依赖和模块包含\n- 新增 Compose 账户入口页预览函数,方便快速预览 UI 组件\n- 修改环境变量插件 Flyway 配置,增加是否启用判断,路径使用常量\n- 清理 CMP 设计器相关插件入口代码,改为 Koin 配置扫描\n- 修正主题相关导入路径,统一使用 theme.model.ThemeMode\n- 注释禁用部分过时或冗余插件依赖和插件安装任务",
"is_bot": false,
"headline": "refactor(component): 重构自适应阵列网格设置及卡片类型",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-11T07:11:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68441988cafa39d225da627229d2557b46b4ebe1",
"body": "- 新增 ConfigCenterNamespace 和 ConfigCenterGroup 相关数据模型\n- 在 API 客户端中支持命名空间和分组的增删改操作\n- 服务端路由新增命名空间和分组的 REST 接口\n- 数据库查询新增依据 groupId 过滤支持\n- 配置中心前端视图模型改造以支持树形展示命名空间、环境、分组和配置项\n- 实现配置中心树形节点的选中、展开、新建和删除操作逻辑\n- UI 层添加图标支持,丰富节点类型的展示效果\n- 屏蔽部分插件和依赖,简化项目配置\n- 调整 kotlin sourceSets 和依赖声明,修改项目模块包含内容\n- 添加多个支持类 Draft,优化界面表单数据管理与交互流程\n- 优化刷新逻辑,自动调整选中节点与展开状态,提升用户体验",
"is_bot": false,
"headline": "feat(config-center): 新增配置中心命名空间和分组管理功能",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-10T08:07:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08f0597c70e65676413326188a0c5fb1cf1a047d",
"body": "- 将数据源配置类从 CmpAioDatasourcePropertiesSpi 重命名为 DatasourcePropertiesSpiImpl\n- 简化数据源配置,移除环境变量读取,使用硬编码的默认连接信息\n- 将Flyway配置类从 CmpAioFlywayConfigSpi 重命名为 FlywayConfigSpiImpl\n- 移除多余的类型声明,让 order 属性简洁化\n- 删除未使用的 ServerRoutePluginAdapter 文件",
"is_bot": false,
"headline": "refactor(config): 重构数据源和Flyway配置实现类名称",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-10T03:28:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e35fc832053a0ec2fc6b24e40408e87a8bd3cb4",
"body": "- 添加 SyncDriveRuntimeConfig 配置支持及认证层 SyncDriveAuth\n- 修改主函数以读取配置并启动嵌入式服务器\n- 在 Application 模块中新增认证验证,保护 HTTP 和 WebSocket 接口\n- 实现基于 token 的访问控制,拒绝缺失或错误 token 的请求\n- 增加健康检查返回详细服务状态和配置信息\n- 依赖注入中新增 InMemoryAppStateRepository 实现,简化状态存储\n- 多个组件中用 Column 替代 StackedContentColumn,统一布局实现\n- 调整图标引用,更新智能体页面图标为 IconKeys.SMARTTOY\n- 重命名模块包路径 kcloud 为 plugin,调整相关导入语句\n- 增加 WebSocket 客户端",
"is_bot": false,
"headline": "refactor(syncdrive): 重构同步驱动服务以支持认证和配置管理",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-06T02:26:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "268983daed7528b14fc75f027ace937c2c089012",
"body": "Introduces abstract base classes for Redis Pub/Sub and Stream messaging, WebSocket messaging, desensitization handling, and API access logging. These implementations simplify message handling, logging, and data processing while enabling extensibility for specific scenarios.",
"is_bot": false,
"headline": "Add abstract classes for Redis MQ, WebSocket, Desensitization",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-05T09:32:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2405c058865bcac8b66ad5770534de978929185",
"body": "- 删除 AdminFallbackScaffoldScreen 及其所有相关实现\n- 删除 AdminScaffoldScreen 期望声明和 AdminScaffoldState 相关类\n- 精简 AdminMenuModels,移除旧菜单树和序列化模型,替换为更简单的路由数据结构\n- 修改 AppMetadataSpi,替换菜单树为路由列表接口\n- 调整 DefaultAppMetadataSpi 以返回路由列表\n- 更新 AgentManagementScreen 使用 RouteMetadata 替代 AdminPageMetadata\n- 替换 App.kt 中的 AdminSca\n[…]\nme\n- 更新测试预览中多处 Workbench 相关组件命名,切换到 Navigation 组件命名\n- 调整内置面板插件接口和实现适配改名的 ConsolePanelPlugin\n- 升级依赖,添加对 site-addzero-route-core 的实现依赖\n- 清理若干注释掉的测试依赖和 JS 主体依赖声明\n- 调整服务器启动端口从8080改为8071,移除部分未使用的 Koin 模块声明",
"is_bot": false,
"headline": "refactor(admin): 移除旧管理后台相关代码并简化元数据结构",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-04T09:35:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9e987af31b68a2477bb4363105bb82ddd09014c0",
"body": null,
"is_bot": false,
"headline": "fix(docs): use published xiaoeyu package",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-04T08:23:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45e1333dc5d68ab2310d430b40fa491d10da7a74",
"body": "- 删除多平台实现的AdminScaffoldScreen文件,简化代码结构\n- 移除AdminScaffoldScreen的相关JVM测试类和UI测试代码\n- 清理JVM端智能体模型目录实现和测试内容\n- 替换CodexWorkbenchScaffold中的图标映射,统一使用IconMap\n- 调整CodexWorkbenchScaffold样式,改用appleRoundedShape圆角\n- 清理多处依赖声明,删除kmp-ai-ide相关模块和配置\n- 引入新的kmp-json-withtool插件,替换旧的kmp-json使用\n- 统一引入和使用toolJson作为JSON序列化配置\n- 精简settings.gradle.kts,更新模块包含列表,仅保留核心模块\n- 升级工具依赖版本,更新tool-tree版本至最新\n- 添加Gradle文件的Experimental API注解使用,规范构建脚本代码",
"is_bot": false,
"headline": "refactor(admin): 移除旧的AdminScaffoldScreen及相关测试代码",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-06-04T02:19:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8853f2ea78eb3ff249eeea7bea637fb46489cc00",
"body": "- 删除 AdminWorkbench 相关骨架、顶部栏、按钮等实现\n- 移除 app-sidebar 组件中后台管理相关所有定义和实现\n- 清理引用路径,调整 compose-apple-corner 模块导入路径\n- 更新 build 文件,移除部分无用模块依赖\n- 修正版本依赖,回退 agp 版本至 9.0.0\n- 优化 Compose 模块导入,统一调整包路径引用\n- 替换 Koin 配置调用,更新 VibeSpace 应用配置代码",
"is_bot": false,
"headline": "refactor(appsidebar): 移除后台工作台相关代码及组件",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-30T09:10:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd91ce92c5ae2977a41f5d0473b4b2498e2ecba6",
"body": "- 删除 lib/tool-jvm/tool-jvmstr 模块的构建脚本及相关测试代码\n- 从设置文件中移除 tool-jvmstr 模块的包含配置\n- 在版本管理文件中升级 koog 版本至 1.0.0\n- 新增 alipay-easysdk、wechatpay-java、playwright 和 unbescape 依赖版本与声明\n- 扩展 settings.gradle.kts 文件,包含更多相关子模块以支持扩展功能模块管理",
"is_bot": false,
"headline": "chore(build): 移除 tool-jvmstr 模块并更新依赖配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-30T07:22:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "561e0cd81ca4f013a5a4ad853aa5f9877f6df1d9",
"body": "- 实现 ModbusExternalCArtifactWriter,支持头文件和源文件额外输出到固件工程\n- 支持桥接实现文件单独写入并跳过覆盖,防止业务代码丢失\n- 自动清理遗留的旧版本生成文件和 Markdown 文档\n- 通过配置环境选项控制输出目录和路径\n- 添加单元测试覆盖不存在输出目录时的警告及跳过逻辑\n\nfeat(modbus-ksp-keil-sync): 实现 Keil uvprojx 工程文件细粒度同步工具\n\n- 开发 KeilUvprojxSyncTool 按指定 Target 和 Group 替换 Files 段内容\n- 保留现有 Targets、选项及其他 Grou\n[…]\n)\n- 整合 smoke 测试和代码生成任务的依赖关系,确保顺序正确\n\nchore(settings): 配置多模块项目包含新增 modbus 相关子模块\n\n- 在 settings.gradle.kts 中新增 modbus-ksp-rtu-smoke 和 modbus-ksp-keil-sync 等模块\n- 启用 Gradle 类型安全访问器和相关插件支持\n- 配置模块按需加载块,优化构建性能",
"is_bot": false,
"headline": "feat(modbus-ksp-core): 添加 Modbus 外部 C 产物镜像输出支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-29T05:43:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ed676517a24dc79c20bebbff9a4c9654dd91e57c",
"body": null,
"is_bot": false,
"headline": "删除 kcloud-paths 和 xiaoeyu 模块及其相关文件",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-21T13:31:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56f35e8cf92b4bc74c1e99d0d1e7cadb1274e459",
"body": null,
"is_bot": false,
"headline": "feat: 更新构建配置并添加本地字体权限检查",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-21T13:08:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c784ad679e19d39999d06ece18fab60fb6dbb6d",
"body": null,
"is_bot": false,
"headline": "Add tool-api-email provider platform",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-21T08:09:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d33d8a939c7aca33ee06122db427575123587863",
"body": null,
"is_bot": false,
"headline": "change",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-05-11T08:35:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eea18c170694410cbbdfbbdd74855b35ac07f4e",
"body": "- 新增 build.gradle.kts 配置,集成 kotlin-convention、ksp、serialization 插件\n- 实现烟雾测试所需的外部工程准备任务和依赖配置\n- 编写 DeviceApi.kt,定义 24 路数字输出和设备运行信息的 Modbus RTU 协议契约\n- 编写 FlashApi.kt,提供固件烧录与设备复位的 Modbus RTU 协议契约\n- 添加 ModbusRtuSmokeGeneration",
"is_bot": false,
"headline": "feat(modbus): 添加 modbus-ksp-rtu-smoke 冒烟测试模块",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-16T00:57:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfb428b95ee57c4e7394cc3341158a1c4a9d899a",
"body": "- 明确 modbus 目录为完整协议元数据与代码生成模块套件\n- 按职责划分四层子模块:业务接入层、原始处理器层、SPI 扩展层、纯模型/工具层\n- 更新推荐业务接入模块使用方案及示例配置\n- 详述元数据输入模式和配置参数说明\n- 明确 transports 参数用法限制及多协议同时生成要求\n- 补充当前默认发布插件策略及项目间联调建议\n- 细化子模块角色、用途及依赖建议\n- 更新文档目录结构,删除废弃模块引用",
"is_bot": false,
"headline": "docs(modbus): 重构 Modbus 协议元数据文档和模块说明",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-15T09:30:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9173afed86977f37afb7bb71921ced9153bfa1ba",
"body": "- 明确 modbus 目录为完整协议元数据与代码生成模块套件\n- 按职责划分四层子模块:业务接入层、原始处理器层、",
"is_bot": false,
"headline": "docs(modbus): 重构 Modbus 协议元数据文档和模块说明",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-15T09:05:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2abbe199983d2447601dd28a7098cd8a7657cbde",
"body": "- 在 modbus-ksp-core、modbus-ksp-mqtt 和 modbus-ksp-rtu 模块中添加 Kotlin 合约项目依赖\n- modbus-ksp-rtu-smoke 中改进任务依赖配置以支持多 KSP 任务\n- 新增 modbus-ksp-tcp 模块,配置项目及依赖环境\n- gradle.properties 中优化 Kotlin 和 Gradle 配置参数以提升性能\n- 完善 ModbusArtifactRendererTest,增加大量单元测试覆盖自动生成的合约、服务和工作流相关代码\n- 测试涵盖中文注释保留、Markdown 文档生成、Kotlin 接口和 DTO 输出、异常捕获、\n Spring",
"is_bot": false,
"headline": "feat(modbus): 集成 Kotlin 合约模块并增强测试覆盖",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-15T08:38:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26ccfc06322a20203c1ead8072bcf4f9c32f1453",
"body": "- 实现 ModbusExternalCArtifactWriter,支持头文件和源文件额外输出到固件工程\n- 支持桥接实现文件单独写入并跳过覆盖,防止业务代码丢失\n- 自动清理遗留的旧版本生成文件和 Markdown 文档\n- 通过配置环境选项控制输出目录和路径\n- 添加单元测试覆盖不存在输出目录时的警告及跳过逻辑\n\nfeat(modbus-ksp-keil-sync): 实现 Keil uvprojx 工程文件细粒度同步工具\n\n- 开发 KeilUvprojxSyncTool 按指定 Target 和 Group 替换 Files 段内容\n- 保留现有 Targets",
"is_bot": false,
"headline": "feat(modbus-ksp-core): 添加 Modbus 外部 C 产物镜像输出支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-15T01:09:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0bba9b2aca13245f14546dc8fbcaa0f812a5d44",
"body": "- 在 route-processor 模块中设置版本号为 2026.04.09\n- 调整 settings.gradle.kts 中的模块加载列表,移除部分模块并添加 route-processor 模块\n- 新增 kmp-aio 项目的基础 settings.gradle.kts 文件及相关插件配置\n- 启用类型安全的项目访问功能(TYPESAFE_PROJECT_ACCESSORS)",
"is_bot": false,
"headline": "chore(gradle): 更新项目模块配置和版本号",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-14T08:00:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f60bd3b76914fac3582fdac849f1ab670761b1e5",
"body": "- 在 route-processor 模块中设置版本号为 2026.04.09\n- 调整 settings.gradle.kts 中的模块加载列表,移除部分模块并添加 route-processor 模块\n- 新增 kmp-aio 项目的基础 settings.gradle.kts 文件及相关插件配置\n- 启用类型安全的项目访问功能(TYPESAFE_PROJECT_ACCESSORS)",
"is_bot": false,
"headline": "chore(gradle): 更新项目模块配置和版本号",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-14T05:26:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58c04864b6428c394418469063524ea2456566d8",
"body": "- 新增modbus-codegen-core模块及其依赖配置\n- 新增modbus-ksp-c-contract模块及其依赖配置\n- 新增modbus-ksp-core模块及其依赖配置\n- 新增modbus-ksp-mqtt模块及其依赖配置\n- 优化modbus-mqtt-gradle-plugin的代码格式和依赖声明\n- 调整modbus-runtime模块插件应用及依赖配置格式\n- 添加settings.gradle.kts包含modbus相关模块声明\n- 新增libs.versions.toml,管理大量依赖版本和库定义",
"is_bot": false,
"headline": "chore(modbus): 初始化modbus相关模块及配置依赖管理",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-14T03:09:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "123c0d5aaad8d5fdd4c4b03d5b7bcee9bf98e483",
"body": "- 添加 SerialConnection 类,封装底层串口读写及缓冲管理功能\n- 新增 SerialDriver 接口及 jSerialComm 驱动适配实现\n- 实现串口配置模型 SerialPortConfig 及相关枚举类\n- 提供 SerialPortTool 工具类,支持列举串口和打开串口连接\n- 支持将字节数组与十六进制字符串互转功能\n- 增加串口日志轮询及 SSE 流推送支持\n- 编写详尽单元测试覆盖基本读写行为和边界情况\n- 添加真实设备集成测试",
"is_bot": false,
"headline": "feat(tool-serial): 新增串口通信基础库及其测试代码",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-14T01:34:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6649a5f41106e11b11afe4395ea9ed5f5edebe34",
"body": null,
"is_bot": false,
"headline": "chore(build): narrow module sleep for tool-serial publish",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-13T03:48:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "364f0d3bead69ae6ed951b5efb76e1962d680da8",
"body": null,
"is_bot": false,
"headline": "chore(release): bump version to 2026.04.13",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-13T03:38:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8611a783d28a31c59ea45bdfd3e8065f653b1612",
"body": null,
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/main'",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-13T02:49:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e80058e3792243a1d87208b004a01f8c68c2b8e1",
"body": "- 设置rootProject名称为根目录名\n- 启用类型安全的项目访问预览功能\n- 应用自定义Gradle插件 site.addzero.gradle.plugin.repo-buddy 和 addzero-git-dependency\n- 添加模块配置注释用于按需模块加载\n- 包含26个子模块,涵盖ksp元数据、工具库以及启动器组件\n- 暂时注释modules-buddy插件申请",
"is_bot": false,
"headline": "chore(build): 添加settings.gradle.kts配置和模块包含列表",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-13T02:48:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aeb9b1c5c4863787a90b937aced76716965a1fab",
"body": "- 新增 DeviceApiGeneratedContractTest 测试类\n- 通过 Koin 依赖注入启动测试环境\n- 使用真实 Modbus RTU 设备配置进行集成测试\n- 实现读取 24 路电源灯状态并断言数量\n- 打印测试过程中的配置信息和结果便于调试\n- 添加扩展函数将电源灯寄存器数据转为布尔列表便于验证\n\nbuild(example): 统一 gradle 读取版本号的回退版本\n\n- 将多个 example 子项目的回",
"is_bot": false,
"headline": "test(mcu-console): 添加 Modbus 设备 API 生成契约测试",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-11T06:06:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24c21df9fe29eb3f7ce0edcbfc2f37ea5140cad9",
"body": "- 增加 ModbusArtifactRenderer.kt,包含网关、服务端、Spring2Ktor路由、Ktorfit客户端等多种工件渲染逻辑\n- 支持多种传输方式 RTU、TCP、MQTT 的配置和代码生成\n- 实现固件工作流和协议说明文档的 Markdown 生成\n- 新增 Modbus 协议分发头文件和实现文件,自动路由 Modbus 请求到对应服务操作\n- 添加 RTU + agile_modbus 适配器,实现请求解析与调用分发\n- 生成的代码包含注释详尽的桥接接口,方便固件侧业务实现\n-",
"is_bot": false,
"headline": "feat(modbus-ksp-core): 新增 Modbus 协议相关自动生成模板和RTU适配器源代码",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-11T01:56:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c73541f4f5b839e1815f96226a800243cd2b5e51",
"body": "- 添加 IsoCodeGenerator 用于根据实体元数据生成 Kotlin 数据类源码,包括类型映射和默认值\n- 增加 IsoCodeGenerator 单元测试,覆盖序列化、注释、嵌套实体及时间类型等场景\n- 引入 jimmer-entity-external Gradle 插件,支持配置实体到 Iso、Form、Mcp 的代码生成参数\n- 在 ksp/metadata/controller2api-smoke 模块引入 Spring Web 依赖及 Processor 配置\n- 新增多个 Compose 组件库模块的 Gradle 配置,调整依赖引用指向本地项目\n- 新增 codegen-context 服务器模块 Gradle 构建脚本,定义代码生成相关任务和依赖\n- 完善构建脚本中代码生成相关目录和任务,支持元数据快照生成与 MCU 控制台合同源码生成\n- 为部分模块添加桌面预览任务和基础构建脚本插件使用声明",
"is_bot": false,
"headline": "feat(ksp): 新增 Jimmer 实体 Iso 代码生成器及相关插件配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-11T00:05:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4c17e8032dfe52294ed2ea126ef6d119447f593",
"body": "- 实现上下文的列出、获取、保存与删除功能\n- 支持元数据草稿的生成、预览和保存\n- 添加生成合约及导出上下文的处理逻辑\n- 实现类、方法、属性及绑定的校验逻辑\n- 校验路径、包名及生成设置的合法性\n- 集成Jimmer SQL客户端实现数据库持久化操作\n- 新增Host Config插件的server、shared和ui模块构建脚本配置\n- 更新Gradle模块依赖配置,新增多个Compose和Tool库模块\n- 提供任务清理生成代码目录的功能,并管理KSP任务依赖关系",
"is_bot": false,
"headline": "feat(codegencontext): 提供完整代码生成上下文管理服务",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T10:05:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f3c99afb80cb9ef7028982f050492b44dbb9336",
"body": "- 新增 CodegenContextScreen 及相关 Composable 组件,实现元数据管理界面布局\n- 添加 CodegenContextScreenState,定义元数据页面状态结构\n- 实现 CodegenContextViewModel,处理元数据加载、选择、新建、保存、预检、导出、删除等逻辑\n- 新增工作区面板组件支持设备功能和物模型字段的编辑展示\n- 优化绑定值更新逻辑,支持动态增删绑定项\n- 支持协议模板切换,更新对应定义和导出设置\n- MCU调试及烧录页面细节优化,调整布局及交互逻辑\n- 细节改进搜索栏高度限制,防止过小高度导致显示问题",
"is_bot": false,
"headline": "feat(codegen-context): 添加元数据管理页面及相关逻辑",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T09:41:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "901d9ccf7a0137787a9b12032b9953280008de8f",
"body": "- 提供上下文列表查询与详细信息获取接口\n- 支持基于协议模板的上下文定义加载和元数据草稿预览\n- 实现上下文保存、更新与删除逻辑,保证唯一编码和支持事务操作",
"is_bot": false,
"headline": "feat(codegencontext): 实现代码生成上下文管理核心服务",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T08:56:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e93b6834f3069b9257199af3da37dfa0df1757b3",
"body": "- 引入 ControllerApiProcessor 作为 KSP 符号处理器,解析 Spring MVC 控制器注解\n- 支持处理类控制器和顶层函数的路由注解,收集控制器元数据\n- 在 finish 阶段根据收集的元数据生成 Ktorfit 接口代码\n- 实现类型映射和参数注解判断,支持多种 HTTP 方法注解\n- 增加生成 API 聚合对象和源码级 API client 桥接的功能\n- 优化了 build.gradle.kts,新增清理生成目录的任务\n- 重构相关测试用例,移除 Koin 依赖的测试逻辑,验证生成文件存在性\n- 添加详细日志输出以方便调试和跟踪处理过程",
"is_bot": false,
"headline": "feat(ksp): 增加 ControllerApiProcessor 以生成 Ktorfit 接口",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T08:14:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3303c0759503c58f8b7a677028204443ac5f5b73",
"body": "- 实现 ControllerApiProcessor,支持收集 Spring MVC Controller 和顶层函数元数据\n- 支持生成 Ktorfit API 接口代码及源码级 API 聚合与桥接文件\n- 提供类型映射和返回类型特殊",
"is_bot": false,
"headline": "feat(ksp): 增加 Controller2Api KSP 处理器及示例模块",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T08:03:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1b9239ac045bd45b2a79e4a60ccc3d6560223ce",
"body": "- 新增统一资产主树节点实体 AssetNode,支持产品、设备、模块三类主节点\n- 资产节点新增启用状态、分类、遥测与控制字段\n- 新增资产节点标签关联实体 AssetNodeLabelLink\n- 新增统一资产节点类型枚举 AssetNodeType,限定主节点类型\n- 实现 CatalogService 提供产品、设备、属性、功能、标签的增删改查及元数据管理\n- 移除多个模块对共享库的依赖,引入新的依赖配置以适应架构调整\n- 添加腾讯镜像库配置,优化构建依赖源\n- 添加新模块 controller2api-processor 并升级版本号为 2026.04.10\n- 引入JUnit、MockK 和 jamod 依赖,用于测试和 Modbus 协议支持",
"is_bot": false,
"headline": "feat(catalog): 实现统一资产主树目录服务及资产节点改造",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T07:01:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05259c8fc89dffeb2dc8ab00012e9168bb16ad8b",
"body": "- 更新settings.gradle.kts,排除:checkouts:build-logic模块\n- 新增libs.versions.toml,添加大量依赖版本配置\n- 定义多个库依赖版本及引用,确保依赖统一管理\n- 调整项目模块数量,loaded模块10个,excluded模块1个,总计11个\n- 配置android相关依赖版本及命名空间参数",
"is_bot": false,
"headline": "chore(deps): 更新依赖版本及模块设置调整",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T05:50:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e84e3f1139de7b799197383033f7c40ad978df95",
"body": "- 移除spec-iot模块中无效的测试依赖配置\n- 统一调整app-sidebar模块的Gradle脚本格式\n- 更新compose-cupertino-workbench模块依赖,调整依赖顺序和新增adapter\n- 修改compose-native-component-tree模块依赖格式,统一缩进风格\n- 新增settings.gradle.kts,配置根项目名称、启用特性预览和插件\n- 通过settings.gradle.kts加入多个模块的include声明实现按需加载\n- 更新libs.versions.toml,新增app-sidebar及相关库的版本和maven坐标配置",
"is_bot": false,
"headline": "chore(build): 优化Gradle配置及依赖管理",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T05:44:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "346fc8eebefbd75dacc8d6362f70748c8c2150d7",
"body": "- 移除spec-iot模块中无效的测试依赖配置\n- 统一调整app-sidebar模块的Gradle脚本格式\n- 更新compose-cupertino-workbench模块依赖,调整依赖顺序和新增adapter\n- 修改compose-native-component-tree模块依赖格式,统一缩进风格\n- 新增settings.gradle.kts,配置根项目名称、启用特性预览和插件\n- 通过settings.gradle.kts加入多个模块的include声明实现按需加载\n- 更新libs.versions.toml,新增app-sidebar及相关库的版本和maven坐标配置",
"is_bot": false,
"headline": "chore(build): 优化Gradle配置及依赖管理",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T02:42:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b6ee5543002d66e4cd90a296b1e85c83d5ec5bb",
"body": "- api-net ease模块依赖替换为版本目录中的库引用\n- 新增api-qqmusic、api-suno模块的build.gradle.kts配置\n- 新增多个compose子模块的插件和依赖配置\n- 添加kcloud-core模块,包含核心业务逻辑及相关依赖设置\n- 添加kcp多接收器、单例适配器、扩展插件的构建脚本\n- 新增ksp相关模块及其处理器插件和依赖配置\n- 配置日志、Compose Props、Gen-reified、IOC等Gradle插件相关任务\n- 统一各模块Kotlin多平台和依赖管理,优化项目构建体系",
"is_bot": false,
"headline": "chore(build): 添加和调整多个子模块的构建配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T02:31:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "941e46bfa02a5825539b78f508a70e7ef5c8f20f",
"body": "- 将多个compose组件的版本号更新为2026.04.11\n- 注释掉compose-native-component-tree中的compose-apple-corner依赖\n- 调整settings.gradle.kts中include模块,新增若干compose相关模块\n- 从project删除废弃的tool-jvmstr工具类文件\n- 优化gradle-repo-buddy插件的仓库配置,新增mavenLocal仓库支持",
"is_bot": false,
"headline": "chore(build): 更新compose组件版本号并调整依赖配置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T02:13:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbe59580475da02da8ecf767056239169bc0e123",
"body": "- 删除注释掉的旧版buildscript配置和Java11工具链相关代码\n- 使用LocalDateTime动态生成子项目版本号并打印\n- 移除无用的静态group和version赋值\n- 启用addzero-git-dependency插件应用设置\n- 清理settings.gradle.kts中无用的注释代码",
"is_bot": false,
"headline": "refactor(build): 简化版本号设置逻辑",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T00:16:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f99a108709743bf7e189b5432cd8321cdaed79d",
"body": "- 增加 CodegenContext 实体,定义代码生成上下文相关字段和关系\n- 实现 CodegenMetadataDraftDto 和 CodegenContextDetailDto 之间的转换方法\n- 支持设备函数、属性、服务类生成和绑定元数据转换\n- 添加元数据草稿验证和预览功能,包含错误检测与导出计划生成\n- 完善默认值验证逻辑,保证导出配置的正确性\n- 新增 TransportKind 和 ArtifactKind 的编码解码辅助函数\n- 维护导出配置与生成设置映射转换\n- 提供异常转换为元数据问题的工具方法\n- 支持根据协议模板推断默认 metadata 传输类型\n- 配置 gradle-wrapper 和项目模块索引,提升构建与模块管理效率",
"is_bot": false,
"headline": "feat(codegen-context): 新增代码生成上下文实体及元数据草稿支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-10T00:13:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16abf398332e8f0faa3d1ad3e3b827b22e3ecfc8",
"body": "- 新增 CupertinoForm 组件支持响应式表单布局,支持半宽和全宽项布局\n- 实现主机配置插件的 Gradle 构建脚本和依赖配置\n- 新增云接入、网关配置、工程配置及元数据管理相关页面及路由定义\n- 主机",
"is_bot": false,
"headline": "feat(host-config): 添加主机配置插件完整 UI 和业务逻辑实现",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-09T13:07:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b5caac18d8d8890a5d618617a72b81cd80b9a76",
"body": "- 实现ControllerApiProcessor,解析Spring Controller和顶层路由生成接口代码\n- 自动提取HTTP方法、路径、参数及返回类型信息\n- 支持Jimmer实体同构体类型转换和特殊Spring类型映射\n- 支持两阶段处理,收集元数据和代码生成分离\n- 提供聚合API生成及源码级API客户端桥接支持\n- 实现自定义日志记录和错误处理机制,提升稳定性\n- 添加Compose搜索栏组件,支持回车搜索和刷新按钮\n- 配置KMP项目依赖管理及Gradle插件集成",
"is_bot": false,
"headline": "feat(processor): 添加基于KSP的Controller到Ktorfit接口生成器",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-09T12:45:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f13507a24ccfe12ec23d8b825b0ef629ea03af06",
"body": "- 实现ControllerApiProcessor,解析Spring Controller和顶层路由生成接口代码\n- 自动提取HTTP方法、路径、参数及返回类型信息\n- 支持Jimmer实体同构体类型转换和特殊Spring类型映射\n- 支持两阶段处理,收集元数据和代码生成分离\n- 提供聚合API生成及源码级API客户端桥接支持\n- 实现自定义日志记录和错误处理机制,提升稳定性\n- 添加Compose搜索栏组件,支持回车搜索和刷新按钮\n- 配置KMP项目依赖管理及Gradle插件集成",
"is_bot": false,
"headline": "feat(processor): 添加基于KSP的Controller到Ktorfit接口生成器",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-09T11:33:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eabaad921d23fa9e4ebfd57b9ef5b9b343d8c85",
"body": "- 实现RouteMetadataProcessor处理@Route注解,解析类、函数、属性上的路由信息\n- 提供RouteRecord数据类存储路由详细元数据\n- 支持聚合不同模块的路由信息,根据配置生成路由表和路由键代码\n- 实现RouteMetadataProcessorProvider以支持KSP集成\n- 增加路由键唯一命名策略,避免命名冲突\n- 完善搜索功能,支持默认展开所有树分支节点\n- 引入WorkbenchTreeSidebar组件,支持可搜索、可选择节点的树形侧边栏UI\n- 定义树节点样式方案,支持深浅色主题自适应\n- 优化WorkBenchTreeSidebar包装MaterialTheme Surface,提供一致UI风格\n- 新增工具函数辅助路径转换及Kotlin字符串字面量转义\n- 增加版本依赖管理文件libs.versions.toml,统一版本控制",
"is_bot": false,
"headline": "feat(route-processor): 新增路由元数据注解处理器",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-09T05:08:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dcfc99b16a1d6caeacf84be69b0fa7bf07efdb7",
"body": "- 新增可拖拽调整宽度的侧栏骨架状态类 AppSidebarScaffoldState\n- 提供记忆和保存工作台骨架状态的 Composable 函数\n- 实现通用工作台骨架组件 WorkbenchScaffold,支持侧栏、内容头部及详情",
"is_bot": false,
"headline": "feat(workbench): 添加工作台骨架及相关组件实现",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-09T02:31:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14994b1e85f702d4a17717a6c834ae4c798da1fd",
"body": "- 在 modbus-ksp-core 添加 MQTT 相关的配置、默认值和常量定义\n- 在 ModbusArtifactRenderer 中集成 MQTT 的配置、注册表和执行器生成代码\n- 扩展 ModbusTransportKind 枚举支持 MQTT,并实现相关功能方法\n- 新增生成注解 @GenerateModbusMqttServer 用于标记 MQTT 服务接口\n- 添加 ModbusSymbolCollector 以支持通过 KSP 解析 MQTT 服务接口和操作\n- 增加 MQTT 相关的默认传输参数支持及代码生成逻辑\n- 修改 build 脚本将生成目录更改为专用的 generated 文件夹\n- 增加单元测试覆盖对 MQTT 传输类型的解析和处理\n- 编写 Modbus MQTT 协议文档说明和示例配置\n- 新增 runtime 注解定义支持 MQTT,以及其请求和响应配置结构\n- 调整代码结构以优化多协议支持,保持与 RTU 和 TCP 方案一致",
"is_bot": false,
"headline": "feat(modbus): 增加对 Modbus MQTT 传输协议的支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-09T00:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7387950d69203229c1855418e3d1e0704fdf6658",
"body": "- 在 libs.versions.toml 中新增 org-flywaydb-flyway-mysql 依赖\n- 版本号引用与其他 flyway 组件保持一致\n- 方便项目支持 MySQL 数据库迁移功能",
"is_bot": false,
"headline": "chore(gradle): 添加 flyway-mysql 依赖库",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T09:43:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51f0ce6b47cb66051c7741de6628485c6cd109f1",
"body": "- 在WorkbenchTreeSidebar组件中新增节点右键菜单(onNodeContextMenu)支持\n- 在AddTree组件中通过pointerInput实现右键菜单触发事件\n- TreeViewModel新增openNodeContextMenu处理节点右键选中及菜单回调\n- 重构clickNode行为,所有节点均触发业务点击回调与选中态更新\n- 新增codegencontext模块契约生成器CodegenContext",
"is_bot": false,
"headline": "feat(codegencontext): 添加Modbus设备契约生成器及右键菜单支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T06:20:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91af7446fa3c46baa25955cbc7a86b2c9c68297b",
"body": "- 移除Device实体中对DeviceDefinition的引用,简化模型关系\n- 新增Fetchers对象,集中定义实体查询的Fetcher配置\n- 实现ProjectConfigService,支持项目MQTT、Modbus服务器及网关管脚配置的读取与更新\n- 设计项目上传操作管理,包含上传状态跟踪和远程操作触发\n- 支持项目备份的创建与下载,增强配置安全性与恢复能力\n- 新增ProjectService,实现项目、协议、模块及设备的增删改查及排序调整\n- 各服务方法增加参数校验和唯一性检查,提升数据一致性保障\n- 引入并使用Fetchers提升查询性能和代码复用性",
"is_bot": false,
"headline": "refactor(project-config): 重构项目配置服务,添加上传和备份功能",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T05:35:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "125154a097ab633b0b9937113f3e9bfb75291d37",
"body": "- 删除聚合的 Ktorfit 服务提供者相关代码\n- 更新依赖版本管理,调整 modbus 相关插件版本引用\n- 修改仓库配置,限制 mavenLocal 只包含特定 group\n- 新增 build-logic 模块的 Gradle 配置及依赖,完善构建脚本\n- 增加 Cupertino Demo 应用完整实现,提供多页面和组件示例\n- 在 Codegen",
"is_bot": false,
"headline": "refactor(codegen-context): 移除过时接口并添加元数据数据库支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T05:10:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db7b27721fcd02418731ffb692d0aa412da61e60",
"body": "- 新增HttpClientFactory,集成多种Ktor插件和配置\n- 实现基于Token的默认请求头自动注入",
"is_bot": false,
"headline": "feat(network): 添加网络客户端及Koin模块支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T03:48:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d28f302abb597f586ec9bfceed890605e046658",
"body": "- 新增modbus-ksp-core模块,定义Modbus协议核心数据模型和代码生成模式\n- 实现Modbus RTU与TCP两种传输类型的Gradle插件扩展\n- 完善Modbus KSP选项解析,支持数据库元数据和传输配置\n- 实现Modbus RTU代码生成入口,包括注解处理和服务收集逻辑\n- 配置相关依赖和插件,支持KSP符号处理及多平台编译环境\n- 提供服务模型、操作模型、工作流及渲染上下文的统一定义\n- 支持多种代码生成模式(server、contract、gateway)及传输选项配置",
"is_bot": false,
"headline": "feat(modbus): 新增Modbus协议相关多模块支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T03:23:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ba9c023c15219ec90a3923fbb0273ac7e294073",
"body": "- 在路由插件中新增 aggregationRole 配置,支持\"owner\"及\"contributor\"角色区分\n- 通过 RouteAggregationRole 枚举管理角色及是否生成聚合代码的逻辑\n- 路由注解处理器支持根据聚合角色处理生成路由映射和键值代码\n- 引入路由聚合快照及文件锁机制,防止并发冲突\n- 实现树组件 AddTree 及相关视图模型支持,满足多层级节点展开收起和选择\n- 增加节点图标、选择框、标签可选等多样化界面元素及行为\n- 在Gradle插件测试中增加 aggregationRole 相关测试配置\n- 删除旧的 compose-native-component-text 测试代码,重构相关内容",
"is_bot": false,
"headline": "feat(route): 增加路由聚合角色功能并实现树组件",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-08T01:41:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bcf69174fa9f16272e22e5f5db6b48f7b416adcd",
"body": "- 新增ControllerApiProcessor以解析Spring MVC控制器及顶层路由函数\n- 实现两阶段处理,第一阶段收集元数据,第二阶段生成Ktorfit接口代码\n- 支持多种Spring MVC HTTP映射注解(GetMapping、PostMapping等)\n- 处理RequestMapping注解提取基础路径和方法HTTP路径\n- 添加方法参数注解识别(RequestBody、PathVariable等)以生成对应Ktorfit参数\n- 实现类型映射管理,支持特殊类型转换及Jimmer实体Iso类型转换\n- 生成聚合API对象及可选Koin注入模块,支持Koin和单例两种聚合方式\n- 支持生成代码回退到CodeGenerator以兼容不同构建环境\n- 添加顶层文件路由元数据收集及支持顶层函数接口生成\n- 引入详细日志记录,方便调试和错误追踪\n- 同步增加测试用例验证API描述符生成规则\n- 新增示",
"is_bot": false,
"headline": "feat(processor): 添加Controller到Ktorfit接口转换KSP处理器",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T08:29:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b8ca18761c500304c54d78b967edb18305688d9",
"body": "- 移除了 ModbusRtuGradlePlugin 相关代码及其扩展定义\n- 移除了 ModbusTcpGradlePlugin 相关代码及其扩展定义\n- 删除了两者对应的属性、方法以及构造逻辑\n- 去除了所有 Modbus 代码生成相关的属性和配置项\n- 清理了与插件ID、扩展名、处理器制品相关的常量和依赖声明",
"is_bot": false,
"headline": "refactor(modbus): 删除 modbus-rtu 和 modbus-tcp Gradle 插件实现",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T07:46:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af765398e6f475cfe673090e802f5db43872ffec",
"body": "- 删除多个KSP相关Gradle插件源码,简化项目结构\n- 在host-config服务器模块build脚本添加API聚合生成目录变量及清理逻辑\n- 新增host-config UI模块的build脚本,配置KSP参数及依赖管理\n- 在KCloud服务器端添加启动内嵌Ktor服务器及集成Koin依赖注入\n- 新增KCloud UI端初始化Koin及Compose应用启动入口\n- 添加桌面宿主Koin启动配置,用于统一UI与服务器端依赖注入管理\n- 更新KCloud项目模块间依赖关系,明确UI与服务器编译依赖\n- 添加KCloud插件开发相关文档,定义插件结构及宿主集成规范",
"is_bot": false,
"headline": "refactor(build): 移除多个已弃用KSP插件及添加KCloud插件UI与服务器模块支持",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T07:46:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e43fef98ba3a5124a57b58c8606f9387c7273e4",
"body": "- 移除注释中已弃用的协程支持依赖声明\n- 清理多余的空行优化代码格式\n- 保持依赖声明的简洁和整洁",
"is_bot": false,
"headline": "chore(build): 删除无用依赖声明和多余空行",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T07:43:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f341354d253faaa13000f5c38a0f550c2e862b1",
"body": "- 从抽象类中拆分出PublishedKspConsumerDefinition数据类封装插件定义\n- 提供configurePublishedKspConsumer函数简化插件消费者配置逻辑\n- 以函数取代部分私有方法,实现添加处理器与依赖的多平台支持\n- 优化默认源码目录和包目录获取函数定义\n- 移除各metadata子项目中的gradlePlugin配置块,统一通过pluginId管理\n- 兼容保留AbstractPublishedKspConsumerPlugin抽象类,添加Deprecated标注和正确实现\n- 调整扩展属性存储序列化参数的命名规范\n- 重构任务依赖配置,增强KMP和JVM平台任务依赖正确性和健壮性\n- 保持原API兼容同时提高代码可维护性和复用性",
"is_bot": false,
"headline": "refactor(gradle-plugin): 重构PublishedKspConsumer插件支持模块",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T07:42:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "258abedf6cf0bdd96d83885a405f3e89d9b15b9d",
"body": "- 统一 root 项目与子项目的 group 和 version 属性,简",
"is_bot": false,
"headline": "build(gradle): 优化项目版本管理及输出路径设置",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T07:37:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67fb18414bab76c6286e0df652743dc5b74a3a2f",
"body": "- 新增聚合文件构建及清理逻辑,避免遗留旧文件\n- 支持根据聚合风格生成对应的文件列表(包括 Koin module)\n- 实现文件写入失败时的回退生成方案,支持多文件写入\n- 新增聚合模块绑定代码生成函数,支持 Koin 注入绑定\n- 统一接口聚合生成文件的命名及内容管理\n- 调整测试用例,增加对聚合模块文件生成的覆盖\n- 移除手写 HostConfigApiModule,改由生成模块支持注入绑定\n- 文档更新,去除手写绑定建议,推荐使用生成的 Koin module\n- 完善升级 libs",
"is_bot": false,
"headline": "refactor(controller2api-processor): 优化 API 聚合对象文件生成逻辑",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T07:03:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61619385c344775f38728fe9001703395eacd410",
"body": "- 删除旧的 KoinServerModule 模块及相关代码\n- 新增 KCloudServerModule,初始化服务器端 Koin 容器\n- 新增 KCloudUiModule,初始化客户端 UI 端 Koin 容器\n- 新增 JvmUIModule,支持桌面宿主环境的全局 Koin 容器\n- 新增应用入口 Application.kt,启动内嵌 Netty 服务端\n- 实现 Application.runStarters(),执行所有已注册的 AppStarter\n- UI端新增 App Composable 入口,初始化 UI Koin 并渲染主要窗口\n- UI",
"is_bot": false,
"headline": "feat(kcloud): 实现 KCloud 服务器及桌面UI的Koin依赖注入初始化",
"author_name": "zjarlin",
"author_login": "zjarlin",
"committed_at": "2026-04-07T05:50:56Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 0,
"commits_last_year": 1166,
"latest_release_at": null,
"latest_release_tag": null,
"releases_from_tags": false,
"days_since_last_push": 20,
"active_weeks_last_year": 41,
"days_since_latest_release": null,
"mean_days_between_releases": null
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": 0,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 1,
"stars": 3,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2025-12-29",
"count": 1
}
],
"complete": true,
"collected": 1,
"total_forks": 1
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"example",
"sample"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"build.gradle.kts",
"example/demo/build.gradle.kts",
"example/demo/composeApp/build.gradle.kts",
"example/demo/server/build.gradle.kts",
"example/demo/shared/build.gradle.kts",
"example/example-all-object-jvm-static/build.gradle.kts",
"example/example-all-object-jvm-static/java-app/build.gradle.kts",
"example/example-all-object-jvm-static/kotlin-lib/build.gradle.kts",
"example/example-dict-jimmer/app/build.gradle.kts",
"example/example-dict-jimmer/build.gradle.kts",
"example/example-kcp-i18n/build.gradle.kts",
"example/example-multireceiver/build.gradle.kts",
"example/example-sheet-workbench/build.gradle.kts",
"example/example-spread-pack/build.gradle.kts",
"example/example-transform-overload/build.gradle.kts",
"example/modbus/modbus-ksp-rtu-smoke-provider/build.gradle.kts",
"example/modbus/modbus-ksp-rtu-smoke/build.gradle.kts",
"lib/api/api-music-spi/build.gradle.kts",
"lib/api/api-netease/build.gradle.kts",
"lib/api/api-openai/build.gradle.kts",
"lib/api/api-qqmusic/build.gradle.kts",
"lib/api/api-suno/build.gradle.kts",
"lib/apt/apt-controller2feign-processor/build.gradle.kts",
"lib/apt/apt-dict-processor/build.gradle.kts",
"lib/apt/apt-ioc-processor/build.gradle.kts",
"lib/apt/dict-trans/apt-dict-trans-core/build.gradle.kts",
"lib/apt/dict-trans/apt-dict-trans-processor/build.gradle.kts",
"lib/apt/dict-trans/dict-trans-core/build.gradle.kts",
"lib/biz/spec-iot/build.gradle.kts",
"lib/compose/app-sidebar-cupertino-adapter/build.gradle.kts",
"lib/compose/app-sidebar-shadcn-adapter/build.gradle.kts",
"lib/compose/app-sidebar/build.gradle.kts",
"lib/compose/compose-apple-corner/build.gradle.kts",
"lib/compose/compose-crud-spi/build.gradle.kts",
"lib/compose/compose-cupertino-workbench/build.gradle.kts",
"lib/compose/compose-eventbus/build.gradle.kts",
"lib/compose/compose-icon-keys/build.gradle.kts",
"lib/compose/compose-icon-map/build.gradle.kts",
"lib/compose/compose-klibs-component/build.gradle.kts",
"lib/compose/compose-model-component/build.gradle.kts",
"lib/compose/compose-native-component-assist/build.gradle.kts",
"lib/compose/compose-native-component-autocomplet/build.gradle.kts",
"lib/compose/compose-native-component-button/build.gradle.kts",
"lib/compose/compose-native-component-card/build.gradle.kts",
"lib/compose/compose-native-component-chat/build.gradle.kts",
"lib/compose/compose-native-component-ext/build.gradle.kts",
"lib/compose/compose-native-component-form/build.gradle.kts",
"lib/compose/compose-native-component-glass/build.gradle.kts",
"lib/compose/compose-native-component-high-level/build.gradle.kts",
"lib/compose/compose-native-component-hook/build.gradle.kts",
"lib/compose/compose-native-component-knowledgegraph/build.gradle.kts",
"lib/compose/compose-native-component-searchbar/build.gradle.kts",
"lib/compose/compose-native-component-select/build.gradle.kts",
"lib/compose/compose-native-component-sheet/build.gradle.kts",
"lib/compose/compose-native-component-table-core/build.gradle.kts",
"lib/compose/compose-native-component-table-pro/build.gradle.kts",
"lib/compose/compose-native-component-table/build.gradle.kts",
"lib/compose/compose-native-component-text/build.gradle.kts",
"lib/compose/compose-native-component-toast/build.gradle.kts",
"lib/compose/compose-native-component-tree/build.gradle.kts",
"lib/compose/compose-workbench-design/build.gradle.kts",
"lib/compose/compose-workbench-immersive-desktop/build.gradle.kts",
"lib/compose/compose-workbench-shell/build.gradle.kts",
"lib/compose/compose-zh-fonts/build.gradle.kts",
"lib/compose/glass-components/build.gradle.kts",
"lib/compose/liquid-glass/build.gradle.kts",
"lib/compose/media-playlist-player/build.gradle.kts",
"lib/compose/scaffold-spi/build.gradle.kts",
"lib/compose/shadcn-compose-component/build.gradle.kts",
"lib/gradle-plugin/auto-jvmname/build.gradle.kts",
"lib/gradle-plugin/gradle-tool/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-apt-buddy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-ksp-buddy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-ksp-consumer-base/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-processor-buddy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-publish-budy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-version-budy/build.gradle.kts",
"lib/gradle-plugin/settings-plugin/gradle-git-dependency/build.gradle.kts",
"lib/gradle-plugin/settings-plugin/gradle-modules-buddy/build.gradle.kts",
"lib/gradle-plugin/settings-plugin/gradle-repo-buddy/build.gradle.kts",
"lib/gradle-plugin/tool/catalog-autoresolve/build.gradle.kts",
"lib/gradle-plugin/tool/gradle-script-core/build.gradle.kts",
"lib/gradle-plugin/tool/gradle-script/build.gradle.kts",
"lib/gradle-plugin/tool/tool-gradle-config-java/build.gradle.kts",
"lib/gradle-plugin/tool/tool-gradle-projectdir/build.gradle.kts",
"lib/kcp/all-object-jvm-static/kcp-all-object-jvm-static-gradle-plugin/build.gradle.kts",
"lib/kcp/all-object-jvm-static/kcp-all-object-jvm-static-plugin/build.gradle.kts",
"lib/kcp/kcp-i18n-gradle-plugin/build.gradle.kts",
"lib/kcp/kcp-i18n-runtime/build.gradle.kts",
"lib/kcp/kcp-i18n/build.gradle.kts",
"lib/kcp/multireceiver/kcp-multireceiver-annotations/build.gradle.kts",
"lib/kcp/multireceiver/kcp-multireceiver-gradle-plugin/build.gradle.kts",
"lib/kcp/multireceiver/kcp-multireceiver-plugin/build.gradle.kts",
"lib/kcp/singleton-adapter-kcp/build.gradle.kts",
"lib/kcp/spread-pack/kcp-spread-pack-annotations/build.gradle.kts",
"lib/kcp/spread-pack/kcp-spread-pack-gradle-plugin/build.gradle.kts",
"lib/kcp/spread-pack/kcp-spread-pack-plugin/build.gradle.kts",
"lib/kcp/transform-overload/kcp-transform-overload-annotations/build.gradle.kts",
"lib/kcp/transform-overload/kcp-transform-overload-gradle-plugin/build.gradle.kts",
"lib/kcp/transform-overload/kcp-transform-overload-plugin/build.gradle.kts",
"lib/kotlin-script/build.gradle.kts",
"lib/ksp/app/build.gradle.kts",
"lib/ksp/build.gradle.kts",
"lib/ksp/common/ksp-easycode-jimmer/build.gradle.kts",
"lib/ksp/common/ksp-easycode/build.gradle.kts",
"lib/ksp/common/ksp-support-jdbc/build.gradle.kts",
"lib/ksp/jdbc2metadata/jdbc2controller-processor/build.gradle.kts",
"lib/ksp/jdbc2metadata/jdbc2entity-processor/build.gradle.kts",
"lib/ksp/jdbc2metadata/jdbc2enum-processor/build.gradle.kts",
"lib/ksp/logger-api/build.gradle.kts",
"lib/ksp/logger-gradle-plugin/build.gradle.kts",
"lib/ksp/logger-implementation/build.gradle.kts",
"lib/ksp/logger-processor/build.gradle.kts",
"lib/ksp/metadata/compose-props/compose-props-annotations/build.gradle.kts",
"lib/ksp/metadata/compose-props/compose-props-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/compose-props/compose-props-processor/build.gradle.kts",
"lib/ksp/metadata/controller2api-idea-plugin/build.gradle.kts",
"lib/ksp/metadata/controller2api-processor/build.gradle.kts",
"lib/ksp/metadata/controller2api-smoke/build.gradle.kts",
"lib/ksp/metadata/controller2feign-processor/build.gradle.kts",
"lib/ksp/metadata/controller2iso2dataprovider-processor/build.gradle.kts",
"lib/ksp/metadata/entity2form/entity2form-core/build.gradle.kts",
"lib/ksp/metadata/entity2form/entity2form-processor/build.gradle.kts",
"lib/ksp/metadata/entity2iso-processor/build.gradle.kts",
"lib/ksp/metadata/entity2mcp-processor/build.gradle.kts",
"lib/ksp/metadata/enum-processor/build.gradle.kts",
"lib/ksp/metadata/gen-reified/gen-reified-core/build.gradle.kts",
"lib/ksp/metadata/gen-reified/gen-reified-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/gen-reified/gen-reified-processor/build.gradle.kts",
"lib/ksp/metadata/ioc/ioc-core/build.gradle.kts",
"lib/ksp/metadata/ioc/ioc-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/ioc/ioc-processor/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-apt-smoke/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-ksp-smoke/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-processor/build.gradle.kts",
"lib/ksp/metadata/jimmer-entity-external-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/jimmer-entity-external-processor/build.gradle.kts",
"lib/ksp/metadata/jimmer-entity-spi/build.gradle.kts",
"lib/ksp/metadata/jimmer-low-query/jimmer-low-query-annotations/build.gradle.kts",
"lib/ksp/metadata/jimmer-low-query/jimmer-low-query-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/jimmer-low-query/jimmer-low-query-processor/build.gradle.kts",
"lib/ksp/metadata/kcloud/build.gradle.kts",
"lib/ksp/metadata/ksp-dsl-builder/ksp-dsl-builder-core/build.gradle.kts",
"lib/ksp/metadata/ksp-dsl-builder/ksp-dsl-builder-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/ksp-dsl-builder/ksp-dsl-builder-processor/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-api/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-processor/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-spi-helper/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-spi/build.gradle.kts",
"lib/ksp/metadata/modbus/modbus-codegen-core/build.gradle.kts",
"lib/ksp/metadata/modbus/modbus-ksp/build.gradle.kts",
"lib/ksp/metadata/modbus/modbus-runtime/build.gradle.kts",
"lib/ksp/metadata/multireceiver-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/multireceiver-processor/build.gradle.kts",
"lib/ksp/metadata/openapi/openapi-core/build.gradle.kts",
"lib/ksp/metadata/openapi/openapi-ktor-extractor/build.gradle.kts",
"lib/ksp/metadata/openapi/openapi-spring-extractor/build.gradle.kts",
"lib/ksp/metadata/singleton-adapter-api/build.gradle.kts",
"lib/ksp/metadata/singleton-adapter-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/singleton-adapter-processor/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-core/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-processor/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-smoke/build.gradle.kts",
"lib/ksp/published-gradle-plugin-tests/build.gradle.kts",
"lib/ksp/route/route-core/build.gradle.kts",
"lib/ksp/route/route-gradle-plugin/build.gradle.kts",
"lib/ksp/route/route-processor/build.gradle.kts",
"lib/lsi/lsi-apt/build.gradle.kts",
"lib/lsi/lsi-core/build.gradle.kts",
"lib/lsi/lsi-intellij/build.gradle.kts",
"lib/lsi/lsi-jimmer/build.gradle.kts",
"lib/lsi/lsi-k2/build.gradle.kts",
"lib/lsi/lsi-ksp/build.gradle.kts",
"lib/lsi/lsi-kt/build.gradle.kts",
"lib/lsi/lsi-psi/build.gradle.kts",
"lib/lsi/lsi-psiandkt/build.gradle.kts",
"lib/lsi/lsi-reflection/build.gradle.kts",
"lib/openapi-codegen/build.gradle.kts",
"lib/spec/system-spec/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-core/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-dm/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-h2/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-kingbase/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-mysql/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-oracle/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-postgresql/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-sqlite/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-sqlserver/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-taos/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-jdbc-adaptor/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-lsi-adaptor/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator/build.gradle.kts",
"lib/tool-jvm/database/mybatis-auto-wrapper-core/build.gradle.kts",
"lib/tool-jvm/database/mybatis-auto-wrapper/build.gradle.kts",
"lib/tool-jvm/database/tool-cte/build.gradle.kts",
"lib/tool-jvm/database/tool-database-model/build.gradle.kts",
"lib/tool-jvm/database/tool-mybatis/build.gradle.kts",
"lib/tool-jvm/database/tool-sql-executor/build.gradle.kts",
"lib/tool-jvm/database/tool-sql-injection/build.gradle.kts",
"lib/tool-jvm/database/tool-sql/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-ext-dynamic-datasource/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-ext-lowquery/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-ktx-serializer/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-model-lowquery/build.gradle.kts",
"lib/tool-jvm/json2kotlin-dataclass/build.gradle.kts",
"lib/tool-jvm/netty-util/build.gradle.kts",
"lib/tool-jvm/network-call/browser/tool-api-browser-automation/build.gradle.kts",
"lib/tool-jvm/network-call/browser/ws-automation/build.gradle.kts",
"lib/tool-jvm/network-call/chat/api-models-chat/build.gradle.kts",
"lib/tool-jvm/network-call/music/api-music-spi/build.gradle.kts",
"lib/tool-jvm/network-call/music/api-netease-semantic-impl/build.gradle.kts",
"lib/tool-jvm/network-call/music/api-netease/build.gradle.kts",
"lib/tool-jvm/network-call/music/tool-api-music-search/build.gradle.kts",
"lib/tool-jvm/network-call/music/tool-api-suno/build.gradle.kts",
"lib/tool-jvm/network-call/music/tool-music-design/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-email/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-maven/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-ocr/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-payment/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-soft-download/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-translate/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-tyc-hw/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-tyc/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-video-parse/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-video-search-and-download/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-weather/build.gradle.kts",
"lib/tool-jvm/stream-wrapper/build.gradle.kts",
"lib/tool-jvm/tool-ai/build.gradle.kts",
"lib/tool-jvm/tool-api-jvm/build.gradle.kts",
"lib/tool-jvm/tool-area/build.gradle.kts",
"lib/tool-jvm/tool-bean/build.gradle.kts",
"lib/tool-jvm/tool-bytebuddy/build.gradle.kts",
"lib/tool-jvm/tool-cli-repl/build.gradle.kts",
"lib/tool-jvm/tool-cmd/build.gradle.kts",
"lib/tool-jvm/tool-const/build.gradle.kts",
"lib/tool-jvm/tool-context/build.gradle.kts",
"lib/tool-jvm/tool-creditcard/build.gradle.kts",
"lib/tool-jvm/tool-curl/build.gradle.kts",
"lib/tool-jvm/tool-date/build.gradle.kts",
"lib/tool-jvm/tool-docker/build.gradle.kts",
"lib/tool-jvm/tool-email/build.gradle.kts",
"lib/tool-jvm/tool-excel/build.gradle.kts",
"lib/tool-jvm/tool-funbox/build.gradle.kts",
"lib/tool-jvm/tool-handwriting/build.gradle.kts",
"lib/tool-jvm/tool-io-codegen/build.gradle.kts",
"lib/tool-jvm/tool-io/build.gradle.kts",
"lib/tool-jvm/tool-ip/build.gradle.kts",
"lib/tool-jvm/tool-jackson-extra/build.gradle.kts",
"lib/tool-jvm/tool-jackson/build.gradle.kts",
"lib/tool-jvm/tool-jsr/build.gradle.kts",
"lib/tool-jvm/tool-log/build.gradle.kts",
"lib/tool-jvm/tool-math/build.gradle.kts",
"lib/tool-jvm/tool-minio/build.gradle.kts",
"lib/tool-jvm/tool-modbus/build.gradle.kts",
"lib/tool-jvm/tool-mqtt/build.gradle.kts",
"lib/tool-jvm/tool-mybatis-generator/build.gradle.kts",
"lib/tool-jvm/tool-obj/build.gradle.kts",
"lib/tool-jvm/tool-os/build.gradle.kts",
"lib/tool-jvm/tool-pinyin/build.gradle.kts",
"lib/tool-jvm/tool-printer/build.gradle.kts",
"lib/tool-jvm/tool-reflection/build.gradle.kts",
"lib/tool-jvm/tool-s3/build.gradle.kts",
"lib/tool-jvm/tool-scheduler/build.gradle.kts",
"lib/tool-jvm/tool-serial/build.gradle.kts",
"lib/tool-jvm/tool-spctx/build.gradle.kts",
"lib/tool-jvm/tool-spel/build.gradle.kts",
"lib/tool-jvm/tool-spo/build.gradle.kts",
"lib/tool-jvm/tool-spring/build.gradle.kts",
"lib/tool-jvm/tool-ssh/build.gradle.kts",
"lib/tool-jvm/tool-stm32-bootloader/build.gradle.kts",
"lib/tool-jvm/tool-template-jte/build.gradle.kts",
"lib/tool-jvm/tool-toml/build.gradle.kts",
"lib/tool-jvm/tool-yml/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-common/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-dependencies/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-biz-data-permission/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-biz-ip/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-biz-tenant/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-captcha/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-env/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-excel/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-job/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-monitor/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-mq/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-mybatis/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-protection/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-redis/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-rpc/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-security/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-web/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-websocket/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-dependencies/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-common/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-biz-data-permission/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-biz-ip/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-biz-tenant/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-env/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-excel/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-job/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-monitor/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-mq/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-mybatis/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-protection/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-redis/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-rpc/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-security/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-web/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-websocket/build.gradle.kts",
"lib/tool-kmp/jdbc/tool-jdbc-model/build.gradle.kts",
"lib/tool-kmp/jdbc/tool-jdbc/build.gradle.kts",
"lib/tool-kmp/koog/build.gradle.kts",
"lib/tool-kmp/ktor/ktor-banner/build.gradle.kts",
"lib/tool-kmp/ktor/plugin/ktor-jimmer-plugin/build.gradle.kts",
"lib/tool-kmp/ktor/plugin/ktor-s3-plugin/build.gradle.kts",
"lib/tool-kmp/models/common/common-models/build.gradle.kts",
"lib/tool-kmp/network-starter/build.gradle.kts",
"lib/tool-kmp/tool-array/build.gradle.kts",
"lib/tool-kmp/tool-boolean/build.gradle.kts",
"lib/tool-kmp/tool-coll/build.gradle.kts",
"lib/tool-kmp/tool-config-center-client/build.gradle.kts",
"lib/tool-kmp/tool-enum/build.gradle.kts",
"lib/tool-kmp/tool-exception/build.gradle.kts",
"lib/tool-kmp/tool-expect/build.gradle.kts",
"lib/tool-kmp/tool-json-compose/build.gradle.kts",
"lib/tool-kmp/tool-json/build.gradle.kts",
"lib/tool-kmp/tool-koin/build.gradle.kts",
"lib/tool-kmp/tool-model/build.gradle.kts",
"lib/tool-kmp/tool-regex/build.gradle.kts",
"lib/tool-kmp/tool-str/build.gradle.kts",
"lib/tool-kmp/tool-tree/build.gradle.kts",
"lib/tool-starter/controller-advice-spring-boot-starter/build.gradle.kts",
"lib/tool-starter/controller-autoconfigure/build.gradle.kts",
"lib/tool-starter/curllog-spring-boot-starter/build.gradle.kts",
"lib/tool-starter/dict-trans-spring-boot-starter/build.gradle.kts"
],
"largest_source_bytes": 175489,
"source_files_sampled": 3665,
"oversized_source_files": 6,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"build.gradle.kts",
"docs/package.json"
],
"advisories": {
"error": null,
"scope": null,
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"maven",
"npm"
],
"dependencies": [],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 0,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "zjarlin",
"commits": 1131,
"avatar_url": "https://avatars.githubusercontent.com/u/67467679?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"deploy-docs.yml",
"publish-maven-central.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 0,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 0,
"reason": "license file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 2,
"reason": "dependency not pinned by hash detected -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "2199e8a492bf3b5bd4272ba6381545e030a92142",
"ran_at": "2026-07-25T23:13:26Z",
"aggregate_score": 4.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-05T13:49:44Z",
"oldest_open_prs": [],
"last_merged_pr_at": null,
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/zjarlin/addzero-lib-jvm",
"host": "github.com",
"name": "addzero-lib-jvm",
"owner": "zjarlin"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": null,
"notes": [],
"value": 33,
"inputs": {
"security": 41,
"vitality": 51,
"community": 3,
"governance": 20,
"engineering": 50
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 51,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"commits_last_year": 1166,
"human_commit_share": 1,
"days_since_last_push": 20,
"active_weeks_last_year": 41
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 20 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 20
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "41/52 weeks with commits",
"points": 28.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 41
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "1166 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 1166
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "critical",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"releases_count": 0
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "no releases published",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases_published",
"params": {}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "no releases",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases",
"params": {}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "no releases",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases",
"params": {}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 20,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 20 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 20
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 3,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 5,
"inputs": {
"forks": 1,
"stars": 3,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "3 stars",
"points": 4.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 3
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "no license file detected",
"points": 0,
"status": "missed",
"details": [
{
"code": "license_absent",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "critical",
"name": "Sustainability & Governance",
"value": 20,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "critical",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution",
"pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"merged_prs": 0,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "no decided pull requests or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_decided_prs_or_data",
"params": {}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"followers": 5,
"owner_type": "User",
"is_verified": null,
"owner_login": "zjarlin",
"public_repos": 55,
"account_age_days": 2220
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "5 followers of zjarlin",
"points": 5.6,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 5,
"login": "zjarlin"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "55 public repos, account ~6 yr old",
"points": 24.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 55
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 50,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 41,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 41,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 4.1
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 2",
"points": 1,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 56,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.91,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "91 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 91,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"build.gradle.kts",
"example/demo/build.gradle.kts",
"example/demo/composeApp/build.gradle.kts",
"example/demo/server/build.gradle.kts",
"example/demo/shared/build.gradle.kts",
"example/example-all-object-jvm-static/build.gradle.kts",
"example/example-all-object-jvm-static/java-app/build.gradle.kts",
"example/example-all-object-jvm-static/kotlin-lib/build.gradle.kts",
"example/example-dict-jimmer/app/build.gradle.kts",
"example/example-dict-jimmer/build.gradle.kts",
"example/example-kcp-i18n/build.gradle.kts",
"example/example-multireceiver/build.gradle.kts",
"example/example-sheet-workbench/build.gradle.kts",
"example/example-spread-pack/build.gradle.kts",
"example/example-transform-overload/build.gradle.kts",
"example/modbus/modbus-ksp-rtu-smoke-provider/build.gradle.kts",
"example/modbus/modbus-ksp-rtu-smoke/build.gradle.kts",
"lib/api/api-music-spi/build.gradle.kts",
"lib/api/api-netease/build.gradle.kts",
"lib/api/api-openai/build.gradle.kts",
"lib/api/api-qqmusic/build.gradle.kts",
"lib/api/api-suno/build.gradle.kts",
"lib/apt/apt-controller2feign-processor/build.gradle.kts",
"lib/apt/apt-dict-processor/build.gradle.kts",
"lib/apt/apt-ioc-processor/build.gradle.kts",
"lib/apt/dict-trans/apt-dict-trans-core/build.gradle.kts",
"lib/apt/dict-trans/apt-dict-trans-processor/build.gradle.kts",
"lib/apt/dict-trans/dict-trans-core/build.gradle.kts",
"lib/biz/spec-iot/build.gradle.kts",
"lib/compose/app-sidebar-cupertino-adapter/build.gradle.kts",
"lib/compose/app-sidebar-shadcn-adapter/build.gradle.kts",
"lib/compose/app-sidebar/build.gradle.kts",
"lib/compose/compose-apple-corner/build.gradle.kts",
"lib/compose/compose-crud-spi/build.gradle.kts",
"lib/compose/compose-cupertino-workbench/build.gradle.kts",
"lib/compose/compose-eventbus/build.gradle.kts",
"lib/compose/compose-icon-keys/build.gradle.kts",
"lib/compose/compose-icon-map/build.gradle.kts",
"lib/compose/compose-klibs-component/build.gradle.kts",
"lib/compose/compose-model-component/build.gradle.kts",
"lib/compose/compose-native-component-assist/build.gradle.kts",
"lib/compose/compose-native-component-autocomplet/build.gradle.kts",
"lib/compose/compose-native-component-button/build.gradle.kts",
"lib/compose/compose-native-component-card/build.gradle.kts",
"lib/compose/compose-native-component-chat/build.gradle.kts",
"lib/compose/compose-native-component-ext/build.gradle.kts",
"lib/compose/compose-native-component-form/build.gradle.kts",
"lib/compose/compose-native-component-glass/build.gradle.kts",
"lib/compose/compose-native-component-high-level/build.gradle.kts",
"lib/compose/compose-native-component-hook/build.gradle.kts",
"lib/compose/compose-native-component-knowledgegraph/build.gradle.kts",
"lib/compose/compose-native-component-searchbar/build.gradle.kts",
"lib/compose/compose-native-component-select/build.gradle.kts",
"lib/compose/compose-native-component-sheet/build.gradle.kts",
"lib/compose/compose-native-component-table-core/build.gradle.kts",
"lib/compose/compose-native-component-table-pro/build.gradle.kts",
"lib/compose/compose-native-component-table/build.gradle.kts",
"lib/compose/compose-native-component-text/build.gradle.kts",
"lib/compose/compose-native-component-toast/build.gradle.kts",
"lib/compose/compose-native-component-tree/build.gradle.kts",
"lib/compose/compose-workbench-design/build.gradle.kts",
"lib/compose/compose-workbench-immersive-desktop/build.gradle.kts",
"lib/compose/compose-workbench-shell/build.gradle.kts",
"lib/compose/compose-zh-fonts/build.gradle.kts",
"lib/compose/glass-components/build.gradle.kts",
"lib/compose/liquid-glass/build.gradle.kts",
"lib/compose/media-playlist-player/build.gradle.kts",
"lib/compose/scaffold-spi/build.gradle.kts",
"lib/compose/shadcn-compose-component/build.gradle.kts",
"lib/gradle-plugin/auto-jvmname/build.gradle.kts",
"lib/gradle-plugin/gradle-tool/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-apt-buddy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-ksp-buddy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-ksp-consumer-base/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-processor-buddy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-publish-budy/build.gradle.kts",
"lib/gradle-plugin/project-plugin/gradle-version-budy/build.gradle.kts",
"lib/gradle-plugin/settings-plugin/gradle-git-dependency/build.gradle.kts",
"lib/gradle-plugin/settings-plugin/gradle-modules-buddy/build.gradle.kts",
"lib/gradle-plugin/settings-plugin/gradle-repo-buddy/build.gradle.kts",
"lib/gradle-plugin/tool/catalog-autoresolve/build.gradle.kts",
"lib/gradle-plugin/tool/gradle-script-core/build.gradle.kts",
"lib/gradle-plugin/tool/gradle-script/build.gradle.kts",
"lib/gradle-plugin/tool/tool-gradle-config-java/build.gradle.kts",
"lib/gradle-plugin/tool/tool-gradle-projectdir/build.gradle.kts",
"lib/kcp/all-object-jvm-static/kcp-all-object-jvm-static-gradle-plugin/build.gradle.kts",
"lib/kcp/all-object-jvm-static/kcp-all-object-jvm-static-plugin/build.gradle.kts",
"lib/kcp/kcp-i18n-gradle-plugin/build.gradle.kts",
"lib/kcp/kcp-i18n-runtime/build.gradle.kts",
"lib/kcp/kcp-i18n/build.gradle.kts",
"lib/kcp/multireceiver/kcp-multireceiver-annotations/build.gradle.kts",
"lib/kcp/multireceiver/kcp-multireceiver-gradle-plugin/build.gradle.kts",
"lib/kcp/multireceiver/kcp-multireceiver-plugin/build.gradle.kts",
"lib/kcp/singleton-adapter-kcp/build.gradle.kts",
"lib/kcp/spread-pack/kcp-spread-pack-annotations/build.gradle.kts",
"lib/kcp/spread-pack/kcp-spread-pack-gradle-plugin/build.gradle.kts",
"lib/kcp/spread-pack/kcp-spread-pack-plugin/build.gradle.kts",
"lib/kcp/transform-overload/kcp-transform-overload-annotations/build.gradle.kts",
"lib/kcp/transform-overload/kcp-transform-overload-gradle-plugin/build.gradle.kts",
"lib/kcp/transform-overload/kcp-transform-overload-plugin/build.gradle.kts",
"lib/kotlin-script/build.gradle.kts",
"lib/ksp/app/build.gradle.kts",
"lib/ksp/build.gradle.kts",
"lib/ksp/common/ksp-easycode-jimmer/build.gradle.kts",
"lib/ksp/common/ksp-easycode/build.gradle.kts",
"lib/ksp/common/ksp-support-jdbc/build.gradle.kts",
"lib/ksp/jdbc2metadata/jdbc2controller-processor/build.gradle.kts",
"lib/ksp/jdbc2metadata/jdbc2entity-processor/build.gradle.kts",
"lib/ksp/jdbc2metadata/jdbc2enum-processor/build.gradle.kts",
"lib/ksp/logger-api/build.gradle.kts",
"lib/ksp/logger-gradle-plugin/build.gradle.kts",
"lib/ksp/logger-implementation/build.gradle.kts",
"lib/ksp/logger-processor/build.gradle.kts",
"lib/ksp/metadata/compose-props/compose-props-annotations/build.gradle.kts",
"lib/ksp/metadata/compose-props/compose-props-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/compose-props/compose-props-processor/build.gradle.kts",
"lib/ksp/metadata/controller2api-idea-plugin/build.gradle.kts",
"lib/ksp/metadata/controller2api-processor/build.gradle.kts",
"lib/ksp/metadata/controller2api-smoke/build.gradle.kts",
"lib/ksp/metadata/controller2feign-processor/build.gradle.kts",
"lib/ksp/metadata/controller2iso2dataprovider-processor/build.gradle.kts",
"lib/ksp/metadata/entity2form/entity2form-core/build.gradle.kts",
"lib/ksp/metadata/entity2form/entity2form-processor/build.gradle.kts",
"lib/ksp/metadata/entity2iso-processor/build.gradle.kts",
"lib/ksp/metadata/entity2mcp-processor/build.gradle.kts",
"lib/ksp/metadata/enum-processor/build.gradle.kts",
"lib/ksp/metadata/gen-reified/gen-reified-core/build.gradle.kts",
"lib/ksp/metadata/gen-reified/gen-reified-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/gen-reified/gen-reified-processor/build.gradle.kts",
"lib/ksp/metadata/ioc/ioc-core/build.gradle.kts",
"lib/ksp/metadata/ioc/ioc-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/ioc/ioc-processor/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-apt-smoke/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-ksp-smoke/build.gradle.kts",
"lib/ksp/metadata/jimmer-ddl-compiler/jimmer-ddl-compiler-processor/build.gradle.kts",
"lib/ksp/metadata/jimmer-entity-external-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/jimmer-entity-external-processor/build.gradle.kts",
"lib/ksp/metadata/jimmer-entity-spi/build.gradle.kts",
"lib/ksp/metadata/jimmer-low-query/jimmer-low-query-annotations/build.gradle.kts",
"lib/ksp/metadata/jimmer-low-query/jimmer-low-query-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/jimmer-low-query/jimmer-low-query-processor/build.gradle.kts",
"lib/ksp/metadata/kcloud/build.gradle.kts",
"lib/ksp/metadata/ksp-dsl-builder/ksp-dsl-builder-core/build.gradle.kts",
"lib/ksp/metadata/ksp-dsl-builder/ksp-dsl-builder-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/ksp-dsl-builder/ksp-dsl-builder-processor/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-api/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-processor/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-spi-helper/build.gradle.kts",
"lib/ksp/metadata/method-semanticizer/method-semanticizer-spi/build.gradle.kts",
"lib/ksp/metadata/modbus/modbus-codegen-core/build.gradle.kts",
"lib/ksp/metadata/modbus/modbus-ksp/build.gradle.kts",
"lib/ksp/metadata/modbus/modbus-runtime/build.gradle.kts",
"lib/ksp/metadata/multireceiver-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/multireceiver-processor/build.gradle.kts",
"lib/ksp/metadata/openapi/openapi-core/build.gradle.kts",
"lib/ksp/metadata/openapi/openapi-ktor-extractor/build.gradle.kts",
"lib/ksp/metadata/openapi/openapi-spring-extractor/build.gradle.kts",
"lib/ksp/metadata/singleton-adapter-api/build.gradle.kts",
"lib/ksp/metadata/singleton-adapter-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/singleton-adapter-processor/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-core/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-gradle-plugin/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-processor/build.gradle.kts",
"lib/ksp/metadata/spring2ktor-server-smoke/build.gradle.kts",
"lib/ksp/published-gradle-plugin-tests/build.gradle.kts",
"lib/ksp/route/route-core/build.gradle.kts",
"lib/ksp/route/route-gradle-plugin/build.gradle.kts",
"lib/ksp/route/route-processor/build.gradle.kts",
"lib/lsi/lsi-apt/build.gradle.kts",
"lib/lsi/lsi-core/build.gradle.kts",
"lib/lsi/lsi-intellij/build.gradle.kts",
"lib/lsi/lsi-jimmer/build.gradle.kts",
"lib/lsi/lsi-k2/build.gradle.kts",
"lib/lsi/lsi-ksp/build.gradle.kts",
"lib/lsi/lsi-kt/build.gradle.kts",
"lib/lsi/lsi-psi/build.gradle.kts",
"lib/lsi/lsi-psiandkt/build.gradle.kts",
"lib/lsi/lsi-reflection/build.gradle.kts",
"lib/openapi-codegen/build.gradle.kts",
"lib/spec/system-spec/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-core/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-dm/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-h2/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-kingbase/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-mysql/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-oracle/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-postgresql/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-sqlite/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-sqlserver/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-dialect-taos/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-jdbc-adaptor/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator-lsi-adaptor/build.gradle.kts",
"lib/tool-jvm/database/ddlgenerator/build.gradle.kts",
"lib/tool-jvm/database/mybatis-auto-wrapper-core/build.gradle.kts",
"lib/tool-jvm/database/mybatis-auto-wrapper/build.gradle.kts",
"lib/tool-jvm/database/tool-cte/build.gradle.kts",
"lib/tool-jvm/database/tool-database-model/build.gradle.kts",
"lib/tool-jvm/database/tool-mybatis/build.gradle.kts",
"lib/tool-jvm/database/tool-sql-executor/build.gradle.kts",
"lib/tool-jvm/database/tool-sql-injection/build.gradle.kts",
"lib/tool-jvm/database/tool-sql/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-ext-dynamic-datasource/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-ext-lowquery/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-ktx-serializer/build.gradle.kts",
"lib/tool-jvm/jimmer/jimmer-model-lowquery/build.gradle.kts",
"lib/tool-jvm/json2kotlin-dataclass/build.gradle.kts",
"lib/tool-jvm/netty-util/build.gradle.kts",
"lib/tool-jvm/network-call/browser/tool-api-browser-automation/build.gradle.kts",
"lib/tool-jvm/network-call/browser/ws-automation/build.gradle.kts",
"lib/tool-jvm/network-call/chat/api-models-chat/build.gradle.kts",
"lib/tool-jvm/network-call/music/api-music-spi/build.gradle.kts",
"lib/tool-jvm/network-call/music/api-netease-semantic-impl/build.gradle.kts",
"lib/tool-jvm/network-call/music/api-netease/build.gradle.kts",
"lib/tool-jvm/network-call/music/tool-api-music-search/build.gradle.kts",
"lib/tool-jvm/network-call/music/tool-api-suno/build.gradle.kts",
"lib/tool-jvm/network-call/music/tool-music-design/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-email/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-maven/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-ocr/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-payment/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-soft-download/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-translate/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-tyc-hw/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-tyc/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-video-parse/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-video-search-and-download/build.gradle.kts",
"lib/tool-jvm/network-call/tool-api-weather/build.gradle.kts",
"lib/tool-jvm/stream-wrapper/build.gradle.kts",
"lib/tool-jvm/tool-ai/build.gradle.kts",
"lib/tool-jvm/tool-api-jvm/build.gradle.kts",
"lib/tool-jvm/tool-area/build.gradle.kts",
"lib/tool-jvm/tool-bean/build.gradle.kts",
"lib/tool-jvm/tool-bytebuddy/build.gradle.kts",
"lib/tool-jvm/tool-cli-repl/build.gradle.kts",
"lib/tool-jvm/tool-cmd/build.gradle.kts",
"lib/tool-jvm/tool-const/build.gradle.kts",
"lib/tool-jvm/tool-context/build.gradle.kts",
"lib/tool-jvm/tool-creditcard/build.gradle.kts",
"lib/tool-jvm/tool-curl/build.gradle.kts",
"lib/tool-jvm/tool-date/build.gradle.kts",
"lib/tool-jvm/tool-docker/build.gradle.kts",
"lib/tool-jvm/tool-email/build.gradle.kts",
"lib/tool-jvm/tool-excel/build.gradle.kts",
"lib/tool-jvm/tool-funbox/build.gradle.kts",
"lib/tool-jvm/tool-handwriting/build.gradle.kts",
"lib/tool-jvm/tool-io-codegen/build.gradle.kts",
"lib/tool-jvm/tool-io/build.gradle.kts",
"lib/tool-jvm/tool-ip/build.gradle.kts",
"lib/tool-jvm/tool-jackson-extra/build.gradle.kts",
"lib/tool-jvm/tool-jackson/build.gradle.kts",
"lib/tool-jvm/tool-jsr/build.gradle.kts",
"lib/tool-jvm/tool-log/build.gradle.kts",
"lib/tool-jvm/tool-math/build.gradle.kts",
"lib/tool-jvm/tool-minio/build.gradle.kts",
"lib/tool-jvm/tool-modbus/build.gradle.kts",
"lib/tool-jvm/tool-mqtt/build.gradle.kts",
"lib/tool-jvm/tool-mybatis-generator/build.gradle.kts",
"lib/tool-jvm/tool-obj/build.gradle.kts",
"lib/tool-jvm/tool-os/build.gradle.kts",
"lib/tool-jvm/tool-pinyin/build.gradle.kts",
"lib/tool-jvm/tool-printer/build.gradle.kts",
"lib/tool-jvm/tool-reflection/build.gradle.kts",
"lib/tool-jvm/tool-s3/build.gradle.kts",
"lib/tool-jvm/tool-scheduler/build.gradle.kts",
"lib/tool-jvm/tool-serial/build.gradle.kts",
"lib/tool-jvm/tool-spctx/build.gradle.kts",
"lib/tool-jvm/tool-spel/build.gradle.kts",
"lib/tool-jvm/tool-spo/build.gradle.kts",
"lib/tool-jvm/tool-spring/build.gradle.kts",
"lib/tool-jvm/tool-ssh/build.gradle.kts",
"lib/tool-jvm/tool-stm32-bootloader/build.gradle.kts",
"lib/tool-jvm/tool-template-jte/build.gradle.kts",
"lib/tool-jvm/tool-toml/build.gradle.kts",
"lib/tool-jvm/tool-yml/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-common/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-dependencies/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-biz-data-permission/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-biz-ip/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-biz-tenant/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-captcha/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-env/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-excel/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-job/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-monitor/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-mq/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-mybatis/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-protection/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-redis/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-rpc/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-security/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-web/build.gradle.kts",
"lib/tool-jvm/yudao/yudao-spring-boot-starter-websocket/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-dependencies/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-common/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-biz-data-permission/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-biz-ip/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-biz-tenant/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-env/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-excel/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-job/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-monitor/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-mq/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-mybatis/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-protection/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-redis/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-rpc/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-security/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-web/build.gradle.kts",
"lib/tool-jvm/yudao3/yudao-framework/yudao-spring-boot-starter-websocket/build.gradle.kts",
"lib/tool-kmp/jdbc/tool-jdbc-model/build.gradle.kts",
"lib/tool-kmp/jdbc/tool-jdbc/build.gradle.kts",
"lib/tool-kmp/koog/build.gradle.kts",
"lib/tool-kmp/ktor/ktor-banner/build.gradle.kts",
"lib/tool-kmp/ktor/plugin/ktor-jimmer-plugin/build.gradle.kts",
"lib/tool-kmp/ktor/plugin/ktor-s3-plugin/build.gradle.kts",
"lib/tool-kmp/models/common/common-models/build.gradle.kts",
"lib/tool-kmp/network-starter/build.gradle.kts",
"lib/tool-kmp/tool-array/build.gradle.kts",
"lib/tool-kmp/tool-boolean/build.gradle.kts",
"lib/tool-kmp/tool-coll/build.gradle.kts",
"lib/tool-kmp/tool-config-center-client/build.gradle.kts",
"lib/tool-kmp/tool-enum/build.gradle.kts",
"lib/tool-kmp/tool-exception/build.gradle.kts",
"lib/tool-kmp/tool-expect/build.gradle.kts",
"lib/tool-kmp/tool-json-compose/build.gradle.kts",
"lib/tool-kmp/tool-json/build.gradle.kts",
"lib/tool-kmp/tool-koin/build.gradle.kts",
"lib/tool-kmp/tool-model/build.gradle.kts",
"lib/tool-kmp/tool-regex/build.gradle.kts",
"lib/tool-kmp/tool-str/build.gradle.kts",
"lib/tool-kmp/tool-tree/build.gradle.kts",
"lib/tool-starter/controller-advice-spring-boot-starter/build.gradle.kts",
"lib/tool-starter/controller-autoconfigure/build.gradle.kts",
"lib/tool-starter/curllog-spring-boot-starter/build.gradle.kts",
"lib/tool-starter/dict-trans-spring-boot-starter/build.gradle.kts"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "build.gradle.kts, example/demo/build.gradle.kts, example/demo/composeApp/build.gradle.kts (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "build.gradle.kts, example/demo/build.gradle.kts, example/demo/composeApp/build.gradle.kts"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Kotlin (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Kotlin"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 2",
"points": 2,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Kotlin",
"largest_source_bytes": 175489,
"source_files_sampled": 3665,
"oversized_source_files": 6
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Kotlin (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Kotlin"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "6/3665 source files over 60KB",
"points": 54.9,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 3665,
"oversized": 6
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"example",
"sample"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "example, sample",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "example, sample"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-25T23:13:36.215030Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/z/zjarlin/addzero-lib-jvm.svg",
"full_name": "zjarlin/addzero-lib-jvm",
"license_state": "absent",
"license_spdx": null
}