公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-23 12:20 UTC

jonathan-fielding / html5-boilerplate

starting html/css template. so much goodness baked in by default

CSSMIT★ 1 星标⑂ 0 复刻始于 2011年7月复刻在 GitHub 上查看 ↗

jonathan-fielding/html5-boilerplate 的健康指数为 100 分中的 26 分,处于「危急」区间。 其得分最高的类别是Sustainability & Governance(69/100),最低的是Community & Adoption(12/100)。 最近一次更新在 4539 天前。 近期的大部分工作由 2 位贡献者完成。

26
总分 / 100
危急

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

26
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

Abandonment Policy applies a 85% multiplier to weighted overall health.

所有权

Jonathan Fielding个人账户
82 关注者171 个公开仓库始于 2011年2月

该仓库由个人账户拥有。相较于组织支持的项目,单一所有者项目的延续性风险更高。

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

13危急 · 占总体的 22%
评分方式
0/36推送新近度 — 最近一次推送于 4,539 天前
0/36提交节奏 — 52 周中有 0 周有提交
0/18提交量 — 最近一年 0 次提交
0/10OpenSSF Scorecard:Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
所用输入
commits_last_year0
human_commit_share1
days_since_last_push4,539
active_weeks_last_year0

发布纪律

32存在风险
评分方式
16.2/27有发布版本 — 5 个版本标签(无 GitHub 发布版本)
0/36发布时效 — 最近一次发布版本于 5,076 天前
12.6/27发布节奏 — 约每 186.6 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count5
latest_release_tagv4.0.0
releases_from_tags
days_since_latest_release5,076
mean_days_between_releases186.6
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

12危急 · 占总体的 18%
评分方式
0/60星标 — 1 个星标
0/25复刻 — 0 个复刻
0/15关注者 — 1 位关注者
所用输入
forks0
stars1
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

25危急
评分方式
0/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
0/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

69中等 · 占总体的 24%
评分方式
25.2/54巴士系数 — 2 位贡献者贡献了半数提交
13/22.5提交分布 — 头号贡献者编写了 42% 的提交
13.5/13.5贡献者广度 — 100 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 58 contributing companies or organizations
所用输入
bus_factor2
contributors_sampled100
top_contributor_share0.423
评分方式
0/46.8议题解决 — 没有议题或无数据
38.2/38.3PR 接受 — 已裁定的 PR 中 1/1 已合并
7.5/15OpenSSF Scorecard:Code-Review — Found 1/2 approved changesets -- score normalized to 5
所用输入
merged_prs1
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
已排除计分(无数据或不适用):议题解决。 其余权重已重新归一化。
评分方式
10/30所有权背书 — 个人(用户)账户
0/20已验证域名 — 不适用于个人账户
13.8/25所有者影响力 — jonathan-fielding 有 82 位关注者
25/25既往记录 — 171 个公开仓库,账户约 15 年
所用输入
followers82
owner_typeUser
is_verified
owner_loginjonathan-fielding
public_repos171
account_age_days5,630
已排除计分(无数据或不适用):已验证域名。 其余权重已重新归一化。

工程质量

基础的工程与文档实践是否到位?

21危急 · 占总体的 20%
评分方式
0/24CI 工作流
0/24存在测试
0/16Linter 配置
0/9.6Pre-commit 钩子
0/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

50中等
评分方式
0/30README
25/25文档目录
15/15文档 / 主页站点 — http://html5boilerplate.com
0/10仓库描述
0/10主题标签
10/10Wiki
所用输入
topics
has_wiki
homepagehttp://html5boilerplate.com
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

34存在风险 · 占总体的 16%

安全态势

34存在风险
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3.8/7.5Code-Review — Found 1/2 approved changesets -- score normalized to 5
2.5/2.5Contributors — project has 58 contributing companies or organizations
0/10Dangerous-Workflow — 无数据
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — 无数据
0/5Pinned-Dependencies — 无数据
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 — 无数据
0/7.5Token-Permissions — 无数据
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3.4
已排除计分(无数据或不适用):dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions。 其余权重已重新归一化。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

19危急 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
25.1/40可读的提交历史 — 100 次人类提交中有 47 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.47
agent_instruction_files
agent_instruction_max_bytes
评分方式
0/18一条命令的引导启动
0/22自动化测试
0/11Lint / 格式化配置
0/11静态类型检查
0/10可复现环境
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
0/8自动化维护 — 未观察到自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — 无数据
所用输入
has_nix
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
已排除计分(无数据或不适用):OpenSSF Scorecard:Pinned-Dependencies。 其余权重已重新归一化。
评分方式
0/45可类型检查的代码 — CSS,未配置类型检查
55/55可控的文件大小 — 采样的 2 个源文件中有 0 个超过 60KB
所用输入
primary_languageCSS
largest_source_bytes733
source_files_sampled2
oversized_source_files0

关键数据

1GitHub 星标
100贡献者
0最近 12 个月提交数
4,539距最近推送天数
5发布版本数
2巴士系数(bus factor)
0开放议题
软件包生态系统数

数据采集警告

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Community profile unavailable
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

更多细节

OpenSSF Scorecard 3.4 / 10
3.4综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-23 12:20 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
5Code-ReviewFound 1/2 approved changesets -- score normalized to 5
10Contributorsproject has 58 contributing companies or organizations
不适用Dangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
不适用Packagingpackaging workflow not detected
不适用Pinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
不适用Token-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
全部依赖 未采集

本报告未能采集到解析后的依赖集合:GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": true,
      "size_kb": 12495,
      "has_wiki": true,
      "homepage": "http://html5boilerplate.com",
      "languages": {
        "CSS": 13019,
        "JavaScript": 734
      },
      "pushed_at": "2014-02-16T18:53:20Z",
      "created_at": "2011-07-06T10:44:41Z",
      "owner_type": "User",
      "updated_at": "2023-12-11T06:38:33Z",
      "description": "starting html/css template. so much goodness baked in by default ",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "CSS",
      "significant_languages": [
        "CSS"
      ]
    },
    "owner": {
      "blog": "https://www.jonathanfielding.com/",
      "name": "Jonathan Fielding",
      "type": "User",
      "login": "jonathan-fielding",
      "company": null,
      "location": "London",
      "followers": 82,
      "avatar_url": "https://avatars.githubusercontent.com/u/630034?v=4",
      "created_at": "2011-02-21T14:49:19Z",
      "is_verified": null,
      "public_repos": 171,
      "account_age_days": 5630
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2012-08-28T22:41:15Z"
        },
        {
          "tag": "v3.0.2",
          "kind": "patch",
          "published_at": "2012-02-19T19:00:08Z"
        },
        {
          "tag": "v3.0.1",
          "kind": "patch",
          "published_at": "2012-02-08T02:28:52Z"
        },
        {
          "tag": "v0.9.5",
          "kind": "patch",
          "published_at": "2010-10-26T05:21:28Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2010-08-13T17:24:14Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "edf278cf3f89a8ec2b7e1f1e26d19201204fccdf",
          "body": "Upstream changes",
          "is_bot": false,
          "headline": "Merge pull request #1 from h5bp/master",
          "author_name": "Jonathan Fielding",
          "author_login": "jonathan-fielding",
          "committed_at": "2014-02-16T18:53:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f73bb1f614d44967db61733b36f2e6244f589d15",
          "body": null,
          "is_bot": false,
          "headline": "Update to Apache Server Configs 2.2.0",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-02-03T09:16:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab0a9ea391d6cdfd7cbc12a863b500ebb22729d8",
          "body": "Change code indentation in `normalize.css` from 2 to 4 spaces. This\nis done in order to be consistent with the indentation used in the\nother files.",
          "is_bot": false,
          "headline": "Make consistency changes",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-02-01T10:33:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cacfa080502fb5b3a4ae3feb16d1490ec0354fd6",
          "body": "Inform users that, if they use separate URLs for desktop and mobile\nusers, they should consider helping search engine algorithms better\nunderstand the configuration on their web site.\n\nSee also:\n\n * https://developers.google.com/webmasters/smartphone-sites/details#separateurls\n * https://developers.google.com/webmasters/smartphone-sites/feature-phones\n\nClose #1504.",
          "is_bot": false,
          "headline": "Docs: Add `Separate mobile URLs` subsection",
          "author_name": "Abhinay Rathore",
          "author_login": "abhinayrathore",
          "committed_at": "2014-02-01T10:16:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e70ee31d2b56f9cc501a1f9ffae90da48b399e8d",
          "body": "Close #1499.",
          "is_bot": false,
          "headline": "Update to jQuery 1.11.0",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-29T20:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "185b730edd7b18f1cdc69bd98f5e41cff48a5c01",
          "body": null,
          "is_bot": false,
          "headline": "Update `CHANGELOG.md`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-29T20:44:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c216951d4323a49d8cc0b8eb9e271cea5caf7e5",
          "body": null,
          "is_bot": false,
          "headline": "Update to Normalize.css 3.0.0",
          "author_name": "Nicolas Gallagher",
          "author_login": null,
          "committed_at": "2014-01-28T22:40:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5d58728e19102cbd2be07a4436e4a67e01c6722",
          "body": "  before:         1226 B\n  after:          1076 B\n  ──────────────────────\n  reduction:      -150 B [-12.23%]",
          "is_bot": false,
          "headline": "Further optimize `apple-touch-icon-precomposed`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-27T20:36:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e5f438e1ea0d7e39179ba5cf799a8d326ba7cc3",
          "body": "The addition of `Disallow:` is made in order to be compliant with:\n\n  * the `robots.txt` specification (http://www.robotstxt.org/), which\n    specifies that: \"At least one Disallow field needs to be present\n    in a record\"\n  * what is suggested in the documentation of most of the major search\n    e\n[…]\n updates the URL to `www.robotstxt.org`, as `robotstxt.org` doesn't\n    quite work:\n\n      curl -LsS robotstxt.org\n      curl: (7) Failed connect to robotstxt.org:80; Operation timed out\n\nClose #1487.",
          "is_bot": false,
          "headline": "Add `Disallow:` to `robots.txt`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-15T20:14:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a20a3c76d541d40ffb75a8f02c8c0f7b05773e51",
          "body": "Close #1492.",
          "is_bot": false,
          "headline": "Combine the `html` selectors into one rule",
          "author_name": "David Alexander",
          "author_login": "TheLonelyGhost",
          "committed_at": "2014-01-14T21:36:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76d3021d194caf9004d73d1b5ce9013882b775e0",
          "body": "* Add note about `precomposed` not being required anymore, as starting\n  with iOS 7, no special effects are applied to the touch icons.\n\n* Add missing touch icon sizes.\n\nClose #1488",
          "is_bot": false,
          "headline": "Docs: Update the `Apple Touch Icons` section",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-10T19:15:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a041711372717651c0a1e486b45483f5bc6f2c8",
          "body": null,
          "is_bot": false,
          "headline": "Update to Apache Server Configs v2.1.0",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-07T08:32:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3da500d5e591c7b38addd3d7e3bc5e7d57ca49d7",
          "body": "* Link to a more official page for the information regarding Internet\n  Explorer's \"friendly HTTP error pages\", namely:\n  http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx.\n\n* Remove the indentation for the `<head>` and `<body>` tags in order\n  to redu\n[…]\n             829 B [58.8%]\n\n  - after:\n\n     original size:         1242 B\n     gzipped size:           580 B\n     ─────────────────────────────\n     reduction:              662 B [53.3%]\n\nRef: #1443.",
          "is_bot": false,
          "headline": "Update `404.html`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2014-01-07T08:28:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c4df2aa073a4f791e54d4eede91e3bfbb8ee233",
          "body": "Specifying a default foreground color for the form elements can be\nproblematic when users (often with visual impairments) use a darker\nOS/browser theme. Also, the color set on the form elements is quite\nopinionated, so developers tend to change it anyway.\n\nRef: #1390.\nClose: #1390.",
          "is_bot": false,
          "headline": "Remove default foreground color from form elements",
          "author_name": "timmytofu",
          "author_login": "timmytofu",
          "committed_at": "2013-12-29T19:18:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a557ea0513fbfccbba97cd9795f0bc86ffe501a8",
          "body": "\"Add to Homescreen\" feature in Chrome Mobile\n\nCloses #1441.",
          "is_bot": false,
          "headline": "Docs: Add note about Chrome Mobile web apps",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-12-26T12:42:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57be193031b95b003b96efe9eba7a4db7f58f4e1",
          "body": "Providing a default value (such as `5cm`) for the print margins is\nproblematic because:\n\n 1) in some browsers, it prevents users from customizing the browser\n    print settings\n 2) in some contexts (browser/os/printer), the value may be too:\n    * small, and the margins may collide with all the diff\n[…]\not specify a value at all, and just let them handle\nthis themselves.\n\nSee also:\n\n * http://www.w3.org/TR/css3-page/#at-page-rule\n * https://developer.mozilla.org/en-US/docs/Web/CSS/@page\n\nClose #1477.",
          "is_bot": false,
          "headline": "Remove default margin from print styles",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-12-25T00:10:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "34c7fbde7476a54a4739f530e35faa7e1953ff57",
          "body": "* Include missing references.\n* Improve consistency.\n* Wrap text at 80 characters.",
          "is_bot": false,
          "headline": "Update `CHANGELOG.md`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-12-23T09:47:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4a2cbfcadff23ec02cb6afdf7a95bf0ad602dd1",
          "body": "Ref: #1485.\nClose: #1485.",
          "is_bot": false,
          "headline": "Docs: Add note about iOS 7.1 `minimal-ui` property",
          "author_name": "Connor McSheffrey",
          "author_login": "mcsheffrey",
          "committed_at": "2013-12-20T11:13:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df2306766e245c1892d3ac600f28e8be5318471c",
          "body": "* Wrap text at 80 characters.\n* Rephrase content from the `Apple Touch Icons` section to limit subject\n  to only `apple-touch-icon`s (ref: #1486).\n* Other improvements.",
          "is_bot": false,
          "headline": "Docs: Make minor improvements in `extend.md`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-12-20T10:56:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15b5cb1b5c13c9e684e8ca4ddddab7bfc033a83e",
          "body": "We don't set a default `lang` attribute on `<html>` due to the\ndiscussion in #1110. This commit adds a note about how to set it.\n\nClose #1483.",
          "is_bot": false,
          "headline": "Docs: Add comment about `lang` attribute on <html>",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-12-20T10:05:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d592953e7ab0a96a696f8fca91f68451c39cb14d",
          "body": "In extend.md, which is linked as source for 'more details' on the\ntouch-icons and favicon, this commit clarifies that by default two\nicons are enough if one doesn't want to use art-direction.",
          "is_bot": false,
          "headline": "Clarify the default of only 2 icons",
          "author_name": "Anselm Hannemann",
          "author_login": "anselmh",
          "committed_at": "2013-12-19T21:47:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49e4569d02d2ffe69123796d46905093da969b75",
          "body": null,
          "is_bot": false,
          "headline": "Docs: Add anchor for MDN link to meta charset",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-12-15T21:03:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24420747fdbc06f02a3175d7157ca0e0f8b666cd",
          "body": null,
          "is_bot": false,
          "headline": "Docs: Update MDN link paths",
          "author_name": "David Walsh",
          "author_login": "darkwing",
          "committed_at": "2013-12-15T21:00:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec49630374cf567fed4cee3312a5d0673da4999d",
          "body": "Close #1480.",
          "is_bot": false,
          "headline": "README.md: Add link to the list of releases",
          "author_name": "Felix",
          "author_login": "fliiiix",
          "committed_at": "2013-12-11T22:01:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fab0f9990239ac5aa17a2fc7f442eaac2fcc3f9",
          "body": null,
          "is_bot": false,
          "headline": "Update `.htaccess` file",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-12-11T21:50:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73ea9a5e683fa874d6eefc5940ca3dbbc77825e3",
          "body": null,
          "is_bot": false,
          "headline": "Update Modernizr to v2.7.1",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-12-03T09:31:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbffd2322d37f920825629c385f905a05d141061",
          "body": "* Update various links.\n* Remove link to the `Node build script` repository as the project is no\n  longer maintained.\n* Better organize the information provided in `extend.md` by rearranging\n  the sections alphabetically by title, and including a table of content\n  for faster navigation.",
          "is_bot": false,
          "headline": "Docs: Update links and reorganize `extend.md`",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-11-19T14:22:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca1ced9654c70c43502945eca8af1be4c395ab57",
          "body": "* Replace links to the Apache Server Configs `doc`\n  directory, as it no longer exists:\n  https://github.com/h5bp/server-configs-apache/commit/4f778c4a22da91721bc37c2eb10989b902ac4429.\n\n* Provide missing links under the `X-UA-Compatible`\n  section in the `html.md` file.",
          "is_bot": false,
          "headline": "Docs: Update server configs links",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-11-19T08:56:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1a8e914be01a56b7ada4aaf1113ed9b6dc68559",
          "body": "This class was removed because it doesn't provide enough use\ncases within modern web development. Cases are mostly handled\nindiviually by developers.\n\nReference #1472.\nCloses #1475.",
          "is_bot": false,
          "headline": "Remove image replacement helper class `.ir`",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-11-18T22:39:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94c3540ce6b4993b3cc728f41fef7b4cb8f18e55",
          "body": null,
          "is_bot": false,
          "headline": "Update to Modernizr 2.7.0",
          "author_name": "Rob Larsen",
          "author_login": "roblarsen",
          "committed_at": "2013-11-18T08:01:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96d7c99762a0b1a61515cf17b2f172af8fa6674d",
          "body": null,
          "is_bot": false,
          "headline": "Update to Apache Server Configs v2.0.0",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-11-12T11:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e039cf427584435aa8162c4a38533706044c73ba",
          "body": null,
          "is_bot": false,
          "headline": "Remove phrase about IE conditional classes",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-11-12T11:30:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87274cb18123698acdb184ffd2a5fbb875dbbb81",
          "body": null,
          "is_bot": false,
          "headline": "Fix typo in doc/css.md",
          "author_name": "Jeffrey Godwyll",
          "author_login": "jeffgodwyll",
          "committed_at": "2013-11-04T00:13:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f91469e7f4784376fb7752ba0dcb8a9387d9ad7",
          "body": "Close #1459.",
          "is_bot": false,
          "headline": "Fix typo in header of doc/html.md (promt → prompt)",
          "author_name": "Joseph Jaber",
          "author_login": null,
          "committed_at": "2013-11-01T08:51:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e090e0db592a213b18c85d6e8e663ce650143cb",
          "body": "Close #1050.",
          "is_bot": false,
          "headline": "Add note about legacy browser support in v4",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-10-21T18:37:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc752d7952bef4b8ac9e3d7c6844a23fdaf30aba",
          "body": "The snippet provided in the docs about how to prevent the Skype\nplugin from formatting numbers on a web pages is outdated and no\nlonger works.\n\nNowadays, the Skype plugin makes it more difficult to overwrite\nits injected styles (class names include timestamps, e.g.:\n`skype_pnh_print_container_1381964168`, `!important` is used, etc.).\n\nProviding a solution for this use case isn't viable. Also, users\nthat install such a plugin usually expect the behavior.\n\nClose #1454.",
          "is_bot": false,
          "headline": "Docs: Remove outdated info on Skype highlighting",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-10-17T15:21:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8565264a4d58df32fa9938e0f57e96b706c1e261",
          "body": "Remove gap between the `svg` elements and the bottom of their containers\nby vertically centering them.\n\nRef #1326.\nClose #1453.",
          "is_bot": false,
          "headline": "Add vertical centering for `svg`",
          "author_name": "Benoît Chantre",
          "author_login": "benoitchantre",
          "committed_at": "2013-10-15T21:10:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "782aefab7ea7ae57d30b237be5823298c053136d",
          "body": "Changes:\n\n* simplify the overall design\n* remove the Google search functionality as in most cases, it does not\n  provide much value\n* reduce the overall file size while keeping the gzipped size over 512\n  bytes to prevent IE from displaying its own custom error page (thanks\n  @mikealmond and @patric\n[…]\nnd-optimizing-favicons)\n* improved performance (less HTTP requests, less memory consumption,\n  faster rendering, etc.)\n* designed to work with all kinds of screen sizes and support IE 6+\n\nClose #1443.",
          "is_bot": false,
          "headline": "Redesign 404 page",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-10-12T19:54:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d10fc8ccecbcfedbc743d7431688562cd6ae47a",
          "body": "Inform users on how to disable the translation prompt in Chrome or\nblock Google Translate from translating a web page or any particular\nsection of the web page.\n\nSee also: https://support.google.com/translate/?hl=en#2641276.\n\nClose: #1440.",
          "is_bot": false,
          "headline": "Docs: Add info about how to block Google Translate",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-10-03T18:29:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f07a80011b695f996bed8a7ff493934376f76009",
          "body": "Close #1438.",
          "is_bot": false,
          "headline": "Fix comment in index.html about apple-touch-icons",
          "author_name": "Oskar S. Jakieła",
          "author_login": "oskarjakiela",
          "committed_at": "2013-09-29T09:04:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18d3a9dd9e5505aaccf9cde64f05d055fbd448e1",
          "body": "Remove content regarding legacy browsers.\n\nRef: #1050.",
          "is_bot": false,
          "headline": "Update documentation and README.md",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-09-29T09:01:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b96191e590fe74b1001d7a879a5a25543b75dc8e",
          "body": "Ref: #1050.",
          "is_bot": false,
          "headline": "Show `outdated browser` prompt to IE 6 and 7 users",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-09-24T17:19:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afaed48700b29fa2ea49e6553f5459e0b6e4185a",
          "body": "Ref: #1050.",
          "is_bot": false,
          "headline": "Remove IE 6/7 hacks from `main.css`",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-09-24T16:30:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7208f1e014314973b65026c34449f4eebc91aa2",
          "body": "Ref: #1050.",
          "is_bot": false,
          "headline": "Update to normalize.css v2.1.3",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-09-24T12:33:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13f17a737a7429bc102fe5f0991313f9f9162da7",
          "body": "The reasons behind this decision include the following:\n\n* This project will drop legacy browser support (see #1050), therefore,\n  the use for conditional classes for IE 8+, becomes much more limited.\n* IE 10+ does not support conditional comments:\n  http://msdn.microsoft.com/en-us/library/ms537512%\n[…]\n It fixes the issue that prevents IE from honouring\n  `<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">` (see: #1187).\n\nThis change also removes the related documentation.\n\nClose #1290 and #1187.",
          "is_bot": false,
          "headline": "Remove IE conditional classes",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-09-24T08:38:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fdbff109c987d9802cf2b44355f8f785bbbeed7c",
          "body": "Currently we don't use Google Chrome Frame anymore as support for\nit will end at the end of the year.\nThis commit removes references to Chrome Frame within the\ndocumentation. It is related to 2cf1ef7.\n\nReference #1433.",
          "is_bot": false,
          "headline": "Remove notes about Google Chrome Frame from docs",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-09-20T14:18:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72cdf1e96c6506c76c51e53abc1f2bd224776649",
          "body": null,
          "is_bot": false,
          "headline": "v4.3.0",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-09-10T19:33:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f033325bac27ea65f5f1367f73c55cb0467d3127",
          "body": "Include all changes that are not yet mentioned in the `CHANGELOG.md`.\nhttps://github.com/h5bp/html5-boilerplate/compare/0adda79fee6ddccc46d0ba427c7e3d7277f39230...d1443410031e06421b70cd2fe39fc784c555e60a",
          "is_bot": false,
          "headline": "Update CHANGELOG",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-09-10T19:24:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1443410031e06421b70cd2fe39fc784c555e60a",
          "body": "Make it easier for people to know what version of the `.htaccess`\nand `main.css` files they are using and under what license these\nare provided, by adding this information within the files.\n\nThis is useful primarily when developers only copy these files from\nthe HTML5 Boilerplate project, forget to update their project's change\nlog or simply do not use anything similar to a change log.\n\nFix h5bp/html5-boilerplate#1424.",
          "is_bot": false,
          "headline": "Add version & license info in .htaccess / main.css",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-09-10T17:24:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71ca9fb7a06bfcd2359c924ca261d41d1dd03e8d",
          "body": "This commit removes five Apple Touch Icons with different sizes for\nthe same icon and adds a new icon `apple-touch-icon-precomposed.png`\nwith a resolution of 152×152px.\nApart from that it adds documentation on how to add more icons if\nyou need them within your project.\nUsing only one Apple Touch Icon saves time and is enough in most\ncases.\n\nCloses #1367.\nCloses #1425.",
          "is_bot": false,
          "headline": "Use one apple-touch-icon instead of six",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-09-04T12:09:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23f5e084e559177b434f702ff6be1d83e66374d3",
          "body": null,
          "is_bot": false,
          "headline": "Update normalize.css to v1.1.3",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-08-30T08:14:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da9528e568388cd7044529f2d3de66515bb3964a",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-08-26T06:58:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab6b2fc4aa83c760dd9fff6ec29eac5c72c271b1",
          "body": null,
          "is_bot": false,
          "headline": "Move font-related base declarations to `html`",
          "author_name": "Rob Wierzbowski",
          "author_login": null,
          "committed_at": "2013-08-26T06:55:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab05d000f80f754764bf91b949de8b19cc11cf3d",
          "body": "Use `zopfli-png` with 1000 iterations, `pngout /r` with various block sizes and deflopt.\n\napple-touch-icon-114x114-precomposed.png | Bin 865 -> 751 bytes\napple-touch-icon-144x144-precomposed.png | Bin 947 -> 939 bytes\napple-touch-icon-57x57-precomposed.png   | Bin 495 -> 450 bytes\napple-touch-icon-7\n[…]\nBin 575 -> 512 bytes\napple-touch-icon-precomposed.png         | Bin 495 -> 450 bytes\napple-touch-icon.png                     | Bin 495 -> 450 bytes\n\nThe total difference is -320 bytes.\n\nCloses #1418.",
          "is_bot": false,
          "headline": "Compress .png files losslessly",
          "author_name": "XhmikosR",
          "author_login": "XhmikosR",
          "committed_at": "2013-08-16T09:20:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8a68443746a6b99b1025c6aef9bfd94a0b50778a",
          "body": "Add column number parameter to the example to reflect the recent changes\nin the specification and in the Chrome and IE 10 implementations.\n\nhttp://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#errorevent\nhttps://code.google.com/p/chromium/issues/detail?id=264197\n\nClose #1417.",
          "is_bot": false,
          "headline": "Docs: Update the `Track JS errors in GA` section",
          "author_name": "Roland Warmerdam",
          "author_login": "Rowno",
          "committed_at": "2013-08-15T10:31:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd981e52f7cb96260f9703002885db154a10ebfb",
          "body": "Reduce the total size of the icons by 172 bytes using zopfli.\n\nClose #1415.",
          "is_bot": false,
          "headline": "Further optimize the apple touch icons",
          "author_name": "Pere Orga",
          "author_login": "pereorga",
          "committed_at": "2013-08-15T06:19:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cf1ef7ceaf034b189b23868dd16d1908059e6fa",
          "body": "Chrome Frame is not supported anymore and we removed the option in\n8fc2650.\nThis commit removes the documentation about Chrome Frame in the\nX-UA-Compatible meta tag docs.\n\nRelated to #1396.",
          "is_bot": false,
          "headline": "Docs: Update section about the X-UA-Compatible meta option",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-08-14T12:30:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5bc2a985c74a1f854f7fc1ee8f8ce4639fe7cd67",
          "body": null,
          "is_bot": false,
          "headline": "Docs: Update `.htaccess` related info and links",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-08-01T16:24:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21c614849afc5b518685b68d81d2b0c8f7971f0a",
          "body": null,
          "is_bot": false,
          "headline": "Update to Apache Server Configs v1.1.0",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-08-01T11:35:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01624d71f58811b3ca93ffca5b680475dcc0382d",
          "body": "* Reflect the recent changes in @necolas's Issue Guidelines:\n  https://github.com/necolas/issue-guidelines.\n* Add note about not opening issues and pull requests regarding the code\n  in the Apache Server Configs, jQuery, Modernizr and Normalize.css.",
          "is_bot": false,
          "headline": "Update CONTRIBUTING.md",
          "author_name": "Cătălin Mariș",
          "author_login": "alrra",
          "committed_at": "2013-08-01T11:23:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be4484add07b66dd5440266f121641137d9f1df7",
          "body": "Reduce the total size of the icons by 1.7KB using ImageAlpha\n(16 colors - no visible difference) and ImageOptim.\n\nClose #1406.",
          "is_bot": false,
          "headline": "Further optimize the apple touch icons",
          "author_name": "Sindre Sorhus",
          "author_login": "sindresorhus",
          "committed_at": "2013-07-21T18:37:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce7c3c5c1595ddc42ca3b961179a0cf85aa714be",
          "body": null,
          "is_bot": false,
          "headline": "Updating jQuery to 1.10.2.",
          "author_name": "bmcustodio",
          "author_login": null,
          "committed_at": "2013-07-03T17:40:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff37dba6bf025a00f58b2bb12f7c6a827e6643c5",
          "body": "iOS 6 fixes the infamous orientation change bug, so a better experience\nis provided by reintroducing `initial-scale=1`.",
          "is_bot": false,
          "headline": "Add `initial-scale=1` to meta viewport",
          "author_name": "Snugug",
          "author_login": "Snugug",
          "committed_at": "2013-06-30T20:45:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8fc26501f4635df92bbbff966d8d6e6064e0e419",
          "body": "See also `Retiring Chrome Frame - developer FAQ`:\nhttps://developers.google.com/chrome/chrome-frame/\n\nClose #1396.",
          "is_bot": false,
          "headline": "Remove Chrome Frame meta tag and HTTP header hints",
          "author_name": "Bommeli",
          "author_login": "FlashJunior",
          "committed_at": "2013-06-26T10:56:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ec546569b80c9efb34a763d194e94bfdf14e06b",
          "body": "Remove the gap between videos, audio and canvas and the bottom of\ntheir containers by vertically centering the tags.\n\nCloses #1326.",
          "is_bot": false,
          "headline": "Add vertical centering for audio-, canvas- and video-tags",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-06-25T19:42:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02713eedd21bbc92f704fbf65ff382e76bf81f2b",
          "body": "As said at http://blog.chromium.org/2013/06/retiring-chrome-frame.html Google Frame was retired/obsolete.\n\nChanged \"chromeframe\" class to \"browsehappy\"",
          "is_bot": false,
          "headline": "Remove Google Frame message",
          "author_name": "Gustavo Rodrigues",
          "author_login": null,
          "committed_at": "2013-06-24T20:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f743702f6846a3fff86da56ea69c1f4e07d161b",
          "body": "Fix: h5bp/html5-boilerplate#1386",
          "is_bot": false,
          "headline": "Docs: update information about `print styles`",
          "author_name": "alrra",
          "author_login": "alrra",
          "committed_at": "2013-06-14T09:03:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48d49e96d6db282eb9686d31ebbc5cbbbdd4d966",
          "body": "This is an optimized version of the official Google Universal Analytics snippet,\nbased on http://mathiasbynens.be/notes/async-analytics-snippet.\nThe only difference is that this version still uses\n`document.getElementsByTagName('script')[0]` instead of `document.scripts[0]`\nfor Firefox < 9 support.\n\n[…]\nByTagName(i)[0];e.src='//www.google-analytics.com/analytics.js';r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));ga('create','UA-XXXX-Y');ga('send','pageview');\n\nCloses #1347 and #1369.",
          "is_bot": false,
          "headline": "Update to Google Universal Analytics",
          "author_name": "Mathias Bynens",
          "author_login": "mathiasbynens",
          "committed_at": "2013-06-03T17:29:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "deec3622132f3c68e74d7a7d6a05534a6bf2650a",
          "body": null,
          "is_bot": false,
          "headline": "Update to jQuery 1.10.1",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-05-31T19:30:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "713abf57a9e8acd06bc7b8c1ecd3547e2ec7bdfe",
          "body": null,
          "is_bot": false,
          "headline": "Update to jQuery 1.10.0",
          "author_name": "bmcustodio",
          "author_login": null,
          "committed_at": "2013-05-30T14:00:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f27c2b7372cbf4cb8d1b02521895f4ed17518450",
          "body": null,
          "is_bot": false,
          "headline": "Update to Normalize.css 1.1.2",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-05-12T11:24:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52f17087f986020280f1dc929fb14842c7d2f0d1",
          "body": "Add several options to improve iOS web apps with meta tags when\nadding a web page to the Home Screen.\n\nCloses #1352.",
          "is_bot": false,
          "headline": "Add documentation for iOS web applications",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-05-10T08:48:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a22a33d4041c479d0962499e853501073811887",
          "body": null,
          "is_bot": false,
          "headline": "Docs: fix broken links",
          "author_name": "alrra",
          "author_login": "alrra",
          "committed_at": "2013-04-12T14:40:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0adda79fee6ddccc46d0ba427c7e3d7277f39230",
          "body": null,
          "is_bot": false,
          "headline": "v4.2.0",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-04-08T02:41:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d94e5061894e2e1b458371d66613137d434ebbeb",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-04-08T02:35:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa7527fb2620db8693dcf5d490ad1b7d01097264",
          "body": "Google now serves all Analytics scripts via SSL also so the protocol\ncheck is no longer necessary.\n\nClose #1319",
          "is_bot": false,
          "headline": "Remove Google Analytics protocol check",
          "author_name": "George Gooding",
          "author_login": "Nettsentrisk",
          "committed_at": "2013-04-08T02:33:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a8e5828af49c041fe70193f4cda9ef3ab94ad97",
          "body": null,
          "is_bot": false,
          "headline": "Update normalize.css to v1.1.1",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-04-08T00:40:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cfbc95cd6b094430ecbb4c44d97dfda9adba852",
          "body": "Remove `htaccess.md` and link to the Apache `README.md` in\nthe `server-configs` repository as the documentation for the\nconfigurations is now officially maintained in that repository.",
          "is_bot": false,
          "headline": "Docs: replace `htaccess.md` with link (fix #1344)",
          "author_name": "alrra",
          "author_login": "alrra",
          "committed_at": "2013-04-01T10:29:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7a4d0685cb6f9622a308c165d9317114d80ccd3",
          "body": "The repo has moved from 'cowboy/grunt' to 'gruntjs/grunt'.",
          "is_bot": false,
          "headline": "Fix Grunt link in docs",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-03-31T00:49:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8b0431c7d57a9670500bb0e1a22dc80d87f8d41",
          "body": "Update the Apache configurations to include the\nlatest changes in the canonical `.htaccess` file.",
          "is_bot": false,
          "headline": "Import latest `.htaccess` configurations",
          "author_name": "alrra",
          "author_login": "alrra",
          "committed_at": "2013-03-30T09:19:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b0f042e06da46af60d7289b21af85bf58bb4978",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-03-05T05:25:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a10460934dfe86a1829f2eff93884238cfbd4c94",
          "body": "Fix 404 widget script URL to be compatible with HTTPS by replacing\n`http://` with `//`. The script hosted by Google is available on both\nprotocols.",
          "is_bot": false,
          "headline": "Fix 404 widget script URL",
          "author_name": "Alfred Xing",
          "author_login": null,
          "committed_at": "2013-03-04T17:00:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b83ce3b1b42157f8c817a62b4d353415e25c3af4",
          "body": null,
          "is_bot": false,
          "headline": "Fixed typo in `main.css`",
          "author_name": "Drew Noakes",
          "author_login": "drewnoakes",
          "committed_at": "2013-02-17T16:05:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c01aa0474dfd1e86081502bd8b3e10c4f743c0ea",
          "body": "Corrected terminology in comment",
          "is_bot": false,
          "headline": "Merge pull request #1313 from impressivewebs/patch-1",
          "author_name": "Nicolas Gallagher",
          "author_login": null,
          "committed_at": "2013-02-16T05:27:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f966781d87842a783d120bf30c1ddfe6da7fa97",
          "body": "Really, really nitpicky change here but ... the comment was referring to the selection rule sets as \"declarations\", which isn't exactly the correct term. See:\r\n\r\nhttp://nimbupani.com/css-vocabulary.html\r\nhttp://www.impressivewebs.com/css-terms-definitions/",
          "is_bot": false,
          "headline": "Corrected terminology in comment",
          "author_name": "Louis Lazaris",
          "author_login": "impressivewebs",
          "committed_at": "2013-02-16T01:58:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4587434f807115d54912e068b4627974531c701",
          "body": "GitHub changed their help page URLs and did not correctly redirect the\nold Pull Request help URL.",
          "is_bot": false,
          "headline": "Fix link to Pull Request help in CONTRIBUTING.md",
          "author_name": "Noah Bass",
          "author_login": null,
          "committed_at": "2013-02-11T01:56:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "522fa645c3354d4b8463eb78e6887f127d871b1f",
          "body": null,
          "is_bot": false,
          "headline": "Added IE10 tap highlight disable & WebKit→IE10 doc",
          "author_name": "brianblakely",
          "author_login": "brianblakely",
          "committed_at": "2013-02-09T10:32:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19c03c4bf059ec8c1792509fda701fada289aefb",
          "body": null,
          "is_bot": false,
          "headline": "Recommend version-specific python server commands",
          "author_name": "Alexander Zonov",
          "author_login": "nulltier",
          "committed_at": "2013-02-09T10:11:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7dae637800cbbb91961cdb3455b5e441bd4e0711",
          "body": null,
          "is_bot": false,
          "headline": "Update jQuery to version 1.9.1",
          "author_name": "Hans Christian Reinl",
          "author_login": "drublic",
          "committed_at": "2013-02-05T08:04:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "922df45999f7b1e708140c27d3369fb89616789e",
          "body": "GitHub recently fixed a problem where relative paths in Markdown files\ndidn't behave as desired.\n\nFix gh-1296",
          "is_bot": false,
          "headline": "Use relative paths in README",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-01-31T03:28:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa9bcbeb5bd8bb667bf232095f001a7272eeffd9",
          "body": null,
          "is_bot": false,
          "headline": "v4.1.0",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-01-21T02:58:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3358e2399cf3ce3c187bd9246f8f168467e44fe",
          "body": null,
          "is_bot": false,
          "headline": "Update to Normalize.css v1.1.0.",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-01-21T01:55:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a7de0b41a2323ee4ad5f5a0747d704b0edec32d",
          "body": null,
          "is_bot": false,
          "headline": "Update to jQuery 1.9.0",
          "author_name": "Kevin Martensson",
          "author_login": "kevva",
          "committed_at": "2013-01-15T10:12:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "964c929ef02710254a83231ec0941f32387b2cef",
          "body": "Reflect some of the recent changes in necolas/issue-guidelines that tidy\nup the language and simplify parts of the guidelines.",
          "is_bot": false,
          "headline": "Improve copy in `CONTRIBUTING.md`",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-01-13T19:56:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9a471bc3ff36c971a09d9999ea5800119df1d08",
          "body": "Normalize.css was missing from the stock humans.txt's technology\ncolophon.",
          "is_bot": false,
          "headline": "Mention Normalize.css in humans.txt",
          "author_name": "Gregory Pakosz",
          "author_login": "gpakosz",
          "committed_at": "2013-01-13T18:24:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29315016dc40a70fc1d6a3a8b6edf92c9b7be0d2",
          "body": null,
          "is_bot": false,
          "headline": "v4.0.3",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-01-13T00:16:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90f99e1587354baa90a1321d584a854cc61efe75",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG",
          "author_name": "Nicolas Gallagher",
          "author_login": "necolas",
          "committed_at": "2013-01-13T00:15:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb9166461b4e23905ca9eddadeafd9895db0629f",
          "body": "HiDPI (32x32px) favicon.ico - Issue #1285",
          "is_bot": false,
          "headline": "Merge pull request #1286 from jonathantneal/issue-1285",
          "author_name": "Jonathan Neal",
          "author_login": null,
          "committed_at": "2013-01-10T01:15:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21702c4198124647d541be635268b16ef7d33c72",
          "body": "32x32-only version. Tested in IE6+, Safari 4+, and the latest Chrome,\nFirefox, and Opera.",
          "is_bot": false,
          "headline": "HiDPI (32x32px) favicon.ico",
          "author_name": "Jonathan Neal",
          "author_login": "jonathantneal",
          "committed_at": "2013-01-10T01:12:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bc8241f517ccad5013ab83d8599e991b7f4a356",
          "body": null,
          "is_bot": false,
          "headline": "Minor amend, closing a missing bracket.",
          "author_name": "Simon Owen Design",
          "author_login": null,
          "committed_at": "2013-01-04T19:43:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 5,
      "commits_last_year": 0,
      "latest_release_at": "2012-08-28T22:41:15Z",
      "latest_release_tag": "v4.0.0",
      "releases_from_tags": true,
      "days_since_last_push": 4539,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 5076,
      "mean_days_between_releases": 186.6
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": null,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 0,
      "stars": 1,
      "watchers": 1,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 733,
      "source_files_sampled": 2,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 1,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "paulirish",
          "commits": 414,
          "avatar_url": "https://avatars.githubusercontent.com/u/39191?v=4"
        },
        {
          "type": "User",
          "login": "necolas",
          "commits": 161,
          "avatar_url": "https://avatars.githubusercontent.com/u/239676?v=4"
        },
        {
          "type": "User",
          "login": "mathiasbynens",
          "commits": 56,
          "avatar_url": "https://avatars.githubusercontent.com/u/81942?v=4"
        },
        {
          "type": "User",
          "login": "alrra",
          "commits": 41,
          "avatar_url": "https://avatars.githubusercontent.com/u/1223565?v=4"
        },
        {
          "type": "User",
          "login": "drublic",
          "commits": 40,
          "avatar_url": "https://avatars.githubusercontent.com/u/502487?v=4"
        },
        {
          "type": "User",
          "login": "chuanxshi",
          "commits": 27,
          "avatar_url": "https://avatars.githubusercontent.com/u/153513?v=4"
        },
        {
          "type": "User",
          "login": "darktable",
          "commits": 20,
          "avatar_url": "https://avatars.githubusercontent.com/u/585604?v=4"
        },
        {
          "type": "User",
          "login": "roblarsen",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/361421?v=4"
        },
        {
          "type": "User",
          "login": "mdonoughe",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/17961?v=4"
        },
        {
          "type": "User",
          "login": "git2samus",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/146392?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.423
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": false,
      "ci_workflows": [],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "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": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
            "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": 5,
            "reason": "Found 1/2 approved changesets -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 58 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no 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": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "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": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "edf278cf3f89a8ec2b7e1f1e26d19201204fccdf",
        "ran_at": "2026-07-23T12:20:02Z",
        "aggregate_score": 3.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [],
      "last_merged_pr_at": "2014-02-16T18:53:20Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/jonathan-fielding/html5-boilerplate",
    "host": "github.com",
    "name": "html5-boilerplate",
    "owner": "jonathan-fielding"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "critical",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 85% multiplier to weighted overall health.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 0,
            "pct": 85
          }
        }
      ],
      "value": 26,
      "inputs": {
        "security": 34,
        "vitality": 13,
        "community": 12,
        "governance": 69,
        "engineering": 21,
        "abandonment_cap": null,
        "abandonment_state": "at_risk",
        "abandonment_multiplier": 85,
        "weighted_overall_before_abandonment": 31,
        "overall_after_abandonment_multiplier": 26
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 13,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 1,
              "days_since_last_push": 4539,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 4539 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 4539
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 32,
            "inputs": {
              "releases_count": 5,
              "latest_release_tag": "v4.0.0",
              "releases_from_tags": true,
              "days_since_latest_release": 5076,
              "mean_days_between_releases": 186.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "5 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5076 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5076
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~186.6 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 186.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "cap": null,
              "state": "at_risk",
              "guards": [
                "no_open_demand"
              ],
              "signals": [
                "release_stall",
                "scorecard_unmaintained"
              ],
              "red_flag": true,
              "multiplier_pct": 85,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": 0,
              "unanswered_open_issues": 0,
              "days_since_last_merged_pr": 4539,
              "days_since_last_human_commit": 4539,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 4539 days; 2 unmet obligation(s): releases stalled, Scorecard reports it unmaintained",
                "points": 85,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_flagged",
                    "params": {
                      "days": 4539,
                      "count": 2,
                      "signals": "releases stalled, Scorecard reports it unmaintained"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "critical",
        "name": "Community & Adoption",
        "value": 12,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 1,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "has_readme": false,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": 69,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 100,
              "top_contributor_share": 0.423
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 42% of commits",
                "points": 13,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 42
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 58 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 86,
            "inputs": {
              "merged_prs": 1,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1/1 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1,
                      "decided": 1
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/2 approved changesets -- score normalized to 5",
                "points": 7.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 61,
            "inputs": {
              "followers": 82,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "jonathan-fielding",
              "public_repos": 171,
              "account_age_days": 5630
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "82 followers of jonathan-fielding",
                "points": 13.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 82,
                      "login": "jonathan-fielding"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "171 public repos, account ~15 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 171
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 15
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "critical",
        "name": "Engineering Quality",
        "value": 21,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "has_ci": false,
              "has_tests": false,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "http://html5boilerplate.com",
              "has_readme": false,
              "has_docs_dir": true,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "http://html5boilerplate.com",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": 34,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 34,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 3.4
            },
            "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": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "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 1/2 approved changesets -- score normalized to 5",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 58 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "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": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "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": 26
            },
            "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": "critical",
        "name": "AI Readiness",
        "value": 19,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.47,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "47 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 25.1,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 47,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "CSS",
              "largest_source_bytes": 733,
              "source_files_sampled": 2,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "CSS without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "CSS"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/2 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 2,
                      "oversized": 0
                    }
                  }
                ],
                "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": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Community profile unavailable",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T12:20:28.745039Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/jonathan-fielding/html5-boilerplate.svg",
  "full_name": "jonathan-fielding/html5-boilerplate",
  "license_state": "standard",
  "license_spdx": "MIT"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计.