Public record
Software health reportschema 0.16.0 · metrics 1.13.0 · 2026-07-21 00:43 UTC

idoknow / Campux

“你一直在找的 QQ 校园墙自动化平台” | 一键部署、自助开墙、自助投稿、网页审核、自动发说说、数据分析、多号管理|万能墙、表白墙 自动化、QQ 空间、QQ 机器人、发说说

TypeScriptApache-2.0★ 153 stars⑂ 15 forkssince Apr 2024View on GitHub ↗

idoknow/Campux holds a health index of 67 out of 100, placing it in the Moderate band. It scores highest on Engineering Quality (94/100) and lowest on Security (47/100). It was last updated 1 day ago. A single contributor accounts for most of its recent work.

67
overall / 100
Moderate

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.

67
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

idoknowOrganization
11 followers29 public repossince Jun 2021

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

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
Gogithub.com/RockChinQ/Campuxpoints to another repo — not scoredv2.1.1+incompatible-510 days ago

Metrics by category

Vitality

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

75Good · 22% of overall
How it's scored
36/36Push recency — last push 1 days ago
9.7/36Commit cadence — 14/52 weeks with commits
18/18Commit volume — 405 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 10 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year405
human_commit_share
days_since_last_push1
active_weeks_last_year14
How it's scored
27/27Ships releases — 5 releases published
36/36Release recency — latest release 10 days ago
12.6/27Release cadence — a release every ~168.9 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count5
latest_release_tagv2.1.1
releases_from_tagsno
days_since_latest_release10
mean_days_between_releases168.9

Community & Adoption

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

58Moderate · 18% of overall
How it's scored
35.4/60Stars — 153 stars
9.6/25Forks — 15 forks
1.7/15Watchers — 3 watchers
Inputs used
forks15
stars153
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno

Sustainability & Governance

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

59Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
9.4/22.5Commit distribution — top contributor authored 58% of commits
13.5/13.5Contributor breadth — 12 contributors
10/10OpenSSF Scorecard: Contributors — project has 11 contributing companies or organizations
Inputs used
bus_factor1
contributors_sampled12
top_contributor_share0.581
How it's scored
43.8/46.8Issue resolution — 94% of issues closed
34/38.3PR acceptance — 81/91 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 2/29 approved changesets -- score normalized to 0
Inputs used
merged_prs81
open_issues3
closed_issues44
issue_closed_ratio0.936
closed_unmerged_prs10
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
7.8/25Owner reach — 11 followers of idoknow
21/25Track record — 29 public repos, account ~5 yr old
Inputs used
followers11
owner_typeOrganization
is_verified
owner_loginidoknow
public_repos29
account_age_days1,863

Engineering Quality

Are baseline engineering and documentation practices in place?

94Excellent · 20% of overall
How it's scored
24/24CI workflows — 3 workflow(s)
24/24Tests present
16/16Linter config — .eslintrc.js
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 8 out of 8 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://campux.top
10/10Repository description
10/10Topics — 2 topics
10/10Wiki
Inputs used
topicsqq, qzone
has_wikiyes
homepagehttps://campux.top
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

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

47At risk · 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 — 8 out of 8 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
0/7.5Code-Review — Found 2/29 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 11 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 10 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 52 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4.6
Excluded from scoring (no data or not applicable): branch_protection. Remaining weights renormalized.
How it's scored
5.7/35Direct dependencies free of known advisories — 3 affected: golang.org/x/crypto v0.45.0 (critical 10.0), go.mongodb.org/mongo-driver v1.14.0 (moderate 6.5), github.com/redis/go-redis/v9 v9.5.5 (unknown)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
32.3/40No advisories left outstanding — 2 advisory-carrying package(s) unaddressed past 90 days; oldest published 481 days ago
Inputs used
sourceosv
advisories38
affected_packages5
assessed_packages254
unassessed_packages68
affected_by_severitycritical 1, moderate 2, unknown 2
direct_affected_packages3
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 254 resolved dependencies against OSV. 68 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. 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.

75Good · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md
0/15Machine-readable docs (llms.txt)
0/40Legible commit history — no data
Inputs used
has_llms_txtno
legible_history_share
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes6,612
Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config — .eslintrc.js
11/11Static type checking — apps/dash/tsconfig.json, apps/server/tsconfig.json, apps/web/tsconfig.json, legacy/frontend/jsconfig.json
10/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no data
0/8Automated maintenance — no data
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilesgo.sum, package-lock.json
has_dockerfileyes
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configyes
typecheck_configsapps/dash/tsconfig.json, apps/server/tsconfig.json, apps/web/tsconfig.json, legacy/frontend/jsconfig.json
agent_commit_share
toolchain_manifests
dependency_bot_commit_share
Excluded from scoring (no data or not applicable): Demonstrated agent practice, Automated maintenance. Remaining weights renormalized.
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
53.6/55Manageable file sizes — 7/283 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes1,309,171
source_files_sampled283
oversized_source_files7

Key facts

153GitHub stars
12contributors
405commits, last 12 months
1days since last push
5releases
1bus factor
3open issues
Go, npmpackage ecosystems

Data collection warnings

  • go package 'github.com/RockChinQ/Campux' points at a different repository (https://github.com/RockChinQ/Campux); excluded from ecosystem scoring
  • Could not fetch npm package 'campux-frontend' from its registry

More detail

OpenSSF Scorecard 4.6 / 10
4.6aggregate

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-21 00:43 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-Tests8 out of 8 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 2/29 approved changesets -- score normalized to 0
10Contributorsproject has 11 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 10 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities52 existing vulnerabilities detected
Direct dependencies 73
RegistryPackageVersion constraintManifest
Gogithub.com/gin-contrib/corsv1.7.1legacy/go.mod
Gogithub.com/gin-gonic/ginv1.9.1legacy/go.mod
Gogithub.com/go-co-op/gocron/v2v2.2.9legacy/go.mod
Gogithub.com/golang-jwt/jwt/v5v5.2.2legacy/go.mod
Gogithub.com/google/uuidv1.6.0legacy/go.mod
Gogithub.com/minio/minio-go/v7v7.0.69legacy/go.mod
Gogithub.com/redis/go-redis/v9v9.5.5legacy/go.mod
Gogithub.com/spf13/viperv1.18.2legacy/go.mod
Gogo.mongodb.org/mongo-driverv1.14.0legacy/go.mod
Gogolang.org/x/cryptov0.45.0legacy/go.mod
Gogorm.io/driver/sqlitev1.5.6legacy/go.mod
Gogorm.io/gormv1.25.11legacy/go.mod
npm@prisma/client6.8.2package.json
npm@campux/telemetryworkspace:*apps/dash/package.json
npmfastify^5.3.3apps/dash/package.json
npmip2region-ts^2.0.1apps/dash/package.json
npmzod^3.24.4apps/dash/package.json
npm@aws-sdk/client-s3^3.812.0apps/server/package.json
npm@aws-sdk/lib-storage3.1045.0apps/server/package.json
npm@campux/configworkspace:*apps/server/package.json
npm@campux/dbworkspace:*apps/server/package.json
npm@campux/domainworkspace:*apps/server/package.json
npm@campux/integrationsworkspace:*apps/server/package.json
npm@campux/renderworkspace:*apps/server/package.json
npm@campux/telemetryworkspace:*apps/server/package.json
npm@fastify/multipart^9.0.0apps/server/package.json
npm@fastify/cors^11.0.1apps/server/package.json
npm@fastify/static^9.1.3apps/server/package.json
npm@fastify/websocket^11.2.0apps/server/package.json
npmfastify^5.3.3apps/server/package.json
npmsharp^0.33.0apps/server/package.json
npmzod^3.24.4apps/server/package.json
npm@campux/domainworkspace:*apps/web/package.json
npm@fontsource-variable/geist^5.2.8apps/web/package.json
npm@tailwindcss/vite^4.3.0apps/web/package.json
npm@vitejs/plugin-react5apps/web/package.json
npmclass-variance-authority^0.7.1apps/web/package.json
npmclsx^2.1.1apps/web/package.json
npmdompurify^3.4.10apps/web/package.json
npmgif.js^0.2.0apps/web/package.json
npmlucide-react^1.14.0apps/web/package.json
npmmarked^18.0.5apps/web/package.json
npmradix-ui^1.4.3apps/web/package.json
npmreact^19.2.6apps/web/package.json
npmreact-dom^19.2.6apps/web/package.json
npmshadcn^4.7.0apps/web/package.json
npmsonner^2.0.7apps/web/package.json
npmtailwind-merge^3.6.0apps/web/package.json
npmtailwindcss^4.3.0apps/web/package.json
npmtw-animate-css^1.4.0apps/web/package.json
npmvaul^1.1.2apps/web/package.json
npmvite^6.3.5apps/web/package.json
npm@mdi/font7.0.96legacy/frontend/package.json
npmaxios^1.6.8legacy/frontend/package.json
npmcore-js^3.34.0legacy/frontend/package.json
npmjs-cookie^3.0.5legacy/frontend/package.json
npmmitt^3.0.1legacy/frontend/package.json
npmroboto-fontface*legacy/frontend/package.json
npmvue^3.4.0legacy/frontend/package.json
npmvue-cookies^1.8.4legacy/frontend/package.json
npmvue3-emoji-picker^1.1.8legacy/frontend/package.json
npmvuetify^3.5.0legacy/frontend/package.json
npmvuex^4.1.0legacy/frontend/package.json
npmzod^3.24.4packages/config/package.json
npm@node-rs/argon2^2.0.2packages/db/package.json
npm@prisma/client^6.8.2packages/db/package.json
npmzod^3.24.4packages/domain/package.json
npm@aws-sdk/client-s3^3.812.0packages/integrations/package.json
npm@campux/configworkspace:*packages/integrations/package.json
npm@campux/domainworkspace:*packages/render/package.json
npmmarked^15.0.0packages/render/package.json
npmplaywright-core^1.60.0packages/render/package.json
npmzod^3.24.4packages/telemetry/package.json
All dependencies 322

Full resolved dependency set from the GitHub dependency graph: 61 direct and 261 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
Gogithub.com/gin-contrib/corsv1.7.1direct
Gogithub.com/gin-gonic/ginv1.9.1direct
Gogithub.com/go-co-op/gocron/v2v2.2.9direct
Gogithub.com/golang-jwt/jwt/v5v5.2.2direct
Gogithub.com/google/uuidv1.6.0direct
Gogithub.com/minio/minio-go/v7v7.0.69direct
Gogithub.com/redis/go-redis/v9v9.5.5direct
Gogithub.com/spf13/viperv1.18.2direct
Gogo.mongodb.org/mongo-driverv1.14.0direct
Gogolang.org/x/cryptov0.45.0direct
Gogorm.io/driver/sqlitev1.5.6direct
Gogorm.io/gormv1.25.11direct
npm@aws-sdk/client-s3^3.812.0direct
npm@aws-sdk/lib-storage3.1045.0direct
npm@fastify/cors^11.0.1direct
npm@fastify/multipart^9.0.0direct
npm@fastify/static^9.1.3direct
npm@fastify/websocket^11.2.0direct
npm@fontsource-variable/geist^5.2.8direct
npm@mdi/font7.0.96direct
npm@node-rs/argon2^2.0.2direct
npm@prisma/client6.8.2direct
npm@prisma/client^6.8.2direct
npm@tailwindcss/vite^4.3.0direct
npm@vitejs/plugin-react5direct
npmaxios^1.6.8direct
npmclass-variance-authority^0.7.1direct
npmclsx^2.1.1direct
npmcore-js^3.34.0direct
npmdompurify^3.4.10direct
npmfastify^5.3.3direct
npmgif.js^0.2.0direct
npmip2region-ts^2.0.1direct
npmjs-cookie^3.0.5direct
npmlucide-react^1.14.0direct
npmmarked^15.0.0direct
npmmarked^18.0.5direct
npmmitt3.0.1direct
npmmitt^3.0.1direct
npmplaywright-core^1.60.0direct
npmradix-ui^1.4.3direct
npmreact^19.2.6direct
npmreact-dom^19.2.6direct
npmroboto-fontface*direct
npmshadcn^4.7.0direct
npmsharp^0.33.0direct
npmsonner^2.0.7direct
npmtailwind-merge^3.6.0direct
npmtailwindcss^4.3.0direct
npmtw-animate-css^1.4.0direct
npmvaul^1.1.2direct
npmvite6.4.3direct
npmvite^6.3.5direct
npmvite^6.4.2direct
npmvue3.5.35direct
npmvue^3.4.0direct
npmvue-cookies^1.8.4direct
npmvue3-emoji-picker^1.1.8direct
npmvuetify^3.5.0direct
npmvuex^4.1.0direct
npmzod^3.24.4direct
Gogithub.com/bytedance/sonicv1.11.3indirect
Gogithub.com/cespare/xxhash/v2v2.2.0indirect
Gogithub.com/chenzhuoyu/base64xv0.0.0-20230717121745-296ad89f973dindirect
Gogithub.com/chenzhuoyu/iasmv0.9.1indirect
Gogithub.com/dgryski/go-rendezvousv0.0.0-20200823014737-9f7001d12a5findirect
Gogithub.com/dustin/go-humanizev1.0.1indirect
Gogithub.com/fsnotify/fsnotifyv1.7.0indirect
Gogithub.com/gabriel-vasile/mimetypev1.4.3indirect
Gogithub.com/gin-contrib/ssev0.1.0indirect
Gogithub.com/go-playground/localesv0.14.1indirect
Gogithub.com/go-playground/universal-translatorv0.18.1indirect
Gogithub.com/go-playground/validator/v10v10.19.0indirect
Gogithub.com/goccy/go-jsonv0.10.2indirect
Gogithub.com/golang/snappyv0.0.1indirect
Gogithub.com/hashicorp/hclv1.0.0indirect
Gogithub.com/jinzhu/inflectionv1.0.0indirect
Gogithub.com/jinzhu/nowv1.1.5indirect
Gogithub.com/jonboulle/clockworkv0.4.0indirect
Gogithub.com/json-iterator/gov1.1.12indirect
Gogithub.com/klauspost/compressv1.17.6indirect
Gogithub.com/klauspost/cpuid/v2v2.2.7indirect
Gogithub.com/leodido/go-urnv1.4.0indirect
Gogithub.com/magiconair/propertiesv1.8.7indirect
Gogithub.com/mattn/go-isattyv0.0.20indirect
Gogithub.com/mattn/go-sqlite3v1.14.22indirect
Gogithub.com/minio/md5-simdv1.1.2indirect
Gogithub.com/minio/sha256-simdv1.0.1indirect
Gogithub.com/mitchellh/mapstructurev1.5.0indirect
Gogithub.com/modern-go/concurrentv0.0.0-20180306012644-bacd9c7ef1ddindirect
Gogithub.com/modern-go/reflect2v1.0.2indirect
Gogithub.com/montanaflynn/statsv0.0.0-20171201202039-1bf9dbcd8cbeindirect
Gogithub.com/pelletier/go-toml/v2v2.2.0indirect
Gogithub.com/robfig/cron/v3v3.0.1indirect
Gogithub.com/rs/xidv1.5.0indirect
Gogithub.com/sagikazarmark/locaferov0.4.0indirect
Gogithub.com/sagikazarmark/slog-shimv0.1.0indirect
Gogithub.com/sourcegraph/concv0.3.0indirect
Gogithub.com/spf13/aferov1.11.0indirect
Gogithub.com/spf13/castv1.6.0indirect
Gogithub.com/spf13/pflagv1.0.5indirect
Gogithub.com/subosito/gotenvv1.6.0indirect
Gogithub.com/twitchyliquid64/golang-asmv0.15.1indirect
Gogithub.com/ugorji/go/codecv1.2.12indirect
Gogithub.com/xdg-go/pbkdf2v1.0.0indirect
Gogithub.com/xdg-go/scramv1.1.2indirect
Gogithub.com/xdg-go/stringprepv1.0.4indirect
Gogithub.com/youmark/pkcs8v0.0.0-20181117223130-1be2e3e5546dindirect
Gogo.uber.org/atomicv1.9.0indirect
Gogo.uber.org/multierrv1.9.0indirect
Gogolang.org/x/archv0.7.0indirect
Gogolang.org/x/expv0.0.0-20231219180239-dc181d75b848indirect
Gogolang.org/x/netv0.47.0indirect
Gogolang.org/x/syncv0.18.0indirect
Gogolang.org/x/sysv0.38.0indirect
Gogolang.org/x/textv0.31.0indirect
Gogoogle.golang.org/protobufv1.33.0indirect
Gogopkg.in/ini.v1v1.67.0indirect
Gogopkg.in/yaml.v3v3.0.1indirect
npm@algolia/abtesting1.19.0indirect
npm@algolia/autocomplete-core1.17.7indirect
npm@algolia/autocomplete-plugin-algolia-insights1.17.7indirect
npm@algolia/autocomplete-preset-algolia1.17.7indirect
npm@algolia/autocomplete-shared1.17.7indirect
npm@algolia/client-abtesting5.53.0indirect
npm@algolia/client-analytics5.53.0indirect
npm@algolia/client-common5.53.0indirect
npm@algolia/client-insights5.53.0indirect
npm@algolia/client-personalization5.53.0indirect
npm@algolia/client-query-suggestions5.53.0indirect
npm@algolia/client-search5.53.0indirect
npm@algolia/ingestion1.53.0indirect
npm@algolia/monitoring1.53.0indirect
npm@algolia/recommend5.53.0indirect
npm@algolia/requester-browser-xhr5.53.0indirect
npm@algolia/requester-fetch5.53.0indirect
npm@algolia/requester-node-http5.53.0indirect
npm@babel/helper-string-parser7.29.7indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/parser7.29.7indirect
npm@babel/types7.29.7indirect
npm@docsearch/css3.8.2indirect
npm@docsearch/js3.8.2indirect
npm@docsearch/react3.8.2indirect
npm@esbuild/aix-ppc640.25.12indirect
npm@esbuild/android-arm0.25.12indirect
npm@esbuild/android-arm640.25.12indirect
npm@esbuild/android-x640.25.12indirect
npm@esbuild/darwin-arm640.25.12indirect
npm@esbuild/darwin-x640.25.12indirect
npm@esbuild/freebsd-arm640.25.12indirect
npm@esbuild/freebsd-x640.25.12indirect
npm@esbuild/linux-arm0.25.12indirect
npm@esbuild/linux-arm640.25.12indirect
npm@esbuild/linux-ia320.25.12indirect
npm@esbuild/linux-loong640.25.12indirect
npm@esbuild/linux-mips64el0.25.12indirect
npm@esbuild/linux-ppc640.25.12indirect
npm@esbuild/linux-riscv640.25.12indirect
npm@esbuild/linux-s390x0.25.12indirect
npm@esbuild/linux-x640.25.12indirect
npm@esbuild/netbsd-arm640.25.12indirect
npm@esbuild/netbsd-x640.25.12indirect
npm@esbuild/openbsd-arm640.25.12indirect
npm@esbuild/openbsd-x640.25.12indirect
npm@esbuild/openharmony-arm640.25.12indirect
npm@esbuild/sunos-x640.25.12indirect
npm@esbuild/win32-arm640.25.12indirect
npm@esbuild/win32-ia320.25.12indirect
npm@esbuild/win32-x640.25.12indirect
npm@iconify-json/simple-icons1.2.86indirect
npm@iconify/types2.0.0indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@rollup/rollup-android-arm-eabi4.61.1indirect
npm@rollup/rollup-android-arm644.61.1indirect
npm@rollup/rollup-darwin-arm644.61.1indirect
npm@rollup/rollup-darwin-x644.61.1indirect
npm@rollup/rollup-freebsd-arm644.61.1indirect
npm@rollup/rollup-freebsd-x644.61.1indirect
npm@rollup/rollup-linux-arm-gnueabihf4.61.1indirect
npm@rollup/rollup-linux-arm-musleabihf4.61.1indirect
npm@rollup/rollup-linux-arm64-gnu4.61.1indirect
npm@rollup/rollup-linux-arm64-musl4.61.1indirect
npm@rollup/rollup-linux-loong64-gnu4.61.1indirect
npm@rollup/rollup-linux-loong64-musl4.61.1indirect
npm@rollup/rollup-linux-ppc64-gnu4.61.1indirect
npm@rollup/rollup-linux-ppc64-musl4.61.1indirect
npm@rollup/rollup-linux-riscv64-gnu4.61.1indirect
npm@rollup/rollup-linux-riscv64-musl4.61.1indirect
npm@rollup/rollup-linux-s390x-gnu4.61.1indirect
npm@rollup/rollup-linux-x64-gnu4.61.1indirect
npm@rollup/rollup-linux-x64-musl4.61.1indirect
npm@rollup/rollup-openbsd-x644.61.1indirect
npm@rollup/rollup-openharmony-arm644.61.1indirect
npm@rollup/rollup-win32-arm64-msvc4.61.1indirect
npm@rollup/rollup-win32-ia32-msvc4.61.1indirect
npm@rollup/rollup-win32-x64-gnu4.61.1indirect
npm@rollup/rollup-win32-x64-msvc4.61.1indirect
npm@shikijs/core2.5.0indirect
npm@shikijs/engine-javascript2.5.0indirect
npm@shikijs/engine-oniguruma2.5.0indirect
npm@shikijs/langs2.5.0indirect
npm@shikijs/themes2.5.0indirect
npm@shikijs/transformers2.5.0indirect
npm@shikijs/types2.5.0indirect
npm@shikijs/vscode-textmate10.0.2indirect
npm@types/bun^1.2.0indirect
npm@types/dompurify^3.2.0indirect
npm@types/estree1.0.9indirect
npm@types/gif.js^0.2.5indirect
npm@types/hast3.0.4indirect
npm@types/js-cookie^3.0.6indirect
npm@types/linkify-it5.0.0indirect
npm@types/markdown-it14.1.2indirect
npm@types/marked^6.0.0indirect
npm@types/mdast4.0.4indirect
npm@types/mdurl2.0.0indirect
npm@types/react^19.2.14indirect
npm@types/react-dom^19.2.3indirect
npm@types/unist3.0.3indirect
npm@types/web-bluetooth0.0.21indirect
npm@ungap/structured-clone1.3.1indirect
npm@vitejs/plugin-vue5.2.4indirect
npm@vitejs/plugin-vue^5.0.4indirect
npm@vue/compiler-core3.5.35indirect
npm@vue/compiler-dom3.5.35indirect
npm@vue/compiler-sfc3.5.35indirect
npm@vue/compiler-ssr3.5.35indirect
npm@vue/devtools-api7.7.9indirect
npm@vue/devtools-kit7.7.9indirect
npm@vue/devtools-shared7.7.9indirect
npm@vue/reactivity3.5.35indirect
npm@vue/runtime-core3.5.35indirect
npm@vue/runtime-dom3.5.35indirect
npm@vue/server-renderer3.5.35indirect
npm@vue/shared3.5.35indirect
npm@vueuse/core12.8.2indirect
npm@vueuse/integrations12.8.2indirect
npm@vueuse/metadata12.8.2indirect
npm@vueuse/shared12.8.2indirect
npmalgoliasearch5.53.0indirect
npmbirpc2.9.0indirect
npmccount2.0.1indirect
npmcharacter-entities-html42.1.0indirect
npmcharacter-entities-legacy3.0.0indirect
npmcomma-separated-tokens2.0.3indirect
npmcopy-anything4.0.5indirect
npmcsstype3.2.3indirect
npmdequal2.0.3indirect
npmdevlop1.1.0indirect
npmemoji-regex-xs1.0.0indirect
npmentities7.0.1indirect
npmesbuild0.25.12indirect
npmeslint^8.57.0indirect
npmeslint-config-standard^17.1.0indirect
npmeslint-plugin-import^2.29.1indirect
npmeslint-plugin-n^16.6.2indirect
npmeslint-plugin-node^11.1.0indirect
npmeslint-plugin-promise^6.1.1indirect
npmeslint-plugin-vue^9.22.0indirect
npmestree-walker2.0.2indirect
npmfdir6.5.0indirect
npmfocus-trap7.8.0indirect
npmfsevents2.3.3indirect
npmhast-util-to-html9.0.5indirect
npmhast-util-whitespace3.0.0indirect
npmhookable5.5.3indirect
npmhtml-void-elements3.0.0indirect
npmis-what5.5.0indirect
npmmagic-string0.30.21indirect
npmmark.js8.11.1indirect
npmmdast-util-to-hast13.2.1indirect
npmmermaid^11.15.0indirect
npmmicromark-util-character2.1.1indirect
npmmicromark-util-encode2.0.1indirect
npmmicromark-util-sanitize-uri2.0.1indirect
npmmicromark-util-symbol2.0.1indirect
npmmicromark-util-types2.0.2indirect
npmminisearch7.2.0indirect
npmnanoid3.3.12indirect
npmoniguruma-to-es3.1.1indirect
npmperfect-debounce1.0.0indirect
npmpicocolors1.1.1indirect
npmpicomatch4.0.4indirect
npmpostcss8.5.15indirect
npmpreact10.29.2indirect
npmprisma6.8.2indirect
npmprisma^6.8.2indirect
npmproperty-information7.2.0indirect
npmregex6.1.0indirect
npmregex-recursion6.0.2indirect
npmregex-utilities2.3.0indirect
npmrfdc1.4.1indirect
npmrollup4.61.1indirect
npmsass^1.71.1indirect
npmsearch-insights2.17.3indirect
npmshiki2.5.0indirect
npmsource-map-js1.2.1indirect
npmspace-separated-tokens2.0.2indirect
npmspeakingurl14.0.1indirect
npmstringify-entities4.0.4indirect
npmsuperjson2.2.6indirect
npmtabbable6.4.0indirect
npmtinyglobby0.2.17indirect
npmtrim-lines3.0.1indirect
npmtypescript^5.8.3indirect
npmtypescript^6.0.3indirect
npmunist-util-is6.0.1indirect
npmunist-util-position5.0.0indirect
npmunist-util-stringify-position4.0.0indirect
npmunist-util-visit5.1.0indirect
npmunist-util-visit-parents6.0.2indirect
npmunplugin-fonts^1.1.1indirect
npmunplugin-vue-components^0.26.0indirect
npmunplugin-vue-router^0.8.4indirect
npmvfile6.0.3indirect
npmvfile-message4.0.3indirect
npmvite-plugin-vuetify^2.0.3indirect
npmvitepress1.6.4indirect
npmvitepress^1.6.4indirect
npmvue-router^4.4.0indirect
npmzwitch2.0.4indirect
Dependency advisories 5

This repository publishes no package the index resolves, so its own dependency graph was assessed — 254 packages, which also include development and test pins that never ship: 5 carry known advisories, of which 3 are direct. 68 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
golang.org/x/cryptov0.45.0directcritical270.52.0
go.mongodb.org/mongo-driverv1.14.0directmoderate12.4.2
golang.org/x/netv0.47.0indirectmoderate81.26.3
github.com/redis/go-redis/v9v9.5.5directunknown19.7.3
golang.org/x/sysv0.38.0indirectunknown10.44.0

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": [
        "qq",
        "qzone"
      ],
      "is_fork": false,
      "size_kb": 36763,
      "has_wiki": true,
      "homepage": "https://campux.top",
      "languages": {
        "Go": 117967,
        "CSS": 19149,
        "Vue": 95250,
        "HTML": 52821,
        "SCSS": 207,
        "Shell": 2218,
        "Dockerfile": 3684,
        "JavaScript": 11600,
        "TypeScript": 3269903
      },
      "pushed_at": "2026-07-19T13:51:47Z",
      "created_at": "2024-04-01T06:48:20Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-19T13:51:16Z",
      "description": "“你一直在找的 QQ 校园墙自动化平台” | 一键部署、自助开墙、自助投稿、网页审核、自动发说说、数据分析、多号管理|万能墙、表白墙 自动化、QQ 空间、QQ 机器人、发说说",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://idoknow.top",
      "name": null,
      "type": "Organization",
      "login": "idoknow",
      "company": null,
      "location": "China",
      "followers": 11,
      "avatar_url": "https://avatars.githubusercontent.com/u/85813221?v=4",
      "created_at": "2021-06-13T01:41:25Z",
      "is_verified": null,
      "public_repos": 29,
      "account_age_days": 1863
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases_count": 5,
      "commits_last_year": 405,
      "latest_release_at": "2026-07-10T07:19:26Z",
      "latest_release_tag": "v2.1.1",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 14,
      "days_since_latest_release": 10,
      "mean_days_between_releases": 168.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/RockChinQ/Campux",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": false,
          "registry_url": "https://pkg.go.dev/github.com/RockChinQ/Campux",
          "is_deprecated": false,
          "latest_version": "v2.1.1+incompatible",
          "repository_url": "https://github.com/RockChinQ/Campux",
          "versions_count": 5,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-10T01:09:51Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 10
        }
      ]
    },
    "popularity": {
      "forks": 15,
      "stars": 153,
      "watchers": 3,
      "open_issues_and_prs": 4
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "apps/dash/tsconfig.json",
        "apps/server/tsconfig.json",
        "apps/web/tsconfig.json",
        "legacy/frontend/jsconfig.json"
      ],
      "largest_source_bytes": 1309171,
      "source_files_sampled": 283,
      "oversized_source_files": 7,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 6612
    },
    "dependencies": {
      "manifests": [
        "legacy/go.mod",
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.45.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-45gg-vh54-h5m9",
              "GHSA-5cgq-3rg8-m6cv",
              "GHSA-78mq-xcr3-xm33",
              "GHSA-89gr-r52h-f8rx",
              "GHSA-9m57-25v3-79x9",
              "GHSA-f5wc-c3c7-36mc",
              "GHSA-jppx-rxg9-jmrx",
              "GHSA-q4h4-gmj2-qvw2",
              "GHSA-qpw4-5x99-6vjp",
              "GHSA-rm3j-f69w-wqmq"
            ],
            "fixed_version": "0.52.0",
            "advisory_count": 27,
            "oldest_advisory_days": 59
          },
          {
            "name": "go.mongodb.org/mongo-driver",
            "direct": true,
            "version": "v1.14.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-cp6g-7hqx-qxhp"
            ],
            "fixed_version": "2.4.2",
            "advisory_count": 1,
            "oldest_advisory_days": 160
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.47.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-5cv4-jp36-h3mw",
              "GO-2026-4918",
              "GO-2026-5025",
              "GO-2026-5026",
              "GO-2026-5027",
              "GO-2026-5028",
              "GO-2026-5029",
              "GO-2026-5030"
            ],
            "fixed_version": "1.26.3",
            "advisory_count": 8,
            "oldest_advisory_days": 74
          },
          {
            "name": "github.com/redis/go-redis/v9",
            "direct": true,
            "version": "v9.5.5",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2025-3540"
            ],
            "fixed_version": "9.7.3",
            "advisory_count": 1,
            "oldest_advisory_days": 481
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.38.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 59
          }
        ],
        "collected": true,
        "truncated": false,
        "by_severity": {
          "unknown": 2,
          "critical": 1,
          "moderate": 2
        },
        "advisory_count": 38,
        "affected_count": 5,
        "assessed_count": 254,
        "assessed_package": null,
        "unassessed_count": 68,
        "direct_affected_count": 3
      },
      "ecosystems": [
        "go",
        "npm"
      ],
      "dependencies": [
        {
          "name": "github.com/gin-contrib/cors",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.7.1"
        },
        {
          "name": "github.com/gin-gonic/gin",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.9.1"
        },
        {
          "name": "github.com/go-co-op/gocron/v2",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.2.9"
        },
        {
          "name": "github.com/golang-jwt/jwt/v5",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.2.2"
        },
        {
          "name": "github.com/google/uuid",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/minio/minio-go/v7",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v7.0.69"
        },
        {
          "name": "github.com/redis/go-redis/v9",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v9.5.5"
        },
        {
          "name": "github.com/spf13/viper",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.18.2"
        },
        {
          "name": "go.mongodb.org/mongo-driver",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.14.0"
        },
        {
          "name": "golang.org/x/crypto",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.45.0"
        },
        {
          "name": "gorm.io/driver/sqlite",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.6"
        },
        {
          "name": "gorm.io/gorm",
          "manifest": "legacy/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.25.11"
        },
        {
          "name": "@prisma/client",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "6.8.2"
        },
        {
          "name": "@campux/telemetry",
          "manifest": "apps/dash/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "fastify",
          "manifest": "apps/dash/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.3"
        },
        {
          "name": "ip2region-ts",
          "manifest": "apps/dash/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.1"
        },
        {
          "name": "zod",
          "manifest": "apps/dash/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.24.4"
        },
        {
          "name": "@aws-sdk/client-s3",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.812.0"
        },
        {
          "name": "@aws-sdk/lib-storage",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.1045.0"
        },
        {
          "name": "@campux/config",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@campux/db",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@campux/domain",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@campux/integrations",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@campux/render",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@campux/telemetry",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@fastify/multipart",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.0.0"
        },
        {
          "name": "@fastify/cors",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.0.1"
        },
        {
          "name": "@fastify/static",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.1.3"
        },
        {
          "name": "@fastify/websocket",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.2.0"
        },
        {
          "name": "fastify",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.3"
        },
        {
          "name": "sharp",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.33.0"
        },
        {
          "name": "zod",
          "manifest": "apps/server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.24.4"
        },
        {
          "name": "@campux/domain",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@fontsource-variable/geist",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.2.8"
        },
        {
          "name": "@tailwindcss/vite",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.0"
        },
        {
          "name": "@vitejs/plugin-react",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "5"
        },
        {
          "name": "class-variance-authority",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.7.1"
        },
        {
          "name": "clsx",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.1"
        },
        {
          "name": "dompurify",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.4.10"
        },
        {
          "name": "gif.js",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.2.0"
        },
        {
          "name": "lucide-react",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.14.0"
        },
        {
          "name": "marked",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^18.0.5"
        },
        {
          "name": "radix-ui",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.3"
        },
        {
          "name": "react",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.2.6"
        },
        {
          "name": "react-dom",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.2.6"
        },
        {
          "name": "shadcn",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.7.0"
        },
        {
          "name": "sonner",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.7"
        },
        {
          "name": "tailwind-merge",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.6.0"
        },
        {
          "name": "tailwindcss",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.0"
        },
        {
          "name": "tw-animate-css",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.0"
        },
        {
          "name": "vaul",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.2"
        },
        {
          "name": "vite",
          "manifest": "apps/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.3.5"
        },
        {
          "name": "@mdi/font",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.0.96"
        },
        {
          "name": "axios",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.6.8"
        },
        {
          "name": "core-js",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.34.0"
        },
        {
          "name": "js-cookie",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.5"
        },
        {
          "name": "mitt",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.1"
        },
        {
          "name": "roboto-fontface",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "vue",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.4.0"
        },
        {
          "name": "vue-cookies",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.8.4"
        },
        {
          "name": "vue3-emoji-picker",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.8"
        },
        {
          "name": "vuetify",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.5.0"
        },
        {
          "name": "vuex",
          "manifest": "legacy/frontend/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "zod",
          "manifest": "packages/config/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.24.4"
        },
        {
          "name": "@node-rs/argon2",
          "manifest": "packages/db/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.2"
        },
        {
          "name": "@prisma/client",
          "manifest": "packages/db/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.8.2"
        },
        {
          "name": "zod",
          "manifest": "packages/domain/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.24.4"
        },
        {
          "name": "@aws-sdk/client-s3",
          "manifest": "packages/integrations/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.812.0"
        },
        {
          "name": "@campux/config",
          "manifest": "packages/integrations/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@campux/domain",
          "manifest": "packages/render/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "marked",
          "manifest": "packages/render/package.json",
          "ecosystem": "npm",
          "version_constraint": "^15.0.0"
        },
        {
          "name": "playwright-core",
          "manifest": "packages/render/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.60.0"
        },
        {
          "name": "zod",
          "manifest": "packages/telemetry/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.24.4"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "github.com/gin-contrib/cors",
            "direct": true,
            "version": "v1.7.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gin-gonic/gin",
            "direct": true,
            "version": "v1.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-co-op/gocron/v2",
            "direct": true,
            "version": "v2.2.9",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang-jwt/jwt/v5",
            "direct": true,
            "version": "v5.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/uuid",
            "direct": true,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/minio/minio-go/v7",
            "direct": true,
            "version": "v7.0.69",
            "ecosystem": "go"
          },
          {
            "name": "github.com/redis/go-redis/v9",
            "direct": true,
            "version": "v9.5.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/viper",
            "direct": true,
            "version": "v1.18.2",
            "ecosystem": "go"
          },
          {
            "name": "go.mongodb.org/mongo-driver",
            "direct": true,
            "version": "v1.14.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.45.0",
            "ecosystem": "go"
          },
          {
            "name": "gorm.io/driver/sqlite",
            "direct": true,
            "version": "v1.5.6",
            "ecosystem": "go"
          },
          {
            "name": "gorm.io/gorm",
            "direct": true,
            "version": "v1.25.11",
            "ecosystem": "go"
          },
          {
            "name": "@aws-sdk/client-s3",
            "direct": true,
            "version": "^3.812.0",
            "ecosystem": "npm"
          },
          {
            "name": "@aws-sdk/lib-storage",
            "direct": true,
            "version": "3.1045.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/cors",
            "direct": true,
            "version": "^11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/multipart",
            "direct": true,
            "version": "^9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/static",
            "direct": true,
            "version": "^9.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/websocket",
            "direct": true,
            "version": "^11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fontsource-variable/geist",
            "direct": true,
            "version": "^5.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@mdi/font",
            "direct": true,
            "version": "7.0.96",
            "ecosystem": "npm"
          },
          {
            "name": "@node-rs/argon2",
            "direct": true,
            "version": "^2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@prisma/client",
            "direct": true,
            "version": "6.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@prisma/client",
            "direct": true,
            "version": "^6.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/vite",
            "direct": true,
            "version": "^4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": true,
            "version": "5",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": true,
            "version": "^1.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": true,
            "version": "^0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "^2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "core-js",
            "direct": true,
            "version": "^3.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": true,
            "version": "^3.4.10",
            "ecosystem": "npm"
          },
          {
            "name": "fastify",
            "direct": true,
            "version": "^5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "gif.js",
            "direct": true,
            "version": "^0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ip2region-ts",
            "direct": true,
            "version": "^2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-cookie",
            "direct": true,
            "version": "^3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "lucide-react",
            "direct": true,
            "version": "^1.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": true,
            "version": "^15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": true,
            "version": "^18.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": true,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": true,
            "version": "^3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": true,
            "version": "^1.60.0",
            "ecosystem": "npm"
          },
          {
            "name": "radix-ui",
            "direct": true,
            "version": "^1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "^19.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "^19.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "roboto-fontface",
            "direct": true,
            "version": "*",
            "ecosystem": "npm"
          },
          {
            "name": "shadcn",
            "direct": true,
            "version": "^4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "sharp",
            "direct": true,
            "version": "^0.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "sonner",
            "direct": true,
            "version": "^2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "^3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": true,
            "version": "^4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tw-animate-css",
            "direct": true,
            "version": "^1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "vaul",
            "direct": true,
            "version": "^1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": true,
            "version": "6.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": true,
            "version": "^6.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": true,
            "version": "^6.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "^3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-cookies",
            "direct": true,
            "version": "^1.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue3-emoji-picker",
            "direct": true,
            "version": "^1.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "vuetify",
            "direct": true,
            "version": "^3.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "vuex",
            "direct": true,
            "version": "^4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "^3.24.4",
            "ecosystem": "npm"
          },
          {
            "name": "github.com/bytedance/sonic",
            "direct": false,
            "version": "v1.11.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cespare/xxhash/v2",
            "direct": false,
            "version": "v2.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/chenzhuoyu/base64x",
            "direct": false,
            "version": "v0.0.0-20230717121745-296ad89f973d",
            "ecosystem": "go"
          },
          {
            "name": "github.com/chenzhuoyu/iasm",
            "direct": false,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dgryski/go-rendezvous",
            "direct": false,
            "version": "v0.0.0-20200823014737-9f7001d12a5f",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dustin/go-humanize",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fsnotify/fsnotify",
            "direct": false,
            "version": "v1.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gabriel-vasile/mimetype",
            "direct": false,
            "version": "v1.4.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gin-contrib/sse",
            "direct": false,
            "version": "v0.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-playground/locales",
            "direct": false,
            "version": "v0.14.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-playground/universal-translator",
            "direct": false,
            "version": "v0.18.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-playground/validator/v10",
            "direct": false,
            "version": "v10.19.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/goccy/go-json",
            "direct": false,
            "version": "v0.10.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/snappy",
            "direct": false,
            "version": "v0.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/hcl",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jinzhu/inflection",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jinzhu/now",
            "direct": false,
            "version": "v1.1.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jonboulle/clockwork",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/json-iterator/go",
            "direct": false,
            "version": "v1.1.12",
            "ecosystem": "go"
          },
          {
            "name": "github.com/klauspost/compress",
            "direct": false,
            "version": "v1.17.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/klauspost/cpuid/v2",
            "direct": false,
            "version": "v2.2.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/leodido/go-urn",
            "direct": false,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/magiconair/properties",
            "direct": false,
            "version": "v1.8.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-isatty",
            "direct": false,
            "version": "v0.0.20",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-sqlite3",
            "direct": false,
            "version": "v1.14.22",
            "ecosystem": "go"
          },
          {
            "name": "github.com/minio/md5-simd",
            "direct": false,
            "version": "v1.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/minio/sha256-simd",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mitchellh/mapstructure",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/concurrent",
            "direct": false,
            "version": "v0.0.0-20180306012644-bacd9c7ef1dd",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/reflect2",
            "direct": false,
            "version": "v1.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/montanaflynn/stats",
            "direct": false,
            "version": "v0.0.0-20171201202039-1bf9dbcd8cbe",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pelletier/go-toml/v2",
            "direct": false,
            "version": "v2.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/robfig/cron/v3",
            "direct": false,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rs/xid",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sagikazarmark/locafero",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sagikazarmark/slog-shim",
            "direct": false,
            "version": "v0.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sourcegraph/conc",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/afero",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/cast",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/pflag",
            "direct": false,
            "version": "v1.0.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/subosito/gotenv",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/twitchyliquid64/golang-asm",
            "direct": false,
            "version": "v0.15.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ugorji/go/codec",
            "direct": false,
            "version": "v1.2.12",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xdg-go/pbkdf2",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xdg-go/scram",
            "direct": false,
            "version": "v1.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xdg-go/stringprep",
            "direct": false,
            "version": "v1.0.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/youmark/pkcs8",
            "direct": false,
            "version": "v0.0.0-20181117223130-1be2e3e5546d",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/atomic",
            "direct": false,
            "version": "v1.9.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/multierr",
            "direct": false,
            "version": "v1.9.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/arch",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp",
            "direct": false,
            "version": "v0.0.0-20231219180239-dc181d75b848",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.47.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": false,
            "version": "v0.18.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.38.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": false,
            "version": "v0.31.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": false,
            "version": "v1.33.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/ini.v1",
            "direct": false,
            "version": "v1.67.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v3",
            "direct": false,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "@algolia/abtesting",
            "direct": false,
            "version": "1.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-core",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-plugin-algolia-insights",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-preset-algolia",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-shared",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-abtesting",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-analytics",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-common",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-insights",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-personalization",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-query-suggestions",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-search",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/ingestion",
            "direct": false,
            "version": "1.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/monitoring",
            "direct": false,
            "version": "1.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/recommend",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-browser-xhr",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-fetch",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-node-http",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/css",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/js",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/react",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify-json/simple-icons",
            "direct": false,
            "version": "1.2.86",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/transformers",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vscode-textmate",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/bun",
            "direct": false,
            "version": "^1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/dompurify",
            "direct": false,
            "version": "^3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/gif.js",
            "direct": false,
            "version": "^0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/js-cookie",
            "direct": false,
            "version": "^3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/marked",
            "direct": false,
            "version": "^6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "^19.2.14",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "^19.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "5.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "^5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/integrations",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "algoliasearch",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-html4",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "devlop",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex-xs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "^8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-standard",
            "direct": false,
            "version": "^17.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import",
            "direct": false,
            "version": "^2.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-n",
            "direct": false,
            "version": "^16.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-node",
            "direct": false,
            "version": "^11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-promise",
            "direct": false,
            "version": "^6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "^9.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "focus-trap",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-html",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-void-elements",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-what",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "mark.js",
            "direct": false,
            "version": "8.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": false,
            "version": "^11.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "minisearch",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-to-es",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "preact",
            "direct": false,
            "version": "10.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "prisma",
            "direct": false,
            "version": "6.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "prisma",
            "direct": false,
            "version": "^6.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "regex-recursion",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "regex-utilities",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "sass",
            "direct": false,
            "version": "^1.71.1",
            "ecosystem": "npm"
          },
          {
            "name": "search-insights",
            "direct": false,
            "version": "2.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "shiki",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "speakingurl",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-entities",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "tabbable",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-fonts",
            "direct": false,
            "version": "^1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-vue-components",
            "direct": false,
            "version": "^0.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-vue-router",
            "direct": false,
            "version": "^0.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vuetify",
            "direct": false,
            "version": "^2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "^1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue-router",
            "direct": false,
            "version": "^4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 322,
        "direct_count": 61,
        "indirect_count": 261
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1,
        "merged_prs": 81,
        "open_issues": 3,
        "closed_ratio": 0.936,
        "closed_issues": 44,
        "closed_unmerged_prs": 10
      },
      "bus_factor": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "RockChinQ",
          "commits": 346,
          "avatar_url": "https://avatars.githubusercontent.com/u/45992437?v=4"
        },
        {
          "type": "User",
          "login": "MrWoods1692",
          "commits": 88,
          "avatar_url": "https://avatars.githubusercontent.com/u/174796035?v=4"
        },
        {
          "type": "User",
          "login": "fhzit",
          "commits": 86,
          "avatar_url": "https://avatars.githubusercontent.com/u/152045732?v=4"
        },
        {
          "type": "User",
          "login": "Soulter",
          "commits": 37,
          "avatar_url": "https://avatars.githubusercontent.com/u/37870767?v=4"
        },
        {
          "type": "User",
          "login": "dadachann",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/185672915?v=4"
        },
        {
          "type": "User",
          "login": "rocksclawbot",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/267575072?v=4"
        },
        {
          "type": "Bot",
          "login": "dependabot[bot]",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4"
        },
        {
          "type": "User",
          "login": "cuteyuchen",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/53141871?v=4"
        },
        {
          "type": "User",
          "login": "haohaoxuedili",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/219362442?v=4"
        },
        {
          "type": "Bot",
          "login": "Copilot",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/in/1143301?v=4"
        }
      ],
      "contributors_sampled": 12,
      "top_contributor_share": 0.581
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "docker-image.yml",
        "pr-lint.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "package-lock.json"
      ],
      "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": "8 out of 8 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": 0,
            "reason": "Found 2/29 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 11 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 10 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "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": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "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": 0,
            "reason": "52 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "c4f49db87d5c8467a4d3ecce9028355635e418a9",
        "ran_at": "2026-07-21T00:43:26Z",
        "aggregate_score": 4.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/idoknow/Campux",
    "host": "github.com",
    "name": "Campux",
    "owner": "idoknow"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 67,
      "inputs": {
        "security": 47,
        "vitality": 75,
        "community": 58,
        "governance": 59,
        "engineering": 94
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 75,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "commits_last_year": 405,
              "human_commit_share": null,
              "days_since_last_push": 1,
              "active_weeks_last_year": 14
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "14/52 weeks with commits",
                "points": 9.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 14
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "405 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 405
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 10 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "releases_count": 5,
              "latest_release_tag": "v2.1.1",
              "releases_from_tags": false,
              "days_since_latest_release": 10,
              "mean_days_between_releases": 168.9
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "5 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 10 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~168.9 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 168.9
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "no_commit_sample",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 58,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 47,
            "inputs": {
              "forks": 15,
              "stars": 153,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "153 stars",
                "points": 35.4,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 153
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "15 forks",
                "points": 9.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 59,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 42,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 12,
              "top_contributor_share": 0.581
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 58% of commits",
                "points": 9.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 58
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "12 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 11 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "merged_prs": 81,
              "open_issues": 3,
              "closed_issues": 44,
              "issue_closed_ratio": 0.936,
              "closed_unmerged_prs": 10
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "94% of issues closed",
                "points": 43.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 94
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "81/91 decided PRs merged",
                "points": 34,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 81,
                      "decided": 91
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 2/29 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 59,
            "inputs": {
              "followers": 11,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "idoknow",
              "public_repos": 29,
              "account_age_days": 1863
            },
            "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": "11 followers of idoknow",
                "points": 7.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 11,
                      "login": "idoknow"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "29 public repos, account ~5 yr old",
                "points": 21,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 29
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 5
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "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": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "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": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "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": "8 out of 8 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": [
                "qq",
                "qzone"
              ],
              "has_wiki": true,
              "homepage": "https://campux.top",
              "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://campux.top",
                "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": "2 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 47,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.6
            },
            "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": "8 out of 8 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": "Found 2/29 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 11 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 10 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "52 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 254 resolved dependencies against OSV; 68 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 254
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 68
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 51,
            "inputs": {
              "source": "osv",
              "advisories": 38,
              "affected_packages": 5,
              "assessed_packages": 254,
              "unassessed_packages": 68,
              "affected_by_severity": "critical 1, moderate 2, unknown 2",
              "direct_affected_packages": 3
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "3 affected: golang.org/x/crypto v0.45.0 (critical 10.0), go.mongodb.org/mongo-driver v1.14.0 (moderate 6.5), github.com/redis/go-redis/v9 v9.5.5 (unknown)",
                "points": 5.7,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 3,
                      "packages": "golang.org/x/crypto v0.45.0 (critical 10.0), go.mongodb.org/mongo-driver v1.14.0 (moderate 6.5), github.com/redis/go-redis/v9 v9.5.5 (unknown)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 481 days ago",
                "points": 32.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 2,
                      "oldest": 481
                    }
                  }
                ],
                "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": 254,
              "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"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 14
            },
            "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": "good",
        "name": "AI Readiness",
        "value": 75,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": "Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "legible_commit_history"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 75,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": null,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 6612
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md"
                    }
                  }
                ],
                "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": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): Demonstrated agent practice, Automated maintenance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "demonstrated_agent_practice",
                    "automated_maintenance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 66,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum",
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "apps/dash/tsconfig.json",
                "apps/server/tsconfig.json",
                "apps/web/tsconfig.json",
                "legacy/frontend/jsconfig.json"
              ],
              "agent_commit_share": null,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": null
            },
            "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": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "apps/dash/tsconfig.json, apps/server/tsconfig.json, apps/web/tsconfig.json, legacy/frontend/jsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "apps/dash/tsconfig.json, apps/server/tsconfig.json, apps/web/tsconfig.json, legacy/frontend/jsconfig.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 data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 1309171,
              "source_files_sampled": 283,
              "oversized_source_files": 7
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "7/283 source files over 60KB",
                "points": 53.6,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 283,
                      "oversized": 7
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "go package 'github.com/RockChinQ/Campux' points at a different repository (https://github.com/RockChinQ/Campux); excluded from ecosystem scoring",
    "Could not fetch npm package 'campux-frontend' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T00:43:41.042877Z",
  "schema_version": "0.16.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/i/idoknow/Campux.svg",
  "full_name": "idoknow/Campux",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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.13.0, schema v0.16.0 — full methodology · metrics wiki.

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