Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-25 23:13 UTC

zjarlin / addzero-lib-jvm

Kotlin · JavaSin licencia detectada★ 3 estrellas⑂ 1 forkdesde oct 2025Ver en GitHub ↗

zjarlin/addzero-lib-jvm tiene un índice de salud de 33 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es AI Readiness (56/100) y la más baja, Community & Adoption (3/100). Se actualizó por última vez hace 20 días. Una sola persona concentra la mayor parte del trabajo reciente.

33
global / 100
En riesgo

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

33
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

zjarlinCuenta personal
5 seguidores55 repositorios públicosdesde jun 2020

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

51Moderado · 22% del índice global
Cómo se puntúa
28.8/36Recencia de push — último push hace 20 días
28.4/36Cadencia de commits — 41/52 semanas con commits
18/18Volumen de commits — 1166 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year1166
human_commit_share1
days_since_last_push20
active_weeks_last_year41
Cómo se puntúa
0/27Publica versiones — sin versiones publicadas
0/36Recencia de las versiones — sin versiones
0/27Cadencia de publicación — sin versiones
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count0
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

3Crítico · 18% del índice global
Cómo se puntúa
4.9/60Estrellas — 3 estrellas
0/25Forks — 1 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks1
stars3
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
0/22.5README
0/22.5Licencia — no se detectó ningún archivo de licencia
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readmeno
has_licenseno
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

20Crítico · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
1.4/13.5Amplitud de contribuyentes — 1 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled1
top_contributor_share1
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
0/38.3Aceptación de PR — sin PR decididos o sin datos
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues, Aceptación de PR. Los pesos restantes se han renormalizado.
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
5.6/25Alcance del propietario — 5 seguidores de zjarlin
24.7/25Trayectoria — 55 repos públicos, cuenta de ~6 años
Datos de entrada utilizados
followers5
owner_typeUser
is_verified
owner_loginzjarlin
public_repos55
account_age_days2220
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

50Moderado · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 2 flujo(s) de trabajo
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: CI-Tests. Los pesos restantes se han renormalizado.

Documentación

35En riesgo
Cómo se puntúa
0/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
0/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepage
has_readmeno
has_docs_dir
has_descriptionno

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

41En riesgo · 16% del índice global
Cómo se puntúa
0/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
0/2.5Licencia — license file not detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,1
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, signed_releases. Los pesos restantes se han renormalizado.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

56Moderado · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 91 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,91
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
12.6/18Arranque con un solo comando — build.gradle.kts, example/demo/build.gradle.kts, example/demo/composeApp/build.gradle.kts (convención del toolchain, sin ejecutor de tareas)
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — Kotlin (tipado estático)
10/10Entorno reproducible — lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfileno
typed_language
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0
toolchain_manifestsbuild.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_share0
Cómo se puntúa
45/45Código verificable por tipos — Kotlin (tipado estático)
54.9/55Tamaños de archivo manejables — 6/3665 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageKotlin
largest_source_bytes175.489
source_files_sampled3665
oversized_source_files6
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — example, sample
Datos de entrada utilizados
example_dirsexample, sample
has_mcp_signalno
api_schema_files

Datos clave

3estrellas de GitHub
1contribuidores
1166commits en los últimos 12 meses
20días desde el último push
0versiones publicadas
1factor bus
0issues abiertas
Maven, npmecosistemas de paquetes

Advertencias de recopilación de datos

  • 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

Más detalle

OpenSSF Scorecard 4.1 / 10
4.1agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-25 23:13 UTC

0Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
0Licenselicense file not detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
10Vulnerabilities0 existing vulnerabilities detected
Todas las dependencias no recopilado

No fue posible recopilar el conjunto de dependencias resuelto para este informe: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Informe JSON sin procesar legible por máquina
{
  "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
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadas.