公开记录
软件健康报告模式 0.27.0 · 指标 1.14.0 · 2026-07-31 09:08 UTC

vbenjs / vue-vben-admin

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

Vue · TypeScriptMIT★ 33,014 星标⑂ 8,893 复刻始于 2020年7月在 GitHub 上查看 ↗

vbenjs/vue-vben-admin 的健康指数为 100 分中的 84 分,处于「良好」区间。 其得分最高的类别是Vitality(96/100),最低的是AI Readiness(56/100)。 最近一次更新在今天。 近期的大部分工作由 4 位贡献者完成。

84
总分 / 100
良好

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

84
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

vbenjs组织
678 关注者20 个公开仓库始于 2021年1月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

注册表软件包版本月下载量版本数最近发布
npm@vben/types1.0.1831979 天前
npm@vben/utils1.0.1571979 天前
npm@vben/stores1.0.1441979 天前
npm@vben/styles1.0.1291979 天前

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

96优秀 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 0 天前
34.6/36提交节奏 — 52 周中有 50 周有提交
18/18提交量 — 最近一年 806 次提交
10/10OpenSSF Scorecard:Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year806
human_commit_share0.99
days_since_last_push0
active_weeks_last_year50

发布纪律

92优秀
评分方式
27/27有发布版本 — 已发布 63 个发布版本
36/36发布时效 — 最近一次发布版本于 71 天前
19.8/27发布节奏 — 约每 53.8 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count63
latest_release_tagv5.7.0
releases_from_tags
days_since_latest_release71
mean_days_between_releases53.8
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

76良好 · 占总体的 18%
评分方式
60/60星标 — 33,014 个星标
25/25复刻 — 8,893 个复刻
13.6/15关注者 — 279 位关注者
所用输入
forks8,893
stars33,014
watchers279
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

77良好
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
18/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
6.3/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
31.1/80月度下载量 — npm 合计每月 213 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packages@vben/types, @vben/utils, @vben/stores, @vben/styles
dependents
ecosystemsnpm
total_downloads
monthly_downloads213
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

75良好 · 占总体的 24%
评分方式
43.2/54巴士系数 — 4 位贡献者贡献了半数提交
18.1/22.5提交分布 — 头号贡献者编写了 20% 的提交
13.5/13.5贡献者广度 — 98 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 10 contributing companies or organizations
所用输入
bus_factor4
contributors_sampled98
top_contributor_share0.195
评分方式
45.6/46.8议题解决 — 98% 的议题已关闭
23/38.3PR 接受 — 已裁定的 PR 中 1,905/3,168 已合并
15/15OpenSSF Scorecard:Code-Review — all changesets reviewed
所用输入
merged_prs1,905
open_issues97
closed_issues4,025
issue_closed_ratio0.976
closed_unmerged_prs1,263
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
20.4/25所有者影响力 — vbenjs 有 678 位关注者
20.8/25既往记录 — 20 个公开仓库,账户约 5 年
所用输入
followers678
owner_typeOrganization
is_verified
owner_loginvbenjs
public_repos20
account_age_days2,033
评分方式
25/25已发布且可解析 — npm 上有 4 个软件包
4/35发布时效 — 最近一次发布于 979 天前
4/20版本历史 — 1 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packages@vben/types, @vben/utils, @vben/stores, @vben/styles
ecosystemsnpm
any_deprecated
min_days_since_publish979

工程质量

基础的工程与文档实践是否到位?

94优秀 · 占总体的 20%

工程实践

90优秀
评分方式
24/24CI 工作流 — 13 个工作流
24/24存在测试
16/16Linter 配置 — eslint.config.mjs
0/9.6Pre-commit 钩子
6.4/6.4.editorconfig
20/20OpenSSF Scorecard:CI-Tests — 15 out of 15 merged PRs checked by a CI test -- score normalized to 10
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

100优秀
评分方式
30/30README
25/25文档目录
15/15文档 / 主页站点 — https://www.vben.pro
10/10仓库描述
10/10主题标签 — 14 个主题标签
10/10Wiki
所用输入
topicsvue3, vite, typescript, ant-design, admin-template, tsx, vben, vite-template, vuex, vue-router, element-plus, monorepo, naive-ui, shadcn-ui
has_wiki
homepagehttps://www.vben.pro
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

75良好 · 占总体的 16%

安全态势

69中等
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — 无数据
2.5/2.5CI-Tests — 15 out of 15 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 10 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — 无数据
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
5/5SAST — SAST tool is run on all commits
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
6/7.5Vulnerabilities — 2 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate6.9
已排除计分(无数据或不适用):branch_protection, packaging, signed_releases。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
25/25间接依赖不含已知公告 — 没有间接依赖携带已知公告
0/40没有长期未处理的公告 — 没有公告带有发布日期
所用输入
sourceosv
advisories0
affected_packages0
assessed_packages28
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
已排除计分(无数据或不适用):没有长期未处理的公告。 其余权重已重新归一化。 比对的是 npm:@vben/types@1.0.1 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 28 个软件包。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

56中等 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
39.9/40可读的提交历史 — 99 次人类提交中有 74 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.747
agent_instruction_files
agent_instruction_max_bytes
评分方式
0/18一条命令的引导启动
22/22自动化测试
11/11Lint / 格式化配置 — eslint.config.mjs
11/11静态类型检查 — apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json
10/10可复现环境 — Dockerfile, lockfile
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
8/8自动化维护 — 最近 100 次提交中有 1 次为自动依赖更新
1/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
所用输入
has_nix
has_tests
lockfilespnpm-lock.yaml
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configsapps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0.01
评分方式
27/45可类型检查的代码 — Vue,已配置类型检查(apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json)
55/55可控的文件大小 — 采样的 728 个源文件中有 0 个超过 60KB
所用输入
primary_languageVue
largest_source_bytes31,541
source_files_sampled728
oversized_source_files0

机器可读接口

40存在风险
评分方式
0/40API 模式(OpenAPI/GraphQL/proto)
0/20MCP 服务器
40/40可运行示例 — demos, examples
所用输入
example_dirsdemos, examples
has_mcp_signal
api_schema_files

关键数据

33,014GitHub 星标
98贡献者
806最近 12 个月提交数
0距最近推送天数
63发布版本数
4巴士系数(bus factor)
97开放议题
npm软件包生态系统数

数据采集警告

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Could not fetch npm package '@vben/playground' from its registry
  • Could not fetch npm package '@vben/web-ele' from its registry
  • Could not fetch npm package '@vben/web-antd' from its registry
  • Could not fetch npm package '@vben/web-naive' from its registry
  • Could not fetch npm package '@vben/icons' from its registry
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

更多细节

Star 与 Fork 历史 0 ★ / 8,893 ⇿
0Star
8,893Fork
3发布

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

仅显示最近的历史——该仓库超出采集窗口,因此未采集最早的历史记录。

7,5008,0008,5009,0008,893112025-102026-032026-07
主版本 0次版本 2修订 1
OpenSSF Scorecard 6.9 / 10
6.9综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-31 09:08 UTC

10Binary-Artifactsno binaries found in the repo
不适用Branch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests15 out of 15 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 10 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
不适用Packagingpackaging workflow not detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
10SASTSAST tool is run on all commits
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
8Vulnerabilities2 existing vulnerabilities detected
直接依赖 187
注册表软件包版本约束清单文件
npmsortablejscatalog:package.json
npm@tanstack/vue-querycatalog:playground/package.json
npm@vben-core/designworkspace:*playground/package.json
npm@vben-core/menu-uiworkspace:*playground/package.json
npm@vben/accessworkspace:*playground/package.json
npm@vben/common-uiworkspace:*playground/package.json
npm@vben/constantsworkspace:*playground/package.json
npm@vben/hooksworkspace:*playground/package.json
npm@vben/iconsworkspace:*playground/package.json
npm@vben/layoutsworkspace:*playground/package.json
npm@vben/localesworkspace:*playground/package.json
npm@vben/pluginsworkspace:*playground/package.json
npm@vben/preferencesworkspace:*playground/package.json
npm@vben/requestworkspace:*playground/package.json
npm@vben/storesworkspace:*playground/package.json
npm@vben/stylesworkspace:*playground/package.json
npm@vben/typesworkspace:*playground/package.json
npm@vben/utilsworkspace:*playground/package.json
npm@vueuse/corecatalog:playground/package.json
npmantdv-nextcatalog:playground/package.json
npmdayjscatalog:playground/package.json
npmjson-bigintcatalog:playground/package.json
npmpiniacatalog:playground/package.json
npmvuecatalog:playground/package.json
npmvue-routercatalog:playground/package.json
npm@faker-js/fakercatalog:apps/backend-mock/package.json
npmjsonwebtokencatalog:apps/backend-mock/package.json
npmnitropackcatalog:apps/backend-mock/package.json
npm@vben/accessworkspace:*apps/web-antd/package.json
npm@vben/common-uiworkspace:*apps/web-antd/package.json
npm@vben/constantsworkspace:*apps/web-antd/package.json
npm@vben/hooksworkspace:*apps/web-antd/package.json
npm@vben/iconsworkspace:*apps/web-antd/package.json
npm@vben/layoutsworkspace:*apps/web-antd/package.json
npm@vben/localesworkspace:*apps/web-antd/package.json
npm@vben/pluginsworkspace:*apps/web-antd/package.json
npm@vben/preferencesworkspace:*apps/web-antd/package.json
npm@vben/requestworkspace:*apps/web-antd/package.json
npm@vben/storesworkspace:*apps/web-antd/package.json
npm@vben/stylesworkspace:*apps/web-antd/package.json
npm@vben/typesworkspace:*apps/web-antd/package.json
npm@vben/utilsworkspace:*apps/web-antd/package.json
npm@vueuse/corecatalog:apps/web-antd/package.json
npmant-design-vuecatalog:apps/web-antd/package.json
npmdayjscatalog:apps/web-antd/package.json
npmpiniacatalog:apps/web-antd/package.json
npmvuecatalog:apps/web-antd/package.json
npmvue-routercatalog:apps/web-antd/package.json
npm@vben/accessworkspace:*apps/web-antdv-next/package.json
npm@vben/common-uiworkspace:*apps/web-antdv-next/package.json
npm@vben/constantsworkspace:*apps/web-antdv-next/package.json
npm@vben/hooksworkspace:*apps/web-antdv-next/package.json
npm@vben/iconsworkspace:*apps/web-antdv-next/package.json
npm@vben/layoutsworkspace:*apps/web-antdv-next/package.json
npm@vben/localesworkspace:*apps/web-antdv-next/package.json
npm@vben/pluginsworkspace:*apps/web-antdv-next/package.json
npm@vben/preferencesworkspace:*apps/web-antdv-next/package.json
npm@vben/requestworkspace:*apps/web-antdv-next/package.json
npm@vben/storesworkspace:*apps/web-antdv-next/package.json
npm@vben/stylesworkspace:*apps/web-antdv-next/package.json
npm@vben/typesworkspace:*apps/web-antdv-next/package.json
npm@vben/utilsworkspace:*apps/web-antdv-next/package.json
npm@vueuse/corecatalog:apps/web-antdv-next/package.json
npmantdv-nextcatalog:apps/web-antdv-next/package.json
npmdayjscatalog:apps/web-antdv-next/package.json
npmpiniacatalog:apps/web-antdv-next/package.json
npmvuecatalog:apps/web-antdv-next/package.json
npmvue-routercatalog:apps/web-antdv-next/package.json
npm@vben/accessworkspace:*apps/web-ele/package.json
npm@vben/common-uiworkspace:*apps/web-ele/package.json
npm@vben/constantsworkspace:*apps/web-ele/package.json
npm@vben/hooksworkspace:*apps/web-ele/package.json
npm@vben/iconsworkspace:*apps/web-ele/package.json
npm@vben/layoutsworkspace:*apps/web-ele/package.json
npm@vben/localesworkspace:*apps/web-ele/package.json
npm@vben/pluginsworkspace:*apps/web-ele/package.json
npm@vben/preferencesworkspace:*apps/web-ele/package.json
npm@vben/requestworkspace:*apps/web-ele/package.json
npm@vben/storesworkspace:*apps/web-ele/package.json
npm@vben/stylesworkspace:*apps/web-ele/package.json
npm@vben/typesworkspace:*apps/web-ele/package.json
npm@vben/utilsworkspace:*apps/web-ele/package.json
npm@vueuse/corecatalog:apps/web-ele/package.json
npmdayjscatalog:apps/web-ele/package.json
npmelement-pluscatalog:apps/web-ele/package.json
npmpiniacatalog:apps/web-ele/package.json
npmvuecatalog:apps/web-ele/package.json
npmvue-routercatalog:apps/web-ele/package.json
npm@vben/accessworkspace:*apps/web-naive/package.json
npm@vben/common-uiworkspace:*apps/web-naive/package.json
npm@vben/constantsworkspace:*apps/web-naive/package.json
npm@vben/hooksworkspace:*apps/web-naive/package.json
npm@vben/iconsworkspace:*apps/web-naive/package.json
npm@vben/layoutsworkspace:*apps/web-naive/package.json
npm@vben/localesworkspace:*apps/web-naive/package.json
npm@vben/pluginsworkspace:*apps/web-naive/package.json
npm@vben/preferencesworkspace:*apps/web-naive/package.json
npm@vben/requestworkspace:*apps/web-naive/package.json
npm@vben/storesworkspace:*apps/web-naive/package.json
npm@vben/stylesworkspace:*apps/web-naive/package.json
npm@vben/typesworkspace:*apps/web-naive/package.json
npm@vben/utilsworkspace:*apps/web-naive/package.json
npm@vueuse/corecatalog:apps/web-naive/package.json
npmnaive-uicatalog:apps/web-naive/package.json
npmpiniacatalog:apps/web-naive/package.json
npmvuecatalog:apps/web-naive/package.json
npmvue-routercatalog:apps/web-naive/package.json
npm@vben/accessworkspace:*apps/web-tdesign/package.json
npm@vben/common-uiworkspace:*apps/web-tdesign/package.json
npm@vben/constantsworkspace:*apps/web-tdesign/package.json
npm@vben/hooksworkspace:*apps/web-tdesign/package.json
npm@vben/iconsworkspace:*apps/web-tdesign/package.json
npm@vben/layoutsworkspace:*apps/web-tdesign/package.json
npm@vben/localesworkspace:*apps/web-tdesign/package.json
npm@vben/pluginsworkspace:*apps/web-tdesign/package.json
npm@vben/preferencesworkspace:*apps/web-tdesign/package.json
npm@vben/requestworkspace:*apps/web-tdesign/package.json
npm@vben/storesworkspace:*apps/web-tdesign/package.json
npm@vben/stylesworkspace:*apps/web-tdesign/package.json
npm@vben/typesworkspace:*apps/web-tdesign/package.json
npm@vben/utilsworkspace:*apps/web-tdesign/package.json
npm@vueuse/corecatalog:apps/web-tdesign/package.json
npmdayjscatalog:apps/web-tdesign/package.json
npmes-toolkitcatalog:apps/web-tdesign/package.json
npmpiniacatalog:apps/web-tdesign/package.json
npmtdesign-vue-nextcatalog:apps/web-tdesign/package.json
npmvuecatalog:apps/web-tdesign/package.json
npmvue-routercatalog:apps/web-tdesign/package.json
npm@changesets/gitcatalog:internal/node-utils/package.json
npm@manypkg/get-packagescatalog:internal/node-utils/package.json
npmchalkcatalog:internal/node-utils/package.json
npmconsolacatalog:internal/node-utils/package.json
npmdayjscatalog:internal/node-utils/package.json
npmexecacatalog:internal/node-utils/package.json
npmfind-upcatalog:internal/node-utils/package.json
npmoracatalog:internal/node-utils/package.json
npmpkg-typescatalog:internal/node-utils/package.json
npmrimrafcatalog:internal/node-utils/package.json
npm@iconify/tailwind4catalog:internal/tailwind-config/package.json
npm@tailwindcss/typographycatalog:internal/tailwind-config/package.json
npmtailwindcsscatalog:internal/tailwind-config/package.json
npmtw-animate-csscatalog:internal/tailwind-config/package.json
npm@vben/typesworkspace:*internal/tsconfig/package.json
npmvitecatalog:internal/tsconfig/package.json
npm@intlify/unplugin-vue-i18ncatalog:internal/vite-config/package.json
npm@jspm/generatorcatalog:internal/vite-config/package.json
npm@tailwindcss/vitecatalog:internal/vite-config/package.json
npm@vben/node-utilsworkspace:*internal/vite-config/package.json
npmarchivercatalog:internal/vite-config/package.json
npmcheeriocatalog:internal/vite-config/package.json
npmget-portcatalog:internal/vite-config/package.json
npmhtml-minifier-tersercatalog:internal/vite-config/package.json
npmnitropackcatalog:internal/vite-config/package.json
npmresolve.exportscatalog:internal/vite-config/package.json
npmvite-plugin-pwacatalog:internal/vite-config/package.json
npmvite-plugin-vue-devtoolscatalog:internal/vite-config/package.json
npm@vben-core/sharedworkspace:*packages/constants/package.json
npm@vben-core/iconsworkspace:*packages/icons/package.json
npm@intlify/core-basecatalog:packages/locales/package.json
npm@vben-core/composablesworkspace:*packages/locales/package.json
npmvuecatalog:packages/locales/package.json
npmvue-i18ncatalog:packages/locales/package.json
npm@vben-core/preferencesworkspace:*packages/preferences/package.json
npm@vben-core/typingsworkspace:*packages/preferences/package.json
npm@vben-core/preferencesworkspace:*packages/stores/package.json
npm@vben-core/sharedworkspace:*packages/stores/package.json
npm@vben-core/typingsworkspace:*packages/stores/package.json
npmpiniacatalog:packages/stores/package.json
npmpinia-plugin-persistedstatecatalog:packages/stores/package.json
npmsecure-lscatalog:packages/stores/package.json
npmvuecatalog:packages/stores/package.json
npmvue-routercatalog:packages/stores/package.json
npm@vben-core/designworkspace:*packages/styles/package.json
npm@vben-core/typingsworkspace:*packages/types/package.json
npmvuecatalog:packages/types/package.json
npmvue-routercatalog:packages/types/package.json
npm@vben-core/sharedworkspace:*packages/utils/package.json
npm@vben-core/typingsworkspace:*packages/utils/package.json
npmvue-routercatalog:packages/utils/package.json
npm@clack/promptscatalog:scripts/turbo-run/package.json
npm@vben/node-utilsworkspace:*scripts/turbo-run/package.json
npmcaccatalog:scripts/turbo-run/package.json
npm@vben/node-utilsworkspace:*scripts/vsh/package.json
npmcaccatalog:scripts/vsh/package.json
npmcircular-dependency-scannercatalog:scripts/vsh/package.json
npmknipcatalog:scripts/vsh/package.json
npmpublintcatalog:scripts/vsh/package.json
全部依赖 未采集

本报告未能采集到解析后的依赖集合:GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

依赖安全公告 0

安装 npm:@vben/types@1.0.1 会引入 28 个包(直接与传递):其中 0 个存在已知公告,0 个为直接依赖。

没有已知公告影响已评估的依赖。

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "vue3",
        "vite",
        "typescript",
        "ant-design",
        "admin-template",
        "tsx",
        "vben",
        "vite-template",
        "vuex",
        "vue-router",
        "element-plus",
        "monorepo",
        "naive-ui",
        "shadcn-ui"
      ],
      "is_fork": false,
      "size_kb": 48055,
      "has_wiki": true,
      "homepage": "https://www.vben.pro",
      "languages": {
        "CSS": 60422,
        "Vue": 1553922,
        "HTML": 11410,
        "SCSS": 2311,
        "Shell": 1590,
        "Dockerfile": 877,
        "JavaScript": 13640,
        "TypeScript": 1351141
      },
      "pushed_at": "2026-07-30T22:13:10Z",
      "created_at": "2020-07-11T02:29:21Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-31T08:22:41Z",
      "description": "A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Vue",
      "significant_languages": [
        "Vue",
        "TypeScript"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "vbenjs",
      "company": null,
      "location": null,
      "followers": 678,
      "avatar_url": "https://avatars.githubusercontent.com/u/76995045?v=4",
      "created_at": "2021-01-05T08:30:33Z",
      "is_verified": null,
      "public_repos": 20,
      "account_age_days": 2033
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v5.7.0",
          "kind": "minor",
          "published_at": "2026-05-21T01:09:08Z"
        },
        {
          "tag": "v5.6.1",
          "kind": "patch",
          "published_at": "2026-05-21T00:56:17Z"
        },
        {
          "tag": "v5.6.0",
          "kind": "minor",
          "published_at": "2026-02-08T21:11:40Z"
        },
        {
          "tag": "v5.5.9",
          "kind": "patch",
          "published_at": "2025-08-16T14:16:43Z"
        },
        {
          "tag": "v5.5.8",
          "kind": "patch",
          "published_at": "2025-07-19T14:20:33Z"
        },
        {
          "tag": "v5.5.7",
          "kind": "patch",
          "published_at": "2025-06-03T21:33:49Z"
        },
        {
          "tag": "v5.5.6",
          "kind": "patch",
          "published_at": "2025-05-06T14:35:38Z"
        },
        {
          "tag": "v5.5.5",
          "kind": "patch",
          "published_at": "2025-04-27T13:46:00Z"
        },
        {
          "tag": "v5.5.4",
          "kind": "patch",
          "published_at": "2025-03-18T13:44:01Z"
        },
        {
          "tag": "v5.5.3",
          "kind": "patch",
          "published_at": "2025-01-21T14:08:51Z"
        },
        {
          "tag": "v5.5.2",
          "kind": "patch",
          "published_at": "2024-12-28T14:16:19Z"
        },
        {
          "tag": "v5.5.1",
          "kind": "patch",
          "published_at": "2024-12-12T14:48:00Z"
        },
        {
          "tag": "v5.5.0",
          "kind": "minor",
          "published_at": "2024-12-04T15:05:15Z"
        },
        {
          "tag": "v5.4.8",
          "kind": "patch",
          "published_at": "2024-11-24T14:06:24Z"
        },
        {
          "tag": "v5.4.7",
          "kind": "patch",
          "published_at": "2024-11-14T14:18:23Z"
        },
        {
          "tag": "v5.4.6",
          "kind": "patch",
          "published_at": "2024-11-10T03:53:31Z"
        },
        {
          "tag": "v5.4.5",
          "kind": "patch",
          "published_at": "2024-11-09T13:10:24Z"
        },
        {
          "tag": "v5.4.4",
          "kind": "patch",
          "published_at": "2024-11-04T14:48:58Z"
        },
        {
          "tag": "v5.4.3",
          "kind": "patch",
          "published_at": "2024-10-27T14:01:16Z"
        },
        {
          "tag": "v5.4.2",
          "kind": "patch",
          "published_at": "2024-10-20T14:37:42Z"
        },
        {
          "tag": "v5.4.1",
          "kind": "patch",
          "published_at": "2024-10-18T14:13:43Z"
        },
        {
          "tag": "v5.4.0",
          "kind": "minor",
          "published_at": "2024-10-13T06:22:33Z"
        },
        {
          "tag": "v5.3.2",
          "kind": "patch",
          "published_at": "2024-10-03T07:43:49Z"
        },
        {
          "tag": "v5.3.1",
          "kind": "patch",
          "published_at": "2024-09-29T14:38:39Z"
        },
        {
          "tag": "v5.3.0",
          "kind": "minor",
          "published_at": "2024-09-22T06:33:48Z"
        },
        {
          "tag": "v5.3.0-beta.2",
          "kind": "prerelease",
          "published_at": "2024-09-10T14:23:43Z"
        },
        {
          "tag": "v5.2.2",
          "kind": "patch",
          "published_at": "2024-09-04T15:02:01Z"
        },
        {
          "tag": "v5.2.1",
          "kind": "patch",
          "published_at": "2024-08-31T13:58:02Z"
        },
        {
          "tag": "v5.2.0",
          "kind": "minor",
          "published_at": "2024-08-29T14:41:35Z"
        },
        {
          "tag": "v5.1.2",
          "kind": "patch",
          "published_at": "2024-08-25T03:03:14Z"
        },
        {
          "tag": "v5.1.1",
          "kind": "patch",
          "published_at": "2024-08-19T15:33:40Z"
        },
        {
          "tag": "v5.1.0",
          "kind": "minor",
          "published_at": "2024-08-14T15:09:42Z"
        },
        {
          "tag": "v5.0.1",
          "kind": "patch",
          "published_at": "2024-08-08T13:13:54Z"
        },
        {
          "tag": "v5.0.0",
          "kind": "major",
          "published_at": "2024-08-03T23:19:32Z"
        },
        {
          "tag": "v2.11.5",
          "kind": "patch",
          "published_at": "2024-05-31T01:57:42Z"
        },
        {
          "tag": "v2.11.4",
          "kind": "patch",
          "published_at": "2024-05-06T01:18:02Z"
        },
        {
          "tag": "v2.11.3",
          "kind": "patch",
          "published_at": "2024-04-24T10:02:14Z"
        },
        {
          "tag": "v2.11.2",
          "kind": "patch",
          "published_at": "2024-04-23T01:11:39Z"
        },
        {
          "tag": "v2.11.1",
          "kind": "patch",
          "published_at": "2024-04-20T09:22:26Z"
        },
        {
          "tag": "v2.11.0",
          "kind": "minor",
          "published_at": "2024-04-20T08:28:14Z"
        },
        {
          "tag": "2.10.1",
          "kind": "patch",
          "published_at": "2023-09-27T01:48:38Z"
        },
        {
          "tag": "v3.0.0-alpha.1",
          "kind": "prerelease",
          "published_at": "2023-04-07T16:12:23Z"
        },
        {
          "tag": "v2.10.0",
          "kind": "minor",
          "published_at": "2023-04-07T16:08:58Z"
        },
        {
          "tag": "v2.9.1",
          "kind": "patch",
          "published_at": "2023-04-04T16:21:50Z"
        },
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2023-03-24T10:05:07Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2021-11-02T16:31:43Z"
        },
        {
          "tag": "v2.7.2",
          "kind": "patch",
          "published_at": "2021-09-13T16:06:30Z"
        },
        {
          "tag": "v2.7.1",
          "kind": "patch",
          "published_at": "2021-08-16T15:45:12Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2021-08-03T00:04:17Z"
        },
        {
          "tag": "v2.6.1",
          "kind": "patch",
          "published_at": "2021-07-19T15:57:04Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2021-07-04T14:13:08Z"
        },
        {
          "tag": "v2.5.2",
          "kind": "patch",
          "published_at": "2021-06-27T16:23:06Z"
        },
        {
          "tag": "v2.5.1",
          "kind": "patch",
          "published_at": "2021-06-26T16:04:54Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2021-06-20T13:40:55Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2021-05-25T15:48:13Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2021-04-10T15:23:16Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2021-04-07T17:19:25Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2021-03-25T16:16:14Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2021-03-15T01:22:03Z"
        },
        {
          "tag": "v2.0.3",
          "kind": "patch",
          "published_at": "2021-03-07T15:51:44Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2021-03-03T17:29:52Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2021-02-21T14:42:23Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2021-02-17T16:05:26Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "32495e40b2d2adca452d29617685eeaf3bfb128f",
          "body": "* fix(@vben-core/popup-ui): rebind popup api after hmr\n\n* fix(@vben-core/popup-ui): preserve options after remount",
          "is_bot": false,
          "headline": "fix(@vben-core/popup-ui): rebind popup api after HMR (#8217)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-30T22:13:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb52807b2711c9a4e3abf7c20376bc1a00ecad5d",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben-core/form-ui): correct field slot props (#8216)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-30T22:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "418c16e0939262b3d0037fbd0c378c3ce34c7642",
          "body": "锁屏设置弹窗(lock-screen-modal)的确认按钮作用是输入密码后锁定屏幕,\n但按钮文案 i18n key `ui.widgets.lockScreen.screenButton` 原值为「解锁」/「Unlock」,\n与弹窗标题「锁定屏幕」及实际动作矛盾,存在歧义。\n\n- zh-CN: 「解锁」->「锁定」\n- en-US: 「Unlock」->「Lock」\n\n(同段另有 `unlock` key 值「点击解锁」,用于已锁定后的全屏解锁界面,语义正确,保持不变)",
          "is_bot": false,
          "headline": "fix(@vben/locales): 修复锁屏弹窗按钮文案歧义 (#8211)",
          "author_name": "MistyMoon",
          "author_login": "MistyMoonR",
          "committed_at": "2026-07-29T23:12:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b04d728249e1dbc6ce5ab1beb33835a92583feeb",
          "body": "…组校验失败 (#8207)",
          "is_bot": false,
          "headline": "fix(@vben-core/form-ui): 兼容 zod v4 的 ZodArray,避免误用 unwrap() 丢失数组外壳导致数…",
          "author_name": "JyQAQ",
          "author_login": "jyqwq",
          "committed_at": "2026-07-28T07:50:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44483db9af07997a83abacefcf3fc7372f203bb4",
          "body": "将 PreviewGroupComponent 的 hidden class 替换为通过 classes.popup.root\n设置更高 z-index,避免在弹窗内被遮挡",
          "is_bot": false,
          "headline": "fix(project): 修复弹窗中表单上传组件预览图片层级问题 (#8205)",
          "author_name": "JyQAQ",
          "author_login": "jyqwq",
          "committed_at": "2026-07-27T14:37:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbf0cebf4bf010dac4dd34eaf1f218bc85d39edb",
          "body": "…内聚管理,避免公共 types 文件持续膨胀。 (#8204)",
          "is_bot": false,
          "headline": "style: 优化 vxe-table 类型组织结构,将 viewed-row 功能域相关类型进行模块化拆分,由全局类型声明调整为功能目录…",
          "author_name": "layhuts",
          "author_login": "LayHuts",
          "committed_at": "2026-07-27T14:36:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98344dfcec8dc5cd4a84e7def3cbd9361faadb73",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/dream-weave/fix-layout-scroll-container'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-25T12:37:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d5ccc7ac81f85e86fd42184111fa76b299f0bf0",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben/layouts): scope hash targets to layout",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-24T09:32:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9c6d56f747861a287bd69f5959164d3b4dc1e7e",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben/layouts): restore internal scroll navigation",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-24T08:58:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aaf0da582c4f01f6cc138a3592e70af365b2ef06",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben-core/layout-ui): stabilize internal layout scrolling",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-24T08:57:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a5d052fa517b74c790f6422e8cd5141601c4f44",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben-core/composables): lock layout scroll container",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-24T08:56:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "baea741432ce4e5332a857873be444ec4b7edf15",
          "body": null,
          "is_bot": false,
          "headline": "feat(@vben-core/shared): add layout scroll helpers",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-24T08:55:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33f4522bff3099046819e2eecfacc761c253c8f9",
          "body": null,
          "is_bot": false,
          "headline": "fix: 补充 i18n 缺失的英文",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-24T07:26:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb6b0a887255139db58b262b09a15cc87e4299e8",
          "body": null,
          "is_bot": false,
          "headline": "fix: constrain popper content to available viewport width",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-24T07:21:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57e2a54219a0f43eb5faf8747fab75db9358d70c",
          "body": null,
          "is_bot": false,
          "headline": "fix: add missing Symbol descriptions",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-24T07:17:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4db254cd21412fe7c7feacc1ec0b39f88a555dfb",
          "body": null,
          "is_bot": false,
          "headline": "fix: Tailwindcss v4 new variable shorthand syntax",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-24T07:07:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "255a76d79a6adc09006baf8edba31cfb825c1b5b",
          "body": null,
          "is_bot": false,
          "headline": "feat: canonical tailwind class",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-24T07:04:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcdbfe5dfc3c2b242f43950dff9ac4e97120a4ca",
          "body": "* fix(@vben-core/form-ui): avoid stale form context access\n\n* fix(@vben/playground): constrain date range codec fields\n\n* test(@vben-core/form-ui): harden benchmark fixtures\n\n* docs(@vben/docs): document form runtime and benchmarks\n\n* fix(@vben/docs): 明确 getValues/submit 返回值及 submit 参数类型",
          "is_bot": false,
          "headline": "fix(@vben-core/form-ui): restore lock screen form submission (#8195)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-24T02:05:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0542b509ca20da477d003f7c878692287d8f6875",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump versions (#8192)",
          "author_name": "xingyu",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-23T12:41:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaf585d03ac3094b6324efcff589753ddd512412",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/dream-weave/update-zod'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-23T12:35:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a45cb41fb7ca949c45dbfbb4fd39d8a9b48c9cf",
          "body": "…;antdv 暂不支持",
          "is_bot": false,
          "headline": "fix: 添加 StyleProvider 以支持 Tailwind 样式覆盖;移除 InputNumber 组件的宽度样式,优化组件适配…",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-23T09:50:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "517a42ec056b04e56bc75ec3ea16596c683326ee",
          "body": null,
          "is_bot": false,
          "headline": "perf(@vben-core/form-ui): benchmark form hot paths",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T09:47:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bacfdf5e42c97c27e580fa4206dd75a22c278f0d",
          "body": null,
          "is_bot": false,
          "headline": "perf(@vben-core/form-ui): optimize array field updates",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T09:47:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e69c3fefc51b340c95ea03d0f4f8d58a3f0b2b5",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben/playground): address form codec edge cases",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T09:47:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43b78da024ad2a31b1e5a676da54b516dd4cee33",
          "body": null,
          "is_bot": false,
          "headline": "refactor(@vben/playground): share date range codecs",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T09:47:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "decbed20bccc7e173adcbe6c624c26c33986d070",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben-core/form-ui): harden codec value boundaries",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T09:47:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ac5ac3e8210d6bc1e31f71c6dd3efa77776278a",
          "body": null,
          "is_bot": false,
          "headline": "fix(@vben-core/form-ui): preserve array field focus",
          "author_name": "Dream",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T09:47:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d5a419c50f2a16504c7222b5c6caf4c8f65c21b",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-23T07:25:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d82505330d30a9bcc6d71fb806e4eb0c7852d61",
          "body": "* fix: 修复用户下拉框小部件菜单行点击无响应及弹框闪退\n\n- 主题/时区/全屏/通知菜单行补充 @select 处理器,点击行任意位置即可触发\n- 时区设置弹框宿主移出 DropdownMenu(showButton 模式),修复弹框随下拉框关闭而闪退\n- 通知组件暴露 toggle 供下拉框调用\n- 偏好设置小部件文案精简,positionMap 顺序调整\n\n* feat: draggable-list.vue 直接复用 SelectItem,用法和 tabbar.vue 完全一致",
          "is_bot": false,
          "headline": "fix: dropdown menu responsiveness and improve dialog handling (#8187)",
          "author_name": "xingyu",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-23T07:14:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98dea92225ee53006321ad451276e3b6db2194e9",
          "body": "* feat(@vben-core/form-ui): add typed form value codecs\n\n* test(@vben-core/form-ui): cover codec value boundaries\n\n* refactor(project): propagate form codec generics\n\n* feat(@vben/plugins): propagate form codecs through vxe grids\n\n* refactor(@vben/playground): migrate form codec examples\n\n* refactor(@vben/playground): migrate query forms to codecs\n\n* docs(@vben/docs): document form value codecs",
          "is_bot": false,
          "headline": "feat(@vben-core/form-ui): add typed form value codecs (#8189)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-23T07:09:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6a23479ee93027dc284972a0430fe3a4fed07de",
          "body": null,
          "is_bot": false,
          "headline": "fix: 修复锁定屏幕和退出登录小部件,位置在 user-dropdown 时,使用快捷键唤出两个模态窗",
          "author_name": "hiss",
          "author_login": "zhb410181",
          "committed_at": "2026-07-23T06:44:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "294e9f29664c731e6e4c969cb22a4613e41f2775",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-23T05:44:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f43de252b52b82f37e3eeb21151e89d66119bc2f",
          "body": "…clicked (#8184)",
          "is_bot": false,
          "headline": "fix: fixed the icon defect which cause to langauge button can not be …",
          "author_name": "Harold  Zhang",
          "author_login": "HaroldZhangCode91",
          "committed_at": "2026-07-23T04:20:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebc0f23e644e8af98029b1c137591046338a393c",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-22T12:35:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28757fb9c8d15fb471e86c647e8a4a568f7a282f",
          "body": "* build(@vben-core/form-ui): update form validation dependencies\n\n* refactor(@vben-core/form-ui): replace vee-validate with TanStack Form\n\n* test(@vben-core/form-ui): cover TanStack Form migration\n\n* docs(@vben/docs): document Zod 4 form migration\n\n* refactor(project): update form adapters\n\n* refact\n[…]\nable instance on unmount\n\n* docs(@vben/docs): document form runtime API changes\n\n- list added, changed, removed, and deprecated form APIs\n- document atomic dependencies and raw versus formatted values",
          "is_bot": false,
          "headline": "refactor(@vben-core/form-ui): migrate to Zod 4 and TanStack Form (#8176)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-22T11:47:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "81f69d797d15c502356e6a7788fee617effe3462",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-22T10:06:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b6708bcf28aa9dd87c53c879c7dfd73708c915d",
          "body": "* chore: 调整 sortablejs 的位置,只在用到的模块引入\n\n* fix: non-null assertion lint error\n\n* fix: 修复点击退出图标确认后不能退出\n\n* fix: 图标排序等数组字段需顺序敏感比较\n\n* feat: 配置中增加 refresh 并统一位置",
          "is_bot": false,
          "headline": "fix: 修复点击退出图标确认后不能退出 && 图标排序等数组字段需顺序敏感比较 (#8179)",
          "author_name": "xingyu",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-22T09:44:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c1d31f680b99e24fdda7df6fd61f7d355b11ab2",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-22T06:59:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "899910547f26f6dc67c60a9b6821a131a94c7c58",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/xingyu4j/deps'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-22T01:55:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70a1d0a2e0af00b7de35b4fd85ca17aa308dd727",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/maoxuner/fix/system-menu-form'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-21T15:05:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24eb67224d56efb76a6bf26995ba6e80d562d676",
          "body": "…tion unit (#8168)\n\nduration was written as 2500 (intended as ms), but ant-design-vue's\nmessage/notification duration is in seconds, so it was interpreted as\n2500s (~41min), making the popups appear to never close.\nChanged to 2.5 with a comment documenting the unit.\n\nCloses #8144",
          "is_bot": false,
          "headline": "fix: message/notification demos not auto-dismissing due to wrong dura…",
          "author_name": "MistyMoon",
          "author_login": "MistyMoonR",
          "committed_at": "2026-07-21T14:57:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4e25028b5066772c7cf1c9d6c7f171914b776e0",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into fix/system-menu-form",
          "author_name": "Jin Mao",
          "author_login": "jinmao88",
          "committed_at": "2026-07-21T14:53:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef27b4e3490e9d099a207b124f3f984ce3528484",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/maoxuner/fix/lang-doc'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-21T14:48:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b21563a89b9fb84d9c2ae39fd71fb5b6672b65a6",
          "body": "- 修复 VbenTooltip 的 :content prop 类型错误,改用默认插槽\n- 修复 VbenIconButton 的 onClick prop 支持数组合并\n- VbenFullScreen 新增 tooltip prop,支持直接设置提示\n- 统一顶栏与用户下拉框所有按钮样式,使用 VbenIconButton 包装\n- 移除 i18n 中多余的\"启用\"字样(全局搜索/语言切换)\n- 修复 VbenPopover PopoverTrigger 嵌套 button 导致 tooltip 不显示\n\nCo-Authored-By: AtomCode (GLM-5.2) <noreply@atomgit.com>",
          "is_bot": false,
          "headline": "feat: 顶栏与用户下拉框按钮样式统一与 tooltip 修复",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-21T14:36:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d06451cdb7c91425998a5d7ab8aa99f1b937373f",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-21T08:31:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5318774efe47371031a3c455a64e2ce15164926c",
          "body": null,
          "is_bot": false,
          "headline": "fix: 优化命令执行逻辑,使用串行执行以提高错误可见性",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T10:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68a2717a268400c4420cd8f35cc087733977bd16",
          "body": null,
          "is_bot": false,
          "headline": "fix: test error",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T10:48:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a2c01e453d10a568773f101dd03a2254bce08b6",
          "body": null,
          "is_bot": false,
          "headline": "fix: 添加 oxlint 禁用注释以避免嵌套三元运算符警告",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T10:45:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b330f08ef4a73447ff1db0116f367ab65805902a",
          "body": null,
          "is_bot": false,
          "headline": "fix: lint",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T10:36:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6676d962e906c22ad07f65980339bf1d3ae0198a",
          "body": null,
          "is_bot": false,
          "headline": "fix: 修复Vben用户信息中的 homePath 属性定义",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T10:36:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd8307dfe536a060eb28720d808884e4f78e9c04",
          "body": null,
          "is_bot": false,
          "headline": "chore: update dependencies and refactor command execution",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T10:36:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0c327e037cd07eb4dc4fc300a456f6f19e0420c",
          "body": null,
          "is_bot": false,
          "headline": "chore: update pnpm v11.15.1",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T09:40:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "901a147abb68f2df4bf455b6ae32d230b35fd4ac",
          "body": "…o deps",
          "is_bot": false,
          "headline": "Merge branch 'main' of https://github.com/xingyu4j/vue-vben-admin int…",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-20T09:39:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86e68bdde3baab513a88963f1c33d5d0d529e45e",
          "body": "提升示例菜单数据的整体一致性,避免多处信息不一致的情况",
          "is_bot": false,
          "headline": "docs: 同步后端接入文档示例菜单地址",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-19T17:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "054deae3bb6f2c12199ee60656d4715173299d56",
          "body": null,
          "is_bot": false,
          "headline": "fix: 菜单组件mock数据与实际保持一致",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-19T17:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "772286fb73645584ed4f3ff3679d5d2167020d69",
          "body": "兼容新dashboard路由配置",
          "is_bot": false,
          "headline": "fix: 路由地址不强制以斜杠开头",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-19T16:46:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5936ff2e0ff9767bdd5f38bef52dfcf192748102",
          "body": "antdv-next TreeSelect组件没有title插槽",
          "is_bot": false,
          "headline": "fix: 系统菜单管理上级菜单无法显示名称的问题",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-19T16:20:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f840d235ef6357e925029f9dcdae6ed8eccea8f7",
          "body": "- 顶栏各小部件按钮支持选择位置(header/user-dropdown/none),偏好设置按钮额外保留 auto/fixed 智能兜底,移动端/全屏内容模式下自动切 fixed 浮动保命,避免偏好入口死锁\n- draggable-list.vue 的 listRef 未在模板绑定,Sortable 永不初始化导致小部件无法拖拽;加 ref 绑定与 data-key 让 onEnd 从 DOM 读真实新顺序\n- preferences.ts 的 updatePreferences 用 defu(merge) 合并数组,对 widget.order 是 concat 语义,每次拖拽触发更新都\n[…]\ns 缺 refresh 导致刷新按钮不按 order 渲染;统一 preferences 与其它 widget 的拖拽排序与位置 select,refresh 补进 rightSlots.widgetChecks 并补模板渲染\n- 补 sortablejs 依赖、WidgetPreferences.order 类型字段、preferences-drawer.vue 的 widgetOrder 绑定",
          "is_bot": false,
          "headline": "feat: 偏好设置小部件支持位置选择与拖拽排序",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-19T13:34:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "930597c605c879d63e995af6e632962448e694be",
          "body": "closed #8160",
          "is_bot": false,
          "headline": "docs: 更新新增语言包的说明",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-18T18:27:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41c20a43aff4d0b3c795c358241fd1a588e45996",
          "body": "使用可用的语言配置\n修复computed变量使用语法错误\n\nclosed #8159",
          "is_bot": false,
          "headline": "docs: 更正语言使用示例,确保可用",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-18T17:22:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe65d548beab2490013b56539d01da4e24ebdff8",
          "body": "closed #8158",
          "is_bot": false,
          "headline": "docs: 修复英文语言文件路径错误",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-18T17:17:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0cd87c170f48e17e7d0bc98ed2623f61a2728971",
          "body": "为顶栏所有部件按钮添加独立的位置配置,支持在顶栏、用户下拉菜单、不显示\n三种选项间切换,每个按钮可独立设置。\n\n- 新增 7 个位置偏好字段:globalSearchButtonPosition、\n  themeToggleButtonPosition、languageToggleButtonPosition、\n  fullscreenButtonPosition、notificationButtonPosition、\n  refreshButtonPosition、timezoneButtonPosition\n- 合并 lockScreenButtonPosition、logoutButtonPosition\n- header.vue 按位置条件过滤按钮显示\n- user-dropdown.vue 新增对应菜单项,支持在用户下拉菜单中显示\n- 偏好设置界面仅保留位置选择器(不再需要独立的开关)\n- 更新中英文国际化文案\n\nCo-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>",
          "is_bot": false,
          "headline": "feat: 顶栏按钮支持位置选择(header/user-dropdown/none)",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-18T14:46:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b71ebbd67366b2c6344c4e527a577d63d8c79ca6",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'pr-8019-temp/main'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-18T11:21:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31d3bd18f36b8ece38432d7a5b4903346d61c6b9",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/LayHuts/feature/form-field-arry'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-18T11:18:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eae677155493425045118c4fb1debe3dc33fe19e",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into feature/fix_defects_router",
          "author_name": "Jin Mao",
          "author_login": "jinmao88",
          "committed_at": "2026-07-17T19:54:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ac66a96bc86966657323879eaf46d6ced87b2fd",
          "body": "* fix(@vben/playground): 弹窗中使用裁剪图片会出现层级问题\n\n* fix(project): 修复弹窗中裁剪图片在 web-antd 与 web-antdv-next 的层级问题",
          "is_bot": false,
          "headline": "fix: 修复弹窗中使用裁剪图片会出现层级问题 (#8156)",
          "author_name": "JyQAQ",
          "author_login": "jyqwq",
          "committed_at": "2026-07-17T07:17:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "822cec0f5c13aebc9326a863d52c801af64e1712",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-16T05:13:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6910c691f79f704e28ddcdf5b657c4a4e038f4f5",
          "body": "首次页面加载正常,但是当通过页面点击切换路由的时候白屏,无法正常渲染子页面\r\n\r\n Vue Transition + KeepAlive 空白页 bug**: `<Transition mode=\"out-in\">` + 条件渲染会导致路由切换空白页。`mode=\"out-in\"` 要求旧元素完成 leave 动画后新元素才进入,但路由切换时条件渲染可能在动画前就移除了旧元素,导致 `<Transition>` 永远等待一个不存在的元素 → 死锁。**解决方案**: 移除 `mode=\"out-in\"`(保留 Transition 动画),或在 `apps/web-antd/src/preferences.ts` 设置 `transition: { enable: false }` 关闭动画走 `v-else` 分支。",
          "is_bot": false,
          "headline": "修复动画导致的白屏Bug (#8148)",
          "author_name": "Guillermo Sagar",
          "author_login": "shenlanchenwei",
          "committed_at": "2026-07-16T01:35:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71c30d3e18be12ef752aff8223cd4d2438d4a199",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-14T06:07:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "263d8e5b52618e1e91e951533bb359950b272927",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into feature/fix_defects_router",
          "author_name": "Harold  Zhang",
          "author_login": "HaroldZhangCode91",
          "committed_at": "2026-07-14T01:47:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b79b82ecf00b9985e565ddeb49a5141b5a5de716",
          "body": "…lanague etc (#8147)",
          "is_bot": false,
          "headline": "feat: fixed the preference will hide all other button theme/timezone/…",
          "author_name": "Harold  Zhang",
          "author_login": "HaroldZhangCode91",
          "committed_at": "2026-07-13T13:31:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91a2e80be8068758420d6d0dd8a65d7f8e9bb979",
          "body": null,
          "is_bot": false,
          "headline": "fix: 优化代码格式,合并类型声明",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-13T10:30:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "819ddd4ebbf1faec4ee3f928feaf026f62514eda",
          "body": null,
          "is_bot": false,
          "headline": "fix(style): 添加no-invalid-position-declaration规则到stylelint配置",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-13T10:29:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb6403d513af24213f07fafdace35af432fc27eb",
          "body": null,
          "is_bot": false,
          "headline": "chore: update deps",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-13T10:29:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45c3776ffd4112ce1be4ab7bec30cf48702103bb",
          "body": null,
          "is_bot": false,
          "headline": "chore: update pnpm v11.12.0",
          "author_name": "xingyu4j",
          "author_login": "xingyu4j",
          "committed_at": "2026-07-13T10:27:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d23cd707cdd906312c8a6106cddf2cce240f11c",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-13T03:22:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6eb79b8ef0ae8f05728cb40aa89d5723e831d5ea",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into feature/fix_defects_router",
          "author_name": "Harold  Zhang",
          "author_login": "HaroldZhangCode91",
          "committed_at": "2026-07-13T00:59:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b7c245bc7a2346764d98d26003a2faf67a98182",
          "body": null,
          "is_bot": false,
          "headline": "fix: 修复首选项导航栏宽度问题 (#8136)",
          "author_name": "zouawen",
          "author_login": "zouawen",
          "committed_at": "2026-07-11T03:43:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e416de3290e0c461dfd3dd9bb6325da0f1869efa",
          "body": null,
          "is_bot": false,
          "headline": "fix: fixed defects of router",
          "author_name": "Harold Zhang",
          "author_login": "HaroldZhangCode91",
          "committed_at": "2026-07-10T02:15:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "398b445d3513866b16712e4201e0671fefcfba51",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'vbenjs:main' into main",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-09T07:41:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14d03a1c2d2d22247cbfbd309c971f6bf294d66a",
          "body": null,
          "is_bot": false,
          "headline": "fix: 统一BasicUserInfo (#8133)",
          "author_name": "luoqiz",
          "author_login": "luoqiz",
          "committed_at": "2026-07-09T05:23:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9769c11de511729cb4d3b6af9fc284d292eddfd7",
          "body": null,
          "is_bot": false,
          "headline": "fix(style): 修复偏好设置功能tab栏宽度未自适应问题 (#8132)",
          "author_name": "zhb410181",
          "author_login": "zhb410181",
          "committed_at": "2026-07-09T05:23:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cae47e8c7f40323c7c6d9b6dfff094d8a2e182f2",
          "body": null,
          "is_bot": false,
          "headline": "fix(style): 修复偏好设置功能tab栏宽度未自适应问题",
          "author_name": "hiss",
          "author_login": "zhb410181",
          "committed_at": "2026-07-08T08:42:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88918aad101f31ce7f77766df62ef53f20470e15",
          "body": "closed #8125",
          "is_bot": false,
          "headline": "docs: fix typo of env demo (#8129)",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-08T00:38:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75c3a7214b890af8794a00ff9f05ff66307cfbd0",
          "body": "closed #8117",
          "is_bot": false,
          "headline": "docs: update default home path perferences (#8121)",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-07T13:41:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71bcabd118e376bb7b107da707008da2546580d2",
          "body": "closed 8113",
          "is_bot": false,
          "headline": "docs: update nitro mock server url (#8119)",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-03T09:12:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81619b6090bc32684a64e3f3adcb835b3b68828b",
          "body": "* docs: 路由文档示例代码同步路由组织新规范\n\n* fix(lint): align eslint and oxlint rules\n\n* fix(lint): avoid control character regex",
          "is_bot": false,
          "headline": "fix(lint): align eslint and oxlint rules (#8118)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-03T09:12:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77468ce9a603bceb3a14d014372a8f6a4451ec75",
          "body": null,
          "is_bot": false,
          "headline": "docs: 路由文档示例代码同步路由组织新规范 (#8114)",
          "author_name": "dream-weave",
          "author_login": "dream-weave",
          "committed_at": "2026-07-02T10:35:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8779c00670ff9fd44793c17f5562d220ffb11adf",
          "body": "* fix: 修复homePath的路径\n\n* fix: 单元测试数据\n\n* chore: 单元测试快照数据\n\n---------\n\nCo-authored-by: Jin Mao <50581550+jinmao88@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: 修复homePath的路径 (#8110)",
          "author_name": "Evan",
          "author_login": "bnuephjx",
          "committed_at": "2026-07-01T09:31:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61f1b533253263ff047209d3e67eaaa95ca7f19c",
          "body": null,
          "is_bot": false,
          "headline": "fix: 修改默认首页,以适配router重构",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-01T09:02:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c56bb7d32002f202e7acd0ef71fdf7d7306bdd21",
          "body": null,
          "is_bot": false,
          "headline": "docs: 更新文档",
          "author_name": "layhuts",
          "author_login": "LayHuts",
          "committed_at": "2026-07-01T07:07:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1490a93f47cd85bb7d47c1fbfbd7ce908750dbc8",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/bnuephjx/refactor/router-redirect'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-01T05:31:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e50296e3c54313f5337873a263add1d5a005ffed",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'fork/zouawen/main'",
          "author_name": "金毛88",
          "author_login": "jinmao88",
          "committed_at": "2026-07-01T05:06:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5da38ccded786b81cc7e997616bd879c97cf30a8",
          "body": "* fix: 调整mock默认路由\n\n1. starting改为running 语义更明确\n2. API地址修复\n3. 列表顺序调整,登录接口靠前\n\n* docs: 替换axios调用示例\n\n原先/api/user接口地址不对,且是受认证保护的接口,响应异常容易造成误解",
          "is_bot": false,
          "headline": "fix: 调整mock默认路由 (#8108)",
          "author_name": "陆伯言",
          "author_login": "maoxuner",
          "committed_at": "2026-07-01T05:02:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20b69fa480cb3598829773c778733a112d8b7305",
          "body": null,
          "is_bot": false,
          "headline": "revert: 撤销修改",
          "author_name": "layhuts",
          "author_login": "LayHuts",
          "committed_at": "2026-07-01T03:49:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdf2abb7028cff75a0ffc9e02bd9c9ce86d8a47b",
          "body": null,
          "is_bot": false,
          "headline": "refactor: 修改form-field-array支持dependencies",
          "author_name": "layhuts",
          "author_login": "LayHuts",
          "committed_at": "2026-07-01T03:08:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d36b34c4c3535077db18e1dec8b42d1bc0a3348",
          "body": null,
          "is_bot": false,
          "headline": "docs: 修复错误的注释说明",
          "author_name": "layhuts",
          "author_login": "LayHuts",
          "committed_at": "2026-07-01T01:52:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b356d731d13ae166034a31845519745e67618d7",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): bump actions/checkout from 6 to 7 (#8080)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-30T14:42:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "18e2bbf969dcc65b821ccb76a828b717e61e8814",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into refactor/router-redirect",
          "author_name": "Evan",
          "author_login": "bnuephjx",
          "committed_at": "2026-06-30T14:23:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14bb94245cedc735654ea84742b2f61fe68bff2c",
          "body": "* feat: 新增logo铺满显示和是否显示text配置\n\n* feat: logo.enable=false时隐藏logo区域占位;设置logoMode、showText为必填。\n\n* style: 修复注释问题\n\n* fix: 删除多余属性",
          "is_bot": false,
          "headline": "feat: 新增logo铺满显示和是否显示text配置 (#8102)",
          "author_name": "layhuts",
          "author_login": "LayHuts",
          "committed_at": "2026-06-30T13:50:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 63,
      "commits_last_year": 806,
      "latest_release_at": "2026-05-21T01:09:08Z",
      "latest_release_tag": "v5.7.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 50,
      "days_since_latest_release": 71,
      "mean_days_between_releases": 53.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@vben/types",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@vben/types",
          "is_deprecated": false,
          "latest_version": "1.0.1",
          "repository_url": null,
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 83,
          "first_published_at": "2023-11-24T11:07:02.447000Z",
          "latest_published_at": "2023-11-24T11:07:02.771000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 979
        },
        {
          "name": "@vben/utils",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@vben/utils",
          "is_deprecated": false,
          "latest_version": "1.0.1",
          "repository_url": null,
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 57,
          "first_published_at": "2023-11-24T11:07:02.344000Z",
          "latest_published_at": "2023-11-24T11:07:02.631000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 979
        },
        {
          "name": "@vben/stores",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@vben/stores",
          "is_deprecated": false,
          "latest_version": "1.0.1",
          "repository_url": null,
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 44,
          "first_published_at": "2023-11-24T11:07:02.247000Z",
          "latest_published_at": "2023-11-24T11:07:02.532000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 979
        },
        {
          "name": "@vben/styles",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@vben/styles",
          "is_deprecated": false,
          "latest_version": "1.0.1",
          "repository_url": null,
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 29,
          "first_published_at": "2023-11-24T11:07:02.125000Z",
          "latest_published_at": "2023-11-24T11:07:02.831000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 979
        }
      ]
    },
    "popularity": {
      "forks": 8893,
      "stars": 33014,
      "watchers": 279,
      "fork_history": {
        "days": [
          {
            "date": "2025-10-20",
            "count": 3
          },
          {
            "date": "2025-10-21",
            "count": 1
          },
          {
            "date": "2025-10-22",
            "count": 7
          },
          {
            "date": "2025-10-23",
            "count": 5
          },
          {
            "date": "2025-10-24",
            "count": 2
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 2
          },
          {
            "date": "2025-10-28",
            "count": 5
          },
          {
            "date": "2025-10-29",
            "count": 7
          },
          {
            "date": "2025-10-30",
            "count": 6
          },
          {
            "date": "2025-10-31",
            "count": 4
          },
          {
            "date": "2025-11-01",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 1
          },
          {
            "date": "2025-11-03",
            "count": 5
          },
          {
            "date": "2025-11-04",
            "count": 2
          },
          {
            "date": "2025-11-05",
            "count": 4
          },
          {
            "date": "2025-11-06",
            "count": 10
          },
          {
            "date": "2025-11-07",
            "count": 7
          },
          {
            "date": "2025-11-08",
            "count": 1
          },
          {
            "date": "2025-11-09",
            "count": 3
          },
          {
            "date": "2025-11-10",
            "count": 5
          },
          {
            "date": "2025-11-11",
            "count": 4
          },
          {
            "date": "2025-11-12",
            "count": 6
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 2
          },
          {
            "date": "2025-11-15",
            "count": 3
          },
          {
            "date": "2025-11-16",
            "count": 3
          },
          {
            "date": "2025-11-17",
            "count": 7
          },
          {
            "date": "2025-11-18",
            "count": 3
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-20",
            "count": 2
          },
          {
            "date": "2025-11-21",
            "count": 5
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 2
          },
          {
            "date": "2025-11-24",
            "count": 4
          },
          {
            "date": "2025-11-25",
            "count": 2
          },
          {
            "date": "2025-11-26",
            "count": 8
          },
          {
            "date": "2025-11-27",
            "count": 3
          },
          {
            "date": "2025-11-28",
            "count": 6
          },
          {
            "date": "2025-11-29",
            "count": 3
          },
          {
            "date": "2025-11-30",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 3
          },
          {
            "date": "2025-12-02",
            "count": 5
          },
          {
            "date": "2025-12-03",
            "count": 4
          },
          {
            "date": "2025-12-04",
            "count": 4
          },
          {
            "date": "2025-12-05",
            "count": 6
          },
          {
            "date": "2025-12-06",
            "count": 4
          },
          {
            "date": "2025-12-07",
            "count": 2
          },
          {
            "date": "2025-12-08",
            "count": 11
          },
          {
            "date": "2025-12-09",
            "count": 5
          },
          {
            "date": "2025-12-10",
            "count": 6
          },
          {
            "date": "2025-12-11",
            "count": 7
          },
          {
            "date": "2025-12-12",
            "count": 5
          },
          {
            "date": "2025-12-13",
            "count": 2
          },
          {
            "date": "2025-12-15",
            "count": 1
          },
          {
            "date": "2025-12-16",
            "count": 5
          },
          {
            "date": "2025-12-17",
            "count": 7
          },
          {
            "date": "2025-12-18",
            "count": 3
          },
          {
            "date": "2025-12-19",
            "count": 1
          },
          {
            "date": "2025-12-20",
            "count": 2
          },
          {
            "date": "2025-12-21",
            "count": 4
          },
          {
            "date": "2025-12-22",
            "count": 4
          },
          {
            "date": "2025-12-23",
            "count": 6
          },
          {
            "date": "2025-12-24",
            "count": 3
          },
          {
            "date": "2025-12-25",
            "count": 3
          },
          {
            "date": "2025-12-26",
            "count": 4
          },
          {
            "date": "2025-12-27",
            "count": 7
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 7
          },
          {
            "date": "2025-12-30",
            "count": 2
          },
          {
            "date": "2025-12-31",
            "count": 4
          },
          {
            "date": "2026-01-01",
            "count": 3
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 6
          },
          {
            "date": "2026-01-05",
            "count": 3
          },
          {
            "date": "2026-01-06",
            "count": 6
          },
          {
            "date": "2026-01-07",
            "count": 5
          },
          {
            "date": "2026-01-08",
            "count": 5
          },
          {
            "date": "2026-01-09",
            "count": 6
          },
          {
            "date": "2026-01-10",
            "count": 3
          },
          {
            "date": "2026-01-11",
            "count": 3
          },
          {
            "date": "2026-01-12",
            "count": 3
          },
          {
            "date": "2026-01-13",
            "count": 5
          },
          {
            "date": "2026-01-14",
            "count": 6
          },
          {
            "date": "2026-01-15",
            "count": 3
          },
          {
            "date": "2026-01-16",
            "count": 7
          },
          {
            "date": "2026-01-17",
            "count": 5
          },
          {
            "date": "2026-01-18",
            "count": 2
          },
          {
            "date": "2026-01-19",
            "count": 2
          },
          {
            "date": "2026-01-20",
            "count": 4
          },
          {
            "date": "2026-01-21",
            "count": 7
          },
          {
            "date": "2026-01-22",
            "count": 7
          },
          {
            "date": "2026-01-23",
            "count": 8
          },
          {
            "date": "2026-01-24",
            "count": 3
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 7
          },
          {
            "date": "2026-01-27",
            "count": 6
          },
          {
            "date": "2026-01-28",
            "count": 4
          },
          {
            "date": "2026-01-29",
            "count": 2
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-01-31",
            "count": 6
          },
          {
            "date": "2026-02-01",
            "count": 3
          },
          {
            "date": "2026-02-02",
            "count": 3
          },
          {
            "date": "2026-02-03",
            "count": 6
          },
          {
            "date": "2026-02-04",
            "count": 3
          },
          {
            "date": "2026-02-05",
            "count": 5
          },
          {
            "date": "2026-02-06",
            "count": 3
          },
          {
            "date": "2026-02-07",
            "count": 5
          },
          {
            "date": "2026-02-08",
            "count": 2
          },
          {
            "date": "2026-02-09",
            "count": 6
          },
          {
            "date": "2026-02-10",
            "count": 4
          },
          {
            "date": "2026-02-11",
            "count": 3
          },
          {
            "date": "2026-02-12",
            "count": 2
          },
          {
            "date": "2026-02-13",
            "count": 4
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 2
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 3
          },
          {
            "date": "2026-02-24",
            "count": 3
          },
          {
            "date": "2026-02-25",
            "count": 3
          },
          {
            "date": "2026-02-26",
            "count": 3
          },
          {
            "date": "2026-02-27",
            "count": 4
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-01",
            "count": 2
          },
          {
            "date": "2026-03-02",
            "count": 3
          },
          {
            "date": "2026-03-03",
            "count": 6
          },
          {
            "date": "2026-03-04",
            "count": 4
          },
          {
            "date": "2026-03-05",
            "count": 2
          },
          {
            "date": "2026-03-06",
            "count": 7
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 2
          },
          {
            "date": "2026-03-09",
            "count": 4
          },
          {
            "date": "2026-03-10",
            "count": 4
          },
          {
            "date": "2026-03-11",
            "count": 5
          },
          {
            "date": "2026-03-12",
            "count": 7
          },
          {
            "date": "2026-03-13",
            "count": 3
          },
          {
            "date": "2026-03-14",
            "count": 4
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 9
          },
          {
            "date": "2026-03-17",
            "count": 6
          },
          {
            "date": "2026-03-18",
            "count": 6
          },
          {
            "date": "2026-03-19",
            "count": 11
          },
          {
            "date": "2026-03-20",
            "count": 4
          },
          {
            "date": "2026-03-21",
            "count": 4
          },
          {
            "date": "2026-03-22",
            "count": 1
          },
          {
            "date": "2026-03-23",
            "count": 4
          },
          {
            "date": "2026-03-24",
            "count": 4
          },
          {
            "date": "2026-03-25",
            "count": 8
          },
          {
            "date": "2026-03-26",
            "count": 4
          },
          {
            "date": "2026-03-27",
            "count": 6
          },
          {
            "date": "2026-03-28",
            "count": 2
          },
          {
            "date": "2026-03-29",
            "count": 4
          },
          {
            "date": "2026-03-30",
            "count": 3
          },
          {
            "date": "2026-03-31",
            "count": 7
          },
          {
            "date": "2026-04-01",
            "count": 4
          },
          {
            "date": "2026-04-02",
            "count": 10
          },
          {
            "date": "2026-04-03",
            "count": 4
          },
          {
            "date": "2026-04-06",
            "count": 2
          },
          {
            "date": "2026-04-07",
            "count": 3
          },
          {
            "date": "2026-04-08",
            "count": 3
          },
          {
            "date": "2026-04-09",
            "count": 5
          },
          {
            "date": "2026-04-10",
            "count": 3
          },
          {
            "date": "2026-04-11",
            "count": 3
          },
          {
            "date": "2026-04-12",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 3
          },
          {
            "date": "2026-04-14",
            "count": 2
          },
          {
            "date": "2026-04-15",
            "count": 4
          },
          {
            "date": "2026-04-16",
            "count": 5
          },
          {
            "date": "2026-04-17",
            "count": 4
          },
          {
            "date": "2026-04-18",
            "count": 4
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 6
          },
          {
            "date": "2026-04-21",
            "count": 8
          },
          {
            "date": "2026-04-22",
            "count": 4
          },
          {
            "date": "2026-04-23",
            "count": 4
          },
          {
            "date": "2026-04-24",
            "count": 5
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 2
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 2
          },
          {
            "date": "2026-04-30",
            "count": 3
          },
          {
            "date": "2026-05-02",
            "count": 2
          },
          {
            "date": "2026-05-03",
            "count": 4
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-05",
            "count": 2
          },
          {
            "date": "2026-05-06",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 4
          },
          {
            "date": "2026-05-08",
            "count": 5
          },
          {
            "date": "2026-05-09",
            "count": 9
          },
          {
            "date": "2026-05-10",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 4
          },
          {
            "date": "2026-05-13",
            "count": 4
          },
          {
            "date": "2026-05-14",
            "count": 3
          },
          {
            "date": "2026-05-15",
            "count": 3
          },
          {
            "date": "2026-05-16",
            "count": 2
          },
          {
            "date": "2026-05-17",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 4
          },
          {
            "date": "2026-05-19",
            "count": 3
          },
          {
            "date": "2026-05-20",
            "count": 3
          },
          {
            "date": "2026-05-21",
            "count": 3
          },
          {
            "date": "2026-05-22",
            "count": 3
          },
          {
            "date": "2026-05-23",
            "count": 6
          },
          {
            "date": "2026-05-24",
            "count": 4
          },
          {
            "date": "2026-05-25",
            "count": 4
          },
          {
            "date": "2026-05-26",
            "count": 7
          },
          {
            "date": "2026-05-27",
            "count": 2
          },
          {
            "date": "2026-05-29",
            "count": 8
          },
          {
            "date": "2026-05-30",
            "count": 5
          },
          {
            "date": "2026-05-31",
            "count": 2
          },
          {
            "date": "2026-06-01",
            "count": 5
          },
          {
            "date": "2026-06-02",
            "count": 6
          },
          {
            "date": "2026-06-03",
            "count": 2
          },
          {
            "date": "2026-06-04",
            "count": 6
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 4
          },
          {
            "date": "2026-06-07",
            "count": 2
          },
          {
            "date": "2026-06-08",
            "count": 6
          },
          {
            "date": "2026-06-09",
            "count": 3
          },
          {
            "date": "2026-06-10",
            "count": 4
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-12",
            "count": 3
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 5
          },
          {
            "date": "2026-06-16",
            "count": 3
          },
          {
            "date": "2026-06-17",
            "count": 6
          },
          {
            "date": "2026-06-18",
            "count": 4
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-20",
            "count": 2
          },
          {
            "date": "2026-06-23",
            "count": 3
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 3
          },
          {
            "date": "2026-06-26",
            "count": 3
          },
          {
            "date": "2026-06-27",
            "count": 2
          },
          {
            "date": "2026-06-28",
            "count": 4
          },
          {
            "date": "2026-06-29",
            "count": 4
          },
          {
            "date": "2026-06-30",
            "count": 5
          },
          {
            "date": "2026-07-02",
            "count": 2
          },
          {
            "date": "2026-07-03",
            "count": 1
          },
          {
            "date": "2026-07-05",
            "count": 5
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 5
          },
          {
            "date": "2026-07-08",
            "count": 5
          },
          {
            "date": "2026-07-09",
            "count": 2
          },
          {
            "date": "2026-07-10",
            "count": 4
          },
          {
            "date": "2026-07-11",
            "count": 4
          },
          {
            "date": "2026-07-12",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 6
          },
          {
            "date": "2026-07-14",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-16",
            "count": 4
          },
          {
            "date": "2026-07-17",
            "count": 5
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 2
          },
          {
            "date": "2026-07-20",
            "count": 4
          },
          {
            "date": "2026-07-22",
            "count": 4
          },
          {
            "date": "2026-07-23",
            "count": 6
          },
          {
            "date": "2026-07-24",
            "count": 1
          },
          {
            "date": "2026-07-25",
            "count": 5
          },
          {
            "date": "2026-07-27",
            "count": 4
          },
          {
            "date": "2026-07-28",
            "count": 3
          },
          {
            "date": "2026-07-29",
            "count": 6
          },
          {
            "date": "2026-07-30",
            "count": 3
          },
          {
            "date": "2026-07-31",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 8893
      },
      "star_history": null,
      "open_issues_and_prs": 102
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "apps/backend-mock/tsconfig.json",
        "apps/web-antd/tsconfig.json",
        "apps/web-antdv-next/tsconfig.json",
        "apps/web-ele/tsconfig.json",
        "apps/web-naive/tsconfig.json",
        "apps/web-tdesign/tsconfig.json",
        "docs/tsconfig.json",
        "internal/lint-configs/eslint-config/tsconfig.json",
        "internal/lint-configs/oxfmt-config/tsconfig.json",
        "internal/lint-configs/oxlint-config/tsconfig.json",
        "internal/node-utils/tsconfig.json",
        "internal/tailwind-config/tsconfig.json",
        "internal/vite-config/tsconfig.json",
        "packages/@core/base/design/tsconfig.json",
        "packages/@core/base/icons/tsconfig.json",
        "packages/@core/base/shared/tsconfig.json",
        "packages/@core/base/typings/tsconfig.json",
        "packages/@core/composables/tsconfig.json",
        "packages/@core/preferences/tsconfig.json",
        "packages/@core/ui-kit/form-ui/tsconfig.json",
        "packages/@core/ui-kit/layout-ui/tsconfig.json",
        "packages/@core/ui-kit/menu-ui/tsconfig.json",
        "packages/@core/ui-kit/popup-ui/tsconfig.json",
        "packages/@core/ui-kit/shadcn-ui/tsconfig.json",
        "packages/@core/ui-kit/tabs-ui/tsconfig.json",
        "packages/constants/tsconfig.json",
        "packages/effects/access/tsconfig.json",
        "packages/effects/common-ui/tsconfig.json",
        "packages/effects/hooks/tsconfig.json",
        "packages/effects/layouts/tsconfig.json",
        "packages/effects/plugins/tsconfig.json",
        "packages/effects/request/tsconfig.json",
        "packages/icons/tsconfig.json",
        "packages/locales/tsconfig.json",
        "packages/preferences/tsconfig.json",
        "packages/stores/tsconfig.json",
        "packages/styles/tsconfig.json",
        "packages/types/tsconfig.json",
        "packages/utils/tsconfig.json",
        "playground/tsconfig.json",
        "scripts/turbo-run/tsconfig.json",
        "scripts/vsh/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 31541,
      "source_files_sampled": 728,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "docs/package.json",
        "package.json",
        "playground/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 28,
        "malicious_count": 0,
        "assessed_package": "npm:@vben/types@1.0.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "sortablejs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@tanstack/vue-query",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben-core/design",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/menu-ui",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/access",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/common-ui",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/constants",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/hooks",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/icons",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/layouts",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/locales",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/plugins",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/preferences",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/request",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/stores",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/styles",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/types",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/utils",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vueuse/core",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "antdv-next",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "dayjs",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "json-bigint",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "playground/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@faker-js/faker",
          "manifest": "apps/backend-mock/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "jsonwebtoken",
          "manifest": "apps/backend-mock/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "nitropack",
          "manifest": "apps/backend-mock/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/access",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/common-ui",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/constants",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/hooks",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/icons",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/layouts",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/locales",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/plugins",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/preferences",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/request",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/stores",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/styles",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/types",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/utils",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vueuse/core",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "ant-design-vue",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "dayjs",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "apps/web-antd/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/access",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/common-ui",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/constants",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/hooks",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/icons",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/layouts",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/locales",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/plugins",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/preferences",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/request",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/stores",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/styles",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/types",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/utils",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vueuse/core",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "antdv-next",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "dayjs",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "apps/web-antdv-next/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/access",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/common-ui",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/constants",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/hooks",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/icons",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/layouts",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/locales",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/plugins",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/preferences",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/request",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/stores",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/styles",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/types",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/utils",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vueuse/core",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "dayjs",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "element-plus",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "apps/web-ele/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/access",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/common-ui",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/constants",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/hooks",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/icons",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/layouts",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/locales",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/plugins",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/preferences",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/request",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/stores",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/styles",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/types",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/utils",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vueuse/core",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "naive-ui",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "apps/web-naive/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/access",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/common-ui",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/constants",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/hooks",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/icons",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/layouts",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/locales",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/plugins",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/preferences",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/request",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/stores",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/styles",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/types",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben/utils",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vueuse/core",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "dayjs",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "es-toolkit",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "tdesign-vue-next",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "apps/web-tdesign/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@changesets/git",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@manypkg/get-packages",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "chalk",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "consola",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "dayjs",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "execa",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "find-up",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "ora",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pkg-types",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "rimraf",
          "manifest": "internal/node-utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@iconify/tailwind4",
          "manifest": "internal/tailwind-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@tailwindcss/typography",
          "manifest": "internal/tailwind-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "tailwindcss",
          "manifest": "internal/tailwind-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "tw-animate-css",
          "manifest": "internal/tailwind-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/types",
          "manifest": "internal/tsconfig/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "vite",
          "manifest": "internal/tsconfig/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@intlify/unplugin-vue-i18n",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@jspm/generator",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@tailwindcss/vite",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/node-utils",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "archiver",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "cheerio",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "get-port",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "html-minifier-terser",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "nitropack",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "resolve.exports",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vite-plugin-pwa",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vite-plugin-vue-devtools",
          "manifest": "internal/vite-config/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben-core/shared",
          "manifest": "packages/constants/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/icons",
          "manifest": "packages/icons/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@intlify/core-base",
          "manifest": "packages/locales/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben-core/composables",
          "manifest": "packages/locales/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "vue",
          "manifest": "packages/locales/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-i18n",
          "manifest": "packages/locales/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben-core/preferences",
          "manifest": "packages/preferences/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/typings",
          "manifest": "packages/preferences/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/preferences",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/shared",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/typings",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "pinia",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "pinia-plugin-persistedstate",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "secure-ls",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "packages/stores/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben-core/design",
          "manifest": "packages/styles/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/typings",
          "manifest": "packages/types/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "vue",
          "manifest": "packages/types/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "vue-router",
          "manifest": "packages/types/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben-core/shared",
          "manifest": "packages/utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@vben-core/typings",
          "manifest": "packages/utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "vue-router",
          "manifest": "packages/utils/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@clack/prompts",
          "manifest": "scripts/turbo-run/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/node-utils",
          "manifest": "scripts/turbo-run/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "cac",
          "manifest": "scripts/turbo-run/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@vben/node-utils",
          "manifest": "scripts/vsh/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "cac",
          "manifest": "scripts/vsh/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "circular-dependency-scanner",
          "manifest": "scripts/vsh/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "knip",
          "manifest": "scripts/vsh/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "publint",
          "manifest": "scripts/vsh/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        }
      ],
      "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": 5,
        "merged_prs": 1905,
        "open_issues": 97,
        "closed_ratio": 0.976,
        "closed_issues": 4025,
        "closed_unmerged_prs": 1263
      },
      "bus_factor": 4,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "anncwb",
          "commits": 329,
          "avatar_url": "https://avatars.githubusercontent.com/u/28132598?v=4"
        },
        {
          "type": "User",
          "login": "mynetfan",
          "commits": 252,
          "avatar_url": "https://avatars.githubusercontent.com/u/17241274?v=4"
        },
        {
          "type": "User",
          "login": "xingyu4j",
          "commits": 228,
          "avatar_url": "https://avatars.githubusercontent.com/u/233703391?v=4"
        },
        {
          "type": "User",
          "login": "jinmao88",
          "commits": 172,
          "avatar_url": "https://avatars.githubusercontent.com/u/50581550?v=4"
        },
        {
          "type": "User",
          "login": "likui628",
          "commits": 71,
          "avatar_url": "https://avatars.githubusercontent.com/u/90845831?v=4"
        },
        {
          "type": "User",
          "login": "vince292007",
          "commits": 58,
          "avatar_url": "https://avatars.githubusercontent.com/u/174671189?v=4"
        },
        {
          "type": "User",
          "login": "ming4762",
          "commits": 39,
          "avatar_url": "https://avatars.githubusercontent.com/u/35281321?v=4"
        },
        {
          "type": "User",
          "login": "LayHuts",
          "commits": 35,
          "avatar_url": "https://avatars.githubusercontent.com/u/45724118?v=4"
        },
        {
          "type": "User",
          "login": "zouawen",
          "commits": 32,
          "avatar_url": "https://avatars.githubusercontent.com/u/211294723?v=4"
        },
        {
          "type": "User",
          "login": "dullathanol",
          "commits": 31,
          "avatar_url": "https://avatars.githubusercontent.com/u/67056916?v=4"
        }
      ],
      "contributors_sampled": 98,
      "top_contributor_share": 0.195
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml",
        "changeset-version.yml",
        "ci.yml",
        "codeql.yml",
        "deploy.yml",
        "draft.yml",
        "issue-close-require.yml",
        "issue-labeled.yml",
        "lock.yml",
        "release-tag.yml",
        "rerun.yml",
        "semantic-pull-request.yml",
        "stale.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "eslint.config.mjs"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "pnpm-lock.yaml"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "15 out of 15 merged PRs checked by a CI test -- score normalized to 10",
            "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": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 10 contributing companies or organizations",
            "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": 10,
            "reason": "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": 10,
            "reason": "license file 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": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "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": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 8,
            "reason": "2 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "32495e40b2d2adca452d29617685eeaf3bfb128f",
        "ran_at": "2026-07-31T09:08:28Z",
        "aggregate_score": 6.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-31T02:39:02Z",
      "oldest_open_prs": [
        {
          "number": 8106,
          "created_at": "2026-06-30T14:44:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 8170,
          "created_at": "2026-07-20T01:29:14Z",
          "last_comment_at": "2026-07-24T02:00:40Z",
          "last_comment_author": "LayHuts"
        },
        {
          "number": 8178,
          "created_at": "2026-07-22T03:33:49Z",
          "last_comment_at": "2026-07-22T03:34:48Z",
          "last_comment_author": "coderabbitai"
        },
        {
          "number": 8215,
          "created_at": "2026-07-30T01:43:41Z",
          "last_comment_at": "2026-07-31T09:07:07Z",
          "last_comment_author": "dream-weave"
        },
        {
          "number": 8219,
          "created_at": "2026-07-30T19:29:40Z",
          "last_comment_at": "2026-07-30T19:29:46Z",
          "last_comment_author": "changeset-bot"
        }
      ],
      "last_merged_pr_at": "2026-07-30T22:13:11Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 4071,
          "created_at": "2024-08-07T10:07:15Z",
          "last_comment_at": "2025-12-17T06:17:06Z",
          "last_comment_author": "Youweiyoyo"
        },
        {
          "number": 4078,
          "created_at": "2024-08-07T16:42:03Z",
          "last_comment_at": "2025-01-04T13:17:32Z",
          "last_comment_author": "hdqbasith"
        },
        {
          "number": 4221,
          "created_at": "2024-08-23T08:21:17Z",
          "last_comment_at": "2024-08-30T01:38:26Z",
          "last_comment_author": "Mask-MJ"
        },
        {
          "number": 4287,
          "created_at": "2024-08-31T03:50:47Z",
          "last_comment_at": "2024-09-12T10:28:53Z",
          "last_comment_author": "bo-Chou"
        },
        {
          "number": 4341,
          "created_at": "2024-09-08T12:36:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4435,
          "created_at": "2024-09-19T10:19:56Z",
          "last_comment_at": "2025-02-11T10:27:39Z",
          "last_comment_author": "js-yangjiabao"
        },
        {
          "number": 4493,
          "created_at": "2024-09-24T08:44:00Z",
          "last_comment_at": "2024-09-25T02:27:58Z",
          "last_comment_author": "wangz-code"
        },
        {
          "number": 4614,
          "created_at": "2024-10-11T07:46:34Z",
          "last_comment_at": "2025-06-18T08:10:22Z",
          "last_comment_author": "yuanhongyu123"
        },
        {
          "number": 4654,
          "created_at": "2024-10-16T10:02:28Z",
          "last_comment_at": "2025-11-21T02:10:04Z",
          "last_comment_author": "ShingLi"
        },
        {
          "number": 4914,
          "created_at": "2024-11-16T03:27:58Z",
          "last_comment_at": "2024-12-15T11:45:48Z",
          "last_comment_author": "biggerstar"
        },
        {
          "number": 4953,
          "created_at": "2024-11-26T08:32:39Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 5277,
          "created_at": "2024-12-31T04:42:23Z",
          "last_comment_at": "2025-04-15T04:04:18Z",
          "last_comment_author": "yuhldr"
        },
        {
          "number": 5677,
          "created_at": "2025-03-07T09:26:30Z",
          "last_comment_at": "2025-12-29T08:35:58Z",
          "last_comment_author": "MrLeo"
        },
        {
          "number": 6013,
          "created_at": "2025-04-22T01:29:57Z",
          "last_comment_at": "2025-04-23T09:29:28Z",
          "last_comment_author": "canyonwan"
        },
        {
          "number": 6728,
          "created_at": "2025-09-10T02:56:18Z",
          "last_comment_at": "2025-09-10T11:39:43Z",
          "last_comment_author": "aonoa"
        },
        {
          "number": 7770,
          "created_at": "2026-04-04T12:13:48Z",
          "last_comment_at": "2026-06-03T06:36:18Z",
          "last_comment_author": "beclass"
        },
        {
          "number": 7840,
          "created_at": "2026-04-24T06:57:50Z",
          "last_comment_at": "2026-07-25T01:38:13Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 7918,
          "created_at": "2026-05-16T03:00:17Z",
          "last_comment_at": "2026-06-25T15:59:08Z",
          "last_comment_author": "MillerVictor"
        },
        {
          "number": 7937,
          "created_at": "2026-05-21T06:02:17Z",
          "last_comment_at": "2026-07-03T02:41:08Z",
          "last_comment_author": "kangj0304"
        },
        {
          "number": 7952,
          "created_at": "2026-05-24T03:07:28Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/vbenjs/vue-vben-admin",
    "host": "github.com",
    "name": "vue-vben-admin",
    "owner": "vbenjs"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 84,
      "inputs": {
        "security": 75,
        "vitality": 96,
        "community": 76,
        "governance": 75,
        "engineering": 94
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 96,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "commits_last_year": 806,
              "human_commit_share": 0.99,
              "days_since_last_push": 0,
              "active_weeks_last_year": 50
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "50/52 weeks with commits",
                "points": 34.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 50
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "806 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 806
                    }
                  }
                ],
                "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": "excellent",
            "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": 92,
            "inputs": {
              "releases_count": 63,
              "latest_release_tag": "v5.7.0",
              "releases_from_tags": false,
              "days_since_latest_release": 71,
              "mean_days_between_releases": 53.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "63 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 63
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 71 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 71
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~53.8 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 53.8
                    }
                  }
                ],
                "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": 2,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 2 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 76,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "forks": 8893,
              "stars": 33014,
              "watchers": 279,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "33,014 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 33014
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "8,893 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 8893
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "279 watchers",
                "points": 13.6,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 279
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "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": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "at_risk",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 39,
            "inputs": {
              "packages": [
                "@vben/types",
                "@vben/utils",
                "@vben/stores",
                "@vben/styles"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 213
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "213 downloads/month across npm",
                "points": 31.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 213,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 75,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "bus_factor": 4,
              "contributors_sampled": 98,
              "top_contributor_share": 0.195
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "4 contributor(s) cover half of all commits",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 20% of commits",
                "points": 18.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 20
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "98 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 98
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 10 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "merged_prs": 1905,
              "open_issues": 97,
              "closed_issues": 4025,
              "issue_closed_ratio": 0.976,
              "closed_unmerged_prs": 1263
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "98% of issues closed",
                "points": 45.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 98
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1905/3168 decided PRs merged",
                "points": 23,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1905,
                      "decided": 3168
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "followers": 678,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "vbenjs",
              "public_repos": 20,
              "account_age_days": 2033
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "678 followers of vbenjs",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 678,
                      "login": "vbenjs"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "20 public repos, account ~5 yr old",
                "points": 20.8,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 20
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 5
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "moderate",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "packages": [
                "@vben/types",
                "@vben/utils",
                "@vben/stores",
                "@vben/styles"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 979
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "4 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 4,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 979 days ago",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 979
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "1 published versions",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 94,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "13 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "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": "eslint.config.mjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "15 out of 15 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "vue3",
                "vite",
                "typescript",
                "ant-design",
                "admin-template",
                "tsx",
                "vben",
                "vite-template",
                "vuex",
                "vue-router",
                "element-plus",
                "monorepo",
                "naive-ui",
                "shadcn-ui"
              ],
              "has_wiki": true,
              "homepage": "https://www.vben.pro",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "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": "https://www.vben.pro",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "14 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "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": "good",
        "name": "Security",
        "value": 75,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 6.9
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "15 out of 15 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "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": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 10 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "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": "update tool detected",
                "points": 7.5,
                "status": "met",
                "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 detected",
                "points": 2.5,
                "status": "met",
                "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 not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "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": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "2 existing vulnerabilities detected",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@vben/types@1.0.1 runtime dependency closure — what installing the published package pulls in — 28 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@vben/types@1.0.1",
                  "assessed": 28
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 28,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 28,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 3
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "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.747,
              "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": "74 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 39.9,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 74,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "apps/backend-mock/tsconfig.json",
                "apps/web-antd/tsconfig.json",
                "apps/web-antdv-next/tsconfig.json",
                "apps/web-ele/tsconfig.json",
                "apps/web-naive/tsconfig.json",
                "apps/web-tdesign/tsconfig.json",
                "docs/tsconfig.json",
                "internal/lint-configs/eslint-config/tsconfig.json",
                "internal/lint-configs/oxfmt-config/tsconfig.json",
                "internal/lint-configs/oxlint-config/tsconfig.json",
                "internal/node-utils/tsconfig.json",
                "internal/tailwind-config/tsconfig.json",
                "internal/vite-config/tsconfig.json",
                "packages/@core/base/design/tsconfig.json",
                "packages/@core/base/icons/tsconfig.json",
                "packages/@core/base/shared/tsconfig.json",
                "packages/@core/base/typings/tsconfig.json",
                "packages/@core/composables/tsconfig.json",
                "packages/@core/preferences/tsconfig.json",
                "packages/@core/ui-kit/form-ui/tsconfig.json",
                "packages/@core/ui-kit/layout-ui/tsconfig.json",
                "packages/@core/ui-kit/menu-ui/tsconfig.json",
                "packages/@core/ui-kit/popup-ui/tsconfig.json",
                "packages/@core/ui-kit/shadcn-ui/tsconfig.json",
                "packages/@core/ui-kit/tabs-ui/tsconfig.json",
                "packages/constants/tsconfig.json",
                "packages/effects/access/tsconfig.json",
                "packages/effects/common-ui/tsconfig.json",
                "packages/effects/hooks/tsconfig.json",
                "packages/effects/layouts/tsconfig.json",
                "packages/effects/plugins/tsconfig.json",
                "packages/effects/request/tsconfig.json",
                "packages/icons/tsconfig.json",
                "packages/locales/tsconfig.json",
                "packages/preferences/tsconfig.json",
                "packages/stores/tsconfig.json",
                "packages/styles/tsconfig.json",
                "packages/types/tsconfig.json",
                "packages/utils/tsconfig.json",
                "playground/tsconfig.json",
                "scripts/turbo-run/tsconfig.json",
                "scripts/vsh/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.01
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "eslint.config.mjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, 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": "1 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "primary_language": "Vue",
              "largest_source_bytes": 31541,
              "source_files_sampled": 728,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Vue with type-check config (apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json",
                      "language": "Vue"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/728 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 728,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "demos",
                "examples"
              ],
              "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": "demos, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos, examples"
                    }
                  }
                ],
                "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.14.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Could not fetch npm package '@vben/playground' from its registry",
    "Could not fetch npm package '@vben/web-ele' from its registry",
    "Could not fetch npm package '@vben/web-antd' from its registry",
    "Could not fetch npm package '@vben/web-naive' from its registry",
    "Could not fetch npm package '@vben/icons' from its registry",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-31T09:08:56.931407Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/v/vbenjs/vue-vben-admin.svg",
  "full_name": "vbenjs/vue-vben-admin",
  "license_state": "standard",
  "license_spdx": "MIT"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.14.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计npm.