Repository navigation
Releases
Releases · supercli-site/scorecard
2.5.0 — 报告页视觉升级:提饱和、加立体、动起来
变更
-
整体提饱和 + 立体感 + 渐变动效,让报告「动起来」
色板从莫兰迪灰调换成高饱和晴空蓝 / 翠绿 / 琥珀 / 珊瑚红,对比度不降反升:
accent#58a6ffon#0d1117= 7.49:1(旧雾蓝灰 6.03:1),分数四档 6.63~9.84:1 全部远超 AA 4.5。- 立体感:雷达填充改径向渐变(中心亮、边缘融入底色)+ 光晕;大分数改档位色渐变字 + 同色光晕,成为报告第一视觉焦点;维度条改同色渐变发光条;卡片加顶部内高光、品牌色环境光晕与更深的投影。
- 动效(纯 CSS,尊重
prefers-reduced-motion):报告入场时雷达从中心缩放浮现、分数上浮、条形从 0 生长;及格线与同类中位两条虚线缓慢流动(蚂蚁线,30 秒一循环,不抢数据的戏);卡片顶部渐变条光来回流动。
2.4.0 — 报告页布局重构,雷达画出同类基准
变更
- 报告页布局重构 —— 维度条原来挤在左窄列(76px 1fr 30px),而右下一整格空着。现在维度条跨两列,标签 / 进度条 / 数字都松快,右下的空白一并消失。
- 雷达图加两条参考线 —— 维度条已经给了精确读数,雷达再画一遍就是浪费;给它基准线,它才回答「我在同类里处于什么位置」:
- 6 分及格线(黄虚线):判据里的分档线,不依赖样本,永远可靠 —— 低于它的维度就是不及格。
- 同类中位(绿虚线,逐维中位):来自 audits 表的真实体检记录,新增
/api/scorecard/baseline?type=<项目类型>。样本 n<8 不画,n 照实标在图例上。 - 雷达放大到 300px,维度标签直接带分数,新增图例。
- 维度条进度条上标出 6 分刻度。
修复
- 清掉死代码:媒体查询里的
.sc-radar-wrap { display: none }被后面的基础规则覆盖,一直没生效过。
2.3.0 — 分享卡画真雷达,线上构建链修好
修复
- 分享卡的雷达改成真数据 —— 原
radarPolygon(score)只吃总分,用sin()造了一圈抖动的点,还画 8 轴(报告实际 9 维)。分享卡是本项目对外传播的主载体,而卖点恰恰是「证据制、不猜分」—— 分享一张编出来的雷达,等于在最重要的环节放弃立身之本。现在从audits.dims取真实维度分:9 轴真形状、每维标签带分数、只画有分的维度,另加一行核实口径「已核实 N/M 维 · 最弱:X n」。 - 线上分享卡不再是空白图 —— 服务器没装 SVG 转码器,一直走 SVG 兜底,而主流平台抓取器不渲染 SVG。已装
librsvg2-bin,现在稳定返回 PNG(1200×630 / 114 KB / 0.07 秒出图)。 - 线上前端停在两周前的版本 —— 根因是构建在服务器上一直失败:
@vue/compiler-core@3.5.44要entities@^7,依赖提升可能把 v8 放到顶层(v8 删了decode.fromCodePoint)→ 构建报错。本机 bun 1.4.0 会自动嵌套装 v7 所以没事,线上机 bun 1.3.14 不嵌套。已显式钉住entities@^7.0.1(任何 bun 版本都能构建),并把线上 bun 升到 1.4.4。 - 补
scripts/deploy.sh——dist/不进 git,git pull不会更新线上前端(曾出现线上前端停在两周前、后端却已更新的静默不一致),把 build 纳入部署流程。
视觉细节
/10不再压住大分数(改用 tspan 让渲染器排版)⭐→★(服务器字体没有 emoji 字形,会渲染成空白)- stars 复数(
1 star) - 大分数不用等宽字体(等宽里小数点占满一格,「8.4」看着像「8 . 4」三个字符)
v2.2.0 — GitHub 个人首页质检(第五路入口)
新增
feat(profile)— GitHub 个人首页质检(第五路入口,7 维):把github.com/<user>
当一份简历测 —— ① 身份门面(name / bio / company / location / hireable)
② 首页自述(<u>/<u>仓库的 profile README 在不在、结构撑不撑得起简历;
组织账号走.github/profile/README.md)③ 可视化(stats 卡 / streak /
技能图标 / trophy / 活跃曲线 / 贪吃蛇 / 访客计数,按 README 源码的服务特征判)
④ 活跃度(贡献图 / streak / 最近 push / 公共事件)⑤ 作品集(原创仓库 / 总 star /
代表作 / fork 占比 / 语言广度)⑥ 影响力(followers / 被 fork / 跨仓库协作 PR)
⑦ 链接触达(blog 配置与可达 / README 外链 / email / twitter)。
动机:GitHub 首页正在变成开发者的简历,而个人主页与仓库的判据完全不同 ——
拿九维去评一个人会系统性失真,所以独立成路。数据面全公开可读:贡献图从
github.com/users/<u>/contributions抓取(个人主页 HTML 已改客户端渲染,
登录态外没有日历),置顶仓库从主页 HTML 的 pinned 区块抓取,抓不到按
unverifiable 剔除不扣分。入口:?type=profile&user=<login>(@user/
github.com/<user>都收,缓存 key 归一成裸 login)、CLIscorecard @webkubor、
网页端输入@用户名。compare 支持 profile vs profile。附 mock 网络层回归测试。
变更
chore(deps)— 前端工具链整链升到当前最新:vite 5.4 → 8.3(依赖管线底层
换代为 rolldown,esbuild 退出依赖树)、@vitejs/plugin-vue 5 → 6、vue 3.4 →
3.5.44、hono → 4.13.14。前置排查确认无阻碍:vite-plugin-refresh-guard peer
范围vite >=4 <10、plugin-vue 6 官方支持 vite 8。构建产物 gzip 52.16 → 50.87 KB,
60 个测试全过,dev 代理链路(/api、SFC 编译)实测正常。
2.1.0 — 引擎错误可见性 + GHAM 快速质检直连
变更
- feat(api) —
/api/*加 CORS 白名单(SCORECARD_CORS_ORIGINS可配):GHAM 项目详情页的「快速质检」直连本服务,白名单收紧到具体域名,非名单来源不回 Allow-Origin 头。附白名单/预检回归测试。
修复
- fix(api) — 引擎错误线上只见「error code: 502」,真实原因被 Cloudflare 吞掉。引擎报错(仓库不存在 / npm 包不存在 / 网页打不开 / GitHub 限流 / 上游超时)一律回 502,而部署在 Cloudflare Tunnel 后面,代理会把 502 响应体整个换成自己的错误页。改为各引擎在错误现场带
errorStatus(404 = 目标不存在,429 = 被上游限流,400 = 请求问题,503 = 上游故障),API 原样采用,绝不出 502/504;getOrAudit同时收住引擎抛出的网络层异常。附 mock 网络层回归测试。
全量:50 测试全绿;两处改动均已部署到线上并公网实测。
Scorecard 2.0.0 — 从「打分」到「体检」
首个正式版本。
2.0 的四件事都指向同一句:让这个工具能被用完、能被验证、能被 agent 直接用。
· 场景化入口 —— 先说「你干嘛」,再说输入框
· 复检对照 —— 改完再跑一次,看得见变了没有
· Agent skill 一行可取 —— /skill.md,与网页端判据同源
· 分享卡修成 PNG —— 原来的 SVG 分享出去是空白图
修掉的真 bug:九维明细「进得去出不来」(Vue 把 :open 写回,用户收起被覆盖)。
一个立场:读不到的判据不算项目错 —— 从分母剔除、标「无法核实」,不记 0 分。
所以公开仓库跑出来的总分可以低于真实水平,但绝不会高于。
自测:用 scorecard 测 scorecard,6.5 → 8.2。