Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-25 23:13 UTC

zjarlin / addzero-lib-jvm

Kotlin · JavaЛіцензію не виявлено★ 3 зірки⑂ 1 форкз жовт. 2025 р.Переглянути на GitHub ↗

zjarlin/addzero-lib-jvm має індекс здоров’я 33 зі 100, що відповідає смузі «У зоні ризику». Найвищий показник — AI Readiness (56/100), найнижчий — Community & Adoption (3/100). Останнє оновлення було 20 днів тому. Більшість нещодавньої роботи виконує один учасник.

33
загалом / 100
У зоні ризику

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

33
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

zjarlinОсобистий обліковий запис
5 підписників55 публічних репозиторіївз черв. 2020 р.

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

51Помірний · 22% загального індексу
Як обчислюється оцінка
28.8/36Свіжість push — останній push 20 дн. тому
28.4/36Ритм комітів — 41/52 тижнів із комітами
18/18Обсяг комітів — 1 166 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year1 166
human_commit_share1
days_since_last_push20
active_weeks_last_year41
Як обчислюється оцінка
0/27Випускає релізи — релізів не опубліковано
0/36Свіжість релізів — релізів немає
0/27Ритм релізів — релізів немає
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

3Критичний · 18% загального індексу
Як обчислюється оцінка
4.9/60Зірки — 3 зірок
0/25Форки — 1 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks1
stars3
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
0/22.5README
0/22.5Ліцензія — файлу ліцензії не виявлено
0/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeні
has_licenseні
has_contributingні
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

20Критичний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0/22.5Розподіл комітів — головний контриб’ютор — автор 100% комітів
1.4/13.5Широта контриб’юторів — 1 контриб’юторів
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Використані вхідні дані
bus_factor1
contributors_sampled1
top_contributor_share1
Як обчислюється оцінка
0/46.8Вирішення issue — немає issue або даних
0/38.3Прийняття PR — немає вирішених pull request-ів або даних
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Виключено з оцінювання (немає даних або не застосовно): Вирішення issue, Прийняття PR. Залишкові ваги перенормовано.
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
5.6/25Охоплення власника — 5 підписників у zjarlin
24.7/25Послужний список — 55 публічних репозиторіїв, вік облікового запису ~6 р.
Використані вхідні дані
followers5
owner_typeUser
is_verified
owner_loginzjarlin
public_repos55
account_age_days2 220
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Інженерна якість

Чи наявні базові інженерні практики та документація?

50Помірний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 2 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — немає даних
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: CI-Tests. Залишкові ваги перенормовано.

Документація

35У зоні ризику
Як обчислюється оцінка
0/30README
25/25Каталог документації
0/15Сайт документації / домашня сторінка
0/10Опис репозиторію
0/10Теми
10/10Wiki
Використані вхідні дані
topics
has_wikiтак
homepage
has_readmeні
has_docs_dirтак
has_descriptionні

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

41У зоні ризику · 16% загального індексу

Стан безпеки

41У зоні ризику
Як обчислюється оцінка
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 — немає даних
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.5Ліцензія — 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 — немає даних
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,1
Виключено з оцінювання (немає даних або не застосовно): ci_tests, signed_releases. Залишкові ваги перенормовано.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

56Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 91 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,91
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
12.6/18Розгортання однією командою — build.gradle.kts, example/demo/build.gradle.kts, example/demo/composeApp/build.gradle.kts (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Kotlin (статично типізована)
10/10Відтворюване середовище — lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
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
Як обчислюється оцінка
45/45Типізований код — Kotlin (статично типізована)
54.9/55Керовані розміри файлів — 6/3 665 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageKotlin
largest_source_bytes175 489
source_files_sampled3 665
oversized_source_files6
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — example, sample
Використані вхідні дані
example_dirsexample, sample
has_mcp_signalні
api_schema_files

Ключові факти

3зірок GitHub
1контриб'юторів
1 166комітів за останні 12 місяців
20днів від останнього пушу
0релізів
1бас-фактор
0відкритих issue
Maven, npmпакетних екосистем

Попередження щодо збору даних

  • 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

Докладніше

OpenSSF Scorecard 4.1 / 10
4.1сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).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
н/дCI-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
н/дSigned-Releasesno releases found
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
10Vulnerabilities0 existing vulnerabilities detected
Усі залежності не зібрано

Не вдалося зібрати розв'язаний набір залежностей для цього звіту: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

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

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистика.