Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.14.0 · 2026-07-31 09:08 UTC

vbenjs / vue-vben-admin

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

Vue · TypeScriptMIT★ 33.014 estrellas⑂ 8893 forksdesde jul 2020Ver en GitHub ↗

vbenjs/vue-vben-admin tiene un índice de salud de 84 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Vitality (96/100) y la más baja, AI Readiness (56/100). Se actualizó por última vez hoy. 4 personas concentran la mayor parte del trabajo reciente.

84
global / 100
Bueno

Índice de salud del software

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

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

Perfil de puntuación

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

Titularidad

vbenjsOrganización
678 seguidores20 repositorios públicosdesde ene 2021

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicación
npm@vben/types1.0.1831hace 979 días
npm@vben/utils1.0.1571hace 979 días
npm@vben/stores1.0.1441hace 979 días
npm@vben/styles1.0.1291hace 979 días

Métricas por categoría

Vitalidad

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

96Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
34.6/36Cadencia de commits — 50/52 semanas con commits
18/18Volumen de commits — 806 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year806
human_commit_share0,99
days_since_last_push0
active_weeks_last_year50
Cómo se puntúa
27/27Publica versiones — 63 versiones publicadas
36/36Recencia de las versiones — última versión hace 71 días
19.8/27Cadencia de publicación — una versión cada ~53,8 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count63
latest_release_tagv5.7.0
releases_from_tagsno
days_since_latest_release71
mean_days_between_releases53,8
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

76Bueno · 18% del índice global
Cómo se puntúa
60/60Estrellas — 33.014 estrellas
25/25Forks — 8893 forks
13.6/15Observadores — 279 observadores
Datos de entrada utilizados
forks8893
stars33.014
watchers279
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
18/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conductno
has_pull_request_template
Cómo se puntúa
31.1/80Descargas mensuales — 213 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@vben/types, @vben/utils, @vben/stores, @vben/styles
dependents
ecosystemsnpm
total_downloads
monthly_downloads213
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

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

75Bueno · 24% del índice global
Cómo se puntúa
43.2/54Factor bus — la mitad de los commits recae en 4 contribuyente(s)
18.1/22.5Distribución de commits — el principal contribuyente firma el 20% de los commits
13.5/13.5Amplitud de contribuyentes — 98 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 10 contributing companies or organizations
Datos de entrada utilizados
bus_factor4
contributors_sampled98
top_contributor_share0,195
Cómo se puntúa
45.6/46.8Resolución de issues — 98% de issues cerradas
23/38.3Aceptación de PR — 1905/3168 PR decididos fusionados
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Datos de entrada utilizados
merged_prs1905
open_issues97
closed_issues4025
issue_closed_ratio0,976
closed_unmerged_prs1263
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
20.4/25Alcance del propietario — 678 seguidores de vbenjs
20.8/25Trayectoria — 20 repos públicos, cuenta de ~5 años
Datos de entrada utilizados
followers678
owner_typeOrganization
is_verified
owner_loginvbenjs
public_repos20
account_age_days2033
Cómo se puntúa
25/25Publicado y resoluble — 4 paquete(s) en npm
4/35Recencia de publicación — última publicación hace 979 días
4/20Historial de versiones — 1 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@vben/types, @vben/utils, @vben/stores, @vben/styles
ecosystemsnpm
any_deprecatedno
min_days_since_publish979

Calidad de Ingeniería

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

94Excelente · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 13 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — eslint.config.mjs
0/9.6Hooks de pre-commit
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 15 out of 15 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_configno

Documentación

100Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://www.vben.pro
10/10Descripción del repositorio
10/10Topics — 14 topics
10/10Wiki
Datos de entrada utilizados
topicsvue3, vite, typescript, ant-design, admin-template, tsx, vben, vite-template, vuex, vue-router, element-plus, monorepo, naive-ui, shadcn-ui
has_wiki
homepagehttps://www.vben.pro
has_readme
has_docs_dir
has_description

Seguridad

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

75Bueno · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — sin datos
2.5/2.5CI-Tests — 15 out of 15 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 10 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
5/5SAST — SAST tool is run on all commits
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
6/7.5Vulnerabilities — 2 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate6,9
Excluidos de la puntuación (sin datos o no aplicable): branch_protection, packaging, signed_releases. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages28
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@vben/types@1.0.1 —lo que arrastra la instalación del paquete publicado—: 28 paquetes. No se analiza la alcanzabilidad.

Preparación para IA

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

56Moderado · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
39.9/40Historial de commits legible — 74 de 99 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,747
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — eslint.config.mjs
11/11Verificación estática de tipos — apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
8/8Mantenimiento automatizado — 1 de los últimos 100 commits son actualizaciones automáticas de dependencias
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Datos de entrada utilizados
has_nixno
has_tests
lockfilespnpm-lock.yaml
has_dockerfile
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configsapps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,01
Cómo se puntúa
27/45Código verificable por tipos — Vue con configuración de verificación de tipos (apps/backend-mock/tsconfig.json, apps/web-antd/tsconfig.json, apps/web-antdv-next/tsconfig.json, apps/web-ele/tsconfig.json, apps/web-naive/tsconfig.json, apps/web-tdesign/tsconfig.json, docs/tsconfig.json, internal/lint-configs/eslint-config/tsconfig.json, internal/lint-configs/oxfmt-config/tsconfig.json, internal/lint-configs/oxlint-config/tsconfig.json, internal/node-utils/tsconfig.json, internal/tailwind-config/tsconfig.json, internal/vite-config/tsconfig.json, packages/@core/base/design/tsconfig.json, packages/@core/base/icons/tsconfig.json, packages/@core/base/shared/tsconfig.json, packages/@core/base/typings/tsconfig.json, packages/@core/composables/tsconfig.json, packages/@core/preferences/tsconfig.json, packages/@core/ui-kit/form-ui/tsconfig.json, packages/@core/ui-kit/layout-ui/tsconfig.json, packages/@core/ui-kit/menu-ui/tsconfig.json, packages/@core/ui-kit/popup-ui/tsconfig.json, packages/@core/ui-kit/shadcn-ui/tsconfig.json, packages/@core/ui-kit/tabs-ui/tsconfig.json, packages/constants/tsconfig.json, packages/effects/access/tsconfig.json, packages/effects/common-ui/tsconfig.json, packages/effects/hooks/tsconfig.json, packages/effects/layouts/tsconfig.json, packages/effects/plugins/tsconfig.json, packages/effects/request/tsconfig.json, packages/icons/tsconfig.json, packages/locales/tsconfig.json, packages/preferences/tsconfig.json, packages/stores/tsconfig.json, packages/styles/tsconfig.json, packages/types/tsconfig.json, packages/utils/tsconfig.json, playground/tsconfig.json, scripts/turbo-run/tsconfig.json, scripts/vsh/tsconfig.json)
55/55Tamaños de archivo manejables — 0/728 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageVue
largest_source_bytes31.541
source_files_sampled728
oversized_source_files0
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — demos, examples
Datos de entrada utilizados
example_dirsdemos, examples
has_mcp_signalno
api_schema_files

Datos clave

33.014estrellas de GitHub
98contribuidores
806commits en los últimos 12 meses
0días desde el último push
63versiones publicadas
4factor bus
97issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

  • 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

Más detalle

Historial de estrellas y forks 0 ★ / 8893 ⇿
0Estrellas
8893Forks
3Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

Solo se muestra el historial más reciente: este repositorio supera la ventana de recopilación, por lo que no se captura el historial más antiguo.

75008000850090008893112025-102026-032026-07
Mayor 0Menor 2Parche 1
OpenSSF Scorecard 6.9 / 10
6.9agregado

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

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

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

Avisos de dependencias 0

Instalar npm:@vben/types@1.0.1 arrastra 28 paquetes, directos y transitivos: 0 tienen avisos conocidos, de los cuales 0 son dependencias directas.

Ningún aviso conocido afecta a las dependencias evaluadas.

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

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

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

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

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