原始 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"
}