Public record
Software health reportschema 0.27.0 · metrics 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 stars⑂ 8,893 forkssince Jul 2020View on GitHub ↗

vbenjs/vue-vben-admin holds a health index of 84 out of 100, placing it in the Good band. It scores highest on Vitality (96/100) and lowest on AI Readiness (56/100). It was last updated today. 4 contributors account for most of its recent work.

84
overall / 100
Good

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

84
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

vbenjsOrganization
678 followers20 public repossince Jan 2021

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
npm@vben/types1.0.1831979 days ago
npm@vben/utils1.0.1571979 days ago
npm@vben/stores1.0.1441979 days ago
npm@vben/styles1.0.1291979 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

96Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
34.6/36Commit cadence — 50/52 weeks with commits
18/18Commit volume — 806 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year806
human_commit_share0.99
days_since_last_push0
active_weeks_last_year50
How it's scored
27/27Ships releases — 63 releases published
36/36Release recency — latest release 71 days ago
19.8/27Release cadence — a release every ~53.8 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count63
latest_release_tagv5.7.0
releases_from_tagsno
days_since_latest_release71
mean_days_between_releases53.8
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

76Good · 18% of overall
How it's scored
60/60Stars — 33,014 stars
25/25Forks — 8,893 forks
13.6/15Watchers — 279 watchers
Inputs used
forks8,893
stars33,014
watchers279
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
18/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductno
has_pull_request_templateyes
How it's scored
31.1/80Monthly downloads — 213 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packages@vben/types, @vben/utils, @vben/stores, @vben/styles
dependents
ecosystemsnpm
total_downloads
monthly_downloads213
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

75Good · 24% of overall
How it's scored
43.2/54Bus factor — 4 contributor(s) cover half of all commits
18.1/22.5Commit distribution — top contributor authored 20% of commits
13.5/13.5Contributor breadth — 98 contributors
10/10OpenSSF Scorecard: Contributors — project has 10 contributing companies or organizations
Inputs used
bus_factor4
contributors_sampled98
top_contributor_share0.195
How it's scored
45.6/46.8Issue resolution — 98% of issues closed
23/38.3PR acceptance — 1,905/3,168 decided PRs merged
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Inputs used
merged_prs1,905
open_issues97
closed_issues4,025
issue_closed_ratio0.976
closed_unmerged_prs1,263
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
20.4/25Owner reach — 678 followers of vbenjs
20.8/25Track record — 20 public repos, account ~5 yr old
Inputs used
followers678
owner_typeOrganization
is_verified
owner_loginvbenjs
public_repos20
account_age_days2,033
How it's scored
25/25Published & resolvable — 4 package(s) on npm
4/35Publish recency — latest publish 979 days ago
4/20Version history — 1 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packages@vben/types, @vben/utils, @vben/stores, @vben/styles
ecosystemsnpm
any_deprecatedno
min_days_since_publish979

Engineering Quality

Are baseline engineering and documentation practices in place?

94Excellent · 20% of overall
How it's scored
24/24CI workflows — 13 workflow(s)
24/24Tests present
16/16Linter config — eslint.config.mjs
0/9.6Pre-commit hooks
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
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configyes
has_precommit_configno

Documentation

100Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://www.vben.pro
10/10Repository description
10/10Topics — 14 topics
10/10Wiki
Inputs used
topicsvue3, vite, typescript, ant-design, admin-template, tsx, vben, vite-template, vuex, vue-router, element-plus, monorepo, naive-ui, shadcn-ui
has_wikiyes
homepagehttps://www.vben.pro
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

75Good · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — no data
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.5License — 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 — no data
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 — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
6/7.5Vulnerabilities — 2 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate6.9
Excluded from scoring (no data or not applicable): branch_protection, packaging, signed_releases. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
25/25Indirect dependencies free of known advisories — no indirect dependency carries a known advisory
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories0
affected_packages0
assessed_packages28
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
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.

AI Readiness

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.

56Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
39.9/40Legible commit history — 74 of 99 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.747
agent_instruction_files
agent_instruction_max_bytes
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config — eslint.config.mjs
11/11Static type checking — 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/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
8/8Automated maintenance — 1 of the last 100 commits are automated dependency updates
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Inputs used
has_nixno
has_testsyes
lockfilespnpm-lock.yaml
has_dockerfileyes
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configyes
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
How it's scored
27/45Type-checkable code — 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)
55/55Manageable file sizes — 0/728 source files over 60KB
Inputs used
primary_languageVue
largest_source_bytes31,541
source_files_sampled728
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — demos, examples
Inputs used
example_dirsdemos, examples
has_mcp_signalno
api_schema_files

Key facts

33,014GitHub stars
98contributors
806commits, last 12 months
0days since last push
63releases
4bus factor
97open issues
npmpackage ecosystems

Data collection 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

More detail

Star and fork history 0 ★ / 8,893 ⇿
0Stars
8,893Forks
3Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.

7,5008,0008,5009,0008,893112025-102026-032026-07
Major 0Minor 2Patch 1
OpenSSF Scorecard 6.9 / 10
6.9aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-31 09:08 UTC

10Binary-Artifactsno binaries found in the repo
n/aBranch-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/aPackagingpackaging 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/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
8Vulnerabilities2 existing vulnerabilities detected
Direct dependencies 187
RegistryPackageVersion constraintManifest
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
All dependencies not collected

The resolved dependency set could not be collected for this report: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Dependency advisories 0

Installing npm:@vben/types@1.0.1 pulls in 28 packages, direct and transitive: 0 carry known advisories, of which 0 are direct dependencies.

No known advisories affect the assessed dependencies.

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "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"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.14.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsnpm.