Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"fsharp",
"http",
"rest-client",
"http-client",
"rest"
],
"is_fork": false,
"size_kb": 3930,
"has_wiki": true,
"homepage": "https://fsprojects.github.io/FsHttp/",
"languages": {
"C#": 6543,
"F#": 281770,
"Shell": 875
},
"pushed_at": "2026-07-22T07:07:24Z",
"created_at": "2018-08-22T18:53:00Z",
"owner_type": "Organization",
"updated_at": "2026-07-22T07:08:39Z",
"description": "HTTP library for F#",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "master",
"license_spdx_raw": "Apache-2.0",
"primary_language": "F#",
"significant_languages": [
"F#"
]
},
"owner": {
"blog": "http://fsprojects.github.io",
"name": "F# Community Project Incubation Space",
"type": "Organization",
"login": "fsprojects",
"company": null,
"location": "Worldwide",
"followers": 332,
"avatar_url": "https://avatars.githubusercontent.com/u/6001315?v=4",
"created_at": "2013-11-21T13:40:41Z",
"is_verified": null,
"public_repos": 124,
"account_age_days": 4629
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v6.0.0",
"kind": "major",
"published_at": "2021-11-22T22:34:54Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2019-02-17T16:44:46Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2019-02-07T18:03:16Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2019-02-03T13:44:07Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2019-01-23T22:14:29Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2019-01-13T20:16:54Z"
}
],
"recent_commits": [
{
"oid": "cc64673a28108632235cafad471043876cbb9b1d",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' of https://github.com/fsprojects/FsHttp",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2026-07-22T07:07:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a988076c9cab097f1d437d4c66a3b115a395a941",
"body": null,
"is_bot": false,
"headline": "FsHttp Studio",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2026-07-22T07:07:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da0f78e9ccf55e9a20bd9abafd4b6c3f5aeb471e",
"body": "…r-2026-03-8eaa80f895adb4f6\n\n[Repo Assist] perf: reduce allocations and increase stream copy buffer size in Helper.fs",
"is_bot": false,
"headline": "Merge pull request #214 from fsprojects/repo-assist/perf-stream-buffe…",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2026-03-09T14:17:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "312beaeb5ad4dcf8ed9497c59a212a4b0a006ae8",
"body": null,
"is_bot": true,
"headline": "docs: add comment explaining 80KB buffer size matches .NET default",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-09T13:14:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e72c5565df9826cd35344c88061813041da6027",
"body": "…ffer size\n\n- Replace list-based underline creation with String('-', n) constructor\n to eliminate unnecessary list/array allocations in appendSection\n- Increase stream copy buffer from 1024 to 81920 bytes (matching .NET\n default for Stream.CopyToAsync) to improve download throughput\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": true,
"headline": "perf: reduce allocations in appendSection and increase stream copy bu…",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-09T12:57:23Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6d6b85f5ee33163ddfd4cc40ce325470db765eed",
"body": "Add agentic workflow repo-assist",
"is_bot": false,
"headline": "Merge pull request #213 from fsprojects/add-workflow-repo-assist-2555",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2026-03-09T12:42:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23d7f156945974904d590cc4e280864259a3ed9a",
"body": null,
"is_bot": false,
"headline": "Add agentic workflow repo-assist",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2026-03-09T12:42:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "501eeeba6f8a7d1d5b90b7d9809fc9cb25ac52d0",
"body": null,
"is_bot": false,
"headline": "Update .NET setup in build workflow to support multiple versions",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2026-03-02T07:22:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97255d8dadd8602454dc6dd27ffeb16ec29c4f10",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' of https://github.com/fsprojects/FsHttp",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2026-02-28T13:17:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ca0fca2690131a06d9c574cc361de97136ef539",
"body": null,
"is_bot": false,
"headline": "Update SDK and tool versions in configuration files -> llms.txt",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2026-02-28T13:17:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ae5e163f24d741fb6ce0556941395c39f5cfab1",
"body": "Updated README to promote PXL Clock and removed redundant sections.",
"is_bot": false,
"headline": "Revise README for PXL Clock promotion",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2026-02-16T12:25:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8be6fdaf05d84a67d92d07abc0f6440b0cca300e",
"body": "…e notes",
"is_bot": false,
"headline": "Bump version to 15.0.3 and remove PXL Clock promo message from releas…",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-10-03T16:10:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2428371fc848522d01f7e8fe5562696926a1cf64",
"body": "Updated advertisement section for PXL Clock.",
"is_bot": false,
"headline": "Revise advertisement for PXL Clock in FsiInit.fs",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-10-03T15:54:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87feee8ffb5eb3ae5dd567b35724b06ad9986bb7",
"body": "Updated the README to specify the correct namespace for disabling debug logs.",
"is_bot": false,
"headline": "Fix namespace for disabling debug logs in README",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-10-03T15:48:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a98014baad5aa843dacdf4b1d040ed12e205fe3f",
"body": "Added section on FSI/Non-FSI scenarios and disabling debug logs.",
"is_bot": false,
"headline": "Document FSI/Non-FSI scenarios in README",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-10-03T15:46:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88bc21b9a6f54a23cb0b2e86104ac13969a19da4",
"body": null,
"is_bot": false,
"headline": "Rename environment variable for NuGet publish step to improve clarity",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-09-13T07:49:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7ad618b68f200341821a19ce625f9e402c6cc2a",
"body": null,
"is_bot": false,
"headline": "x",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-09-12T12:32:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1b25a6350de56d7c8b6f1a2bda560de17d0d85c",
"body": "…ization",
"is_bot": false,
"headline": "Update PXL Clock promotional message in release notes and FSI initial…",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-09-12T12:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e2fc2fcfdf297e8da85d3e492daee368a789e9e",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-08-11T11:25:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1047efd3aced2ee5b7b239e7f235862944724a64",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-08-11T11:21:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd7e362bba6dfd1e1cdb3d357a11dc8468ea8d7b",
"body": null,
"is_bot": false,
"headline": "Add setup step for .NET 6 in build and test workflow",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-05-05T08:03:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f296cabbf458e88de042b844073d205d779e223",
"body": "This reverts commit ad56911ddc4e3663cc1e1685aacdeea3fe89e674.",
"is_bot": false,
"headline": "Revert \"x\"",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-05-05T07:59:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14927dd7f30aa5c81d90c708360e72c188374361",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' of https://github.com/fsprojects/FsHttp",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-05-05T07:56:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad56911ddc4e3663cc1e1685aacdeea3fe89e674",
"body": null,
"is_bot": false,
"headline": "x",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2025-05-05T07:56:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05f472cbfaf53ea91d5bcbc1ac131395e9231331",
"body": "Update documentation link",
"is_bot": false,
"headline": "Merge pull request #210 from tw0po1nt/fix-documentation-link",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-04-24T15:23:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c35b377838254a7931d560e94ab9ea9f6240bbc1",
"body": null,
"is_bot": false,
"headline": "Update documentation link",
"author_name": "Matthew Watt",
"author_login": "tw0po1nt",
"committed_at": "2025-04-23T15:10:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7a1de3dd3ef8ab0a24f54c4dd4e9b9c45e64f86",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-01-12T18:32:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47a0a3aa65c6a7054005f1f97e7fa0d257b3189e",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-01-12T18:32:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9351f846e7007fd8067122ab5d9af53a7ab69bc2",
"body": null,
"is_bot": false,
"headline": "Update build-and-test.yml",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-01-12T18:13:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3294186828a68e6d9e2b3add1672c8278770144",
"body": null,
"is_bot": false,
"headline": "Update build-and-test.yml",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-01-12T18:12:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "316156cc3647a08f5e06050f88698f017ee0998d",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2025-01-12T18:08:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3675cb256185c7df55407321874ad2e4e43bf06",
"body": null,
"is_bot": false,
"headline": "Enable Dsl.CE2.fs compilation in FsHttp.fsproj",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-21T15:23:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4489feb3a057a81439e9493cb82d114cb8065bd",
"body": "…handling",
"is_bot": false,
"headline": "Update file parts and content types in Dsl.CE2.fsx for improved file …",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-21T15:18:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4952b94d2babbc11596ed2cfa7804518ca789dfd",
"body": null,
"is_bot": false,
"headline": "x",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-21T15:16:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62f07985e5bc0396861e22343f3c3ec68141b97c",
"body": "…ify JSON structure",
"is_bot": false,
"headline": "Update HTTP request in Dsl.CE2.fsx to fetch PXL Clock details and mod…",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-20T09:50:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf1bd2a2e15a037b2b2249da851c65e0ff245ab8",
"body": null,
"is_bot": false,
"headline": "#206 - Enable for- and if-like possibilities",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-20T09:47:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64c8448e99a60c756049084aa82ce05aad468c42",
"body": "…d.props",
"is_bot": false,
"headline": "Add PXK-Clock promo message on first FSI evaluation in Directory.Buil…",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-03T07:50:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d40abcc92d9f6e47c87b89311f1c96a83ea02693",
"body": null,
"is_bot": false,
"headline": "Bump version to 15.0.1 in Directory.Build.props",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-01T12:52:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8c6b6d2709a63a7cc69d67d92384e58d7480a34",
"body": null,
"is_bot": false,
"headline": "props",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-01T12:47:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e70f8c5272551362ebc9e854cf99a1aaa451a368",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' of https://github.com/fsprojects/FsHttp",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-01T12:45:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f0f64246ebdfc1b034513049b555c20fc4fba77",
"body": "…ation",
"is_bot": false,
"headline": "Add promotional logging for PXL-JAM 2024 on first debug log initializ…",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-01T12:45:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "773a8970c79eec570454566eafb7e04a4bc8c6eb",
"body": null,
"is_bot": false,
"headline": "Add promotional logging for PXL-JAM 2024 on first request send",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-12-01T12:28:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70e1c73fce9c22069bafd6694ab6f8abdc43dfb3",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-12-01T11:52:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01b03ac952198c11a3fdff04a68a4d63bb9747ad",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-11-26T19:17:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec0948cd4eff556817b6a80ecec4c1c28dbc1029",
"body": "Bump FsUnit from 5.6.1 to 6.0.1",
"is_bot": false,
"headline": "Merge pull request #199 from SchlenkR/dependabot/nuget/FsUnit-6.0.1",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-03T06:35:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5d9b4fc9f1392eabaf0299c1d830eb843f8119a",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' into dependabot/nuget/FsUnit-6.0.1",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-03T06:35:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57f9eb0c2e67f334a9c3b041aed3eb83aa3ed6b4",
"body": "…Test.Sdk-17.11.1\n\nBump Microsoft.NET.Test.Sdk from 17.8.0 to 17.11.1",
"is_bot": false,
"headline": "Merge pull request #202 from SchlenkR/dependabot/nuget/Microsoft.NET.…",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-03T06:34:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be27106b7829cf167c1c152e7b2765d6f004f030",
"body": "….0.1\n\nBump fsdocs-tool from 20.0.0 to 20.0.1",
"is_bot": false,
"headline": "Merge pull request #201 from SchlenkR/dependabot/nuget/fsdocs-tool-20…",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-03T06:34:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae26b554eec6d1b4273780a58ebce5aaa709dcd9",
"body": "…extJson-1.3.13\n\nBump FSharp.SystemTextJson from 1.2.42 to 1.3.13",
"is_bot": false,
"headline": "Merge pull request #200 from SchlenkR/dependabot/nuget/FSharp.SystemT…",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-03T06:34:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1eefa525a924bfe834176129d318b54f23f06a19",
"body": "…dabot/fetch-metadata-2\n\nBump dependabot/fetch-metadata from 1 to 2",
"is_bot": false,
"headline": "Merge pull request #191 from SchlenkR/dependabot/github_actions/depen…",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-03T06:33:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b8b22fe28b76774834be41d61db31278af21f5d",
"body": "Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.8.0 to 17.11.1.\n- [Release notes](https://github.com/microsoft/vstest/releases)\n- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)\n- [Commits](https://github.com/microsoft/vstest/compare/v17.8.0...\n[…]\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.11.1",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-10-03T01:39:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1480ca862f09def902503e7e9556a2d27dee2802",
"body": "Bumps [fsdocs-tool](https://github.com/fsprojects/FSharp.Formatting) from 20.0.0 to 20.0.1.\n- [Changelog](https://github.com/fsprojects/FSharp.Formatting/blob/main/RELEASE_NOTES.md)\n- [Commits](https://github.com/fsprojects/FSharp.Formatting/commits)\n\n---\nupdated-dependencies:\n- dependency-name: fsdocs-tool\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump fsdocs-tool from 20.0.0 to 20.0.1",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-10-03T01:38:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da293927ff9810c1347e47d6ef2fd641c094757f",
"body": "Bumps [FSharp.SystemTextJson](https://github.com/tarmil/FSharp.SystemTextJson) from 1.2.42 to 1.3.13.\n- [Release notes](https://github.com/tarmil/FSharp.SystemTextJson/releases)\n- [Changelog](https://github.com/Tarmil/FSharp.SystemTextJson/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/tar\n[…]\n\nupdated-dependencies:\n- dependency-name: FSharp.SystemTextJson\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump FSharp.SystemTextJson from 1.2.42 to 1.3.13",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-10-03T01:38:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "03ec57a341506f211b946d9de00d4ec9e9196bee",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-02T07:03:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbab6c411be3cf54e1835c6808be8f4a743ed1ec",
"body": "Bumps [FsUnit](https://github.com/fsprojects/FsUnit) from 5.6.1 to 6.0.1.\n- [Release notes](https://github.com/fsprojects/FsUnit/releases)\n- [Changelog](https://github.com/fsprojects/FsUnit/blob/master/RELEASE_NOTES.md)\n- [Commits](https://github.com/fsprojects/FsUnit/compare/5.6.1...6.0.1)\n\n---\nupdated-dependencies:\n- dependency-name: FsUnit\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump FsUnit from 5.6.1 to 6.0.1",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-10-02T06:58:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41e564309d3df6d23170852ec7fb667d8ee376d7",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-10-01T18:52:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c3da9a3d7ee3334482ec32771dd548f0f7c4378",
"body": null,
"is_bot": false,
"headline": "env var name",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-27T10:37:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea971f8157c2587201366921b9be9869307dd9f4",
"body": null,
"is_bot": false,
"headline": "gha",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-27T10:32:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9981074d38e7fd86d68cecece9b52d3484929ef2",
"body": null,
"is_bot": false,
"headline": "Enumerable as content, some other things",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-26T09:33:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c407e4787105e330347c38e8b0775d6f34c4994",
"body": null,
"is_bot": false,
"headline": "GH A",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-26T08:26:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b598fa3a620e335a9e8a7b297bb1b8c8edddfc66",
"body": null,
"is_bot": false,
"headline": "updated readme / GH action",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-26T07:53:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b329396ac6da01cfc04e1e029998fe6384a9f64",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' of https://github.com/fsprojects/FsHttp",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-26T07:51:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af055d60fbd33191fde86a579a5d68470d2f8896",
"body": null,
"is_bot": false,
"headline": "convert ps1 to sh",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-26T07:50:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a857080105941417229d57ebc0f540b84bcb1b56",
"body": null,
"is_bot": false,
"headline": "cleanup",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-09-26T07:44:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78d38b1b6fd4d970090333340eff83f4548b88f7",
"body": null,
"is_bot": false,
"headline": "bump version",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-08-09T05:44:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20aaa45671ff64b9e1cc3e88b202776374840ea1",
"body": "… crash when printing unfinished requests",
"is_bot": false,
"headline": "fixed untracked bug: using config_useBaseUrl as a http template won't…",
"author_name": "SchlenkR",
"author_login": null,
"committed_at": "2024-08-07T15:43:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "625184c53278b704daae713adb36d0c8a2863988",
"body": null,
"is_bot": false,
"headline": "Update Directory.Build.props",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-04-25T07:11:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c53107428da615e6894beca8063a8601ba14fd03",
"body": null,
"is_bot": false,
"headline": "Merge pull request #192 from nojaf/docs/plain-text-request",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-04-06T09:58:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f4e24f5af5bbd5667aea3a47cd14e5ebe818054",
"body": null,
"is_bot": false,
"headline": "Add example of posting plain/text",
"author_name": "nojaf",
"author_login": "nojaf",
"committed_at": "2024-04-06T09:02:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0d20b555438f210c02630f7fd1e903f0f756b98",
"body": "Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1 to 2.\n- [Release notes](https://github.com/dependabot/fetch-metadata/releases)\n- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1...v2)\n\n---\nupdated-dependencies:\n- dependency-name: dependabot/fetch-metadata\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump dependabot/fetch-metadata from 1 to 2",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-03-25T01:30:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0526657d7c456aa2ab70352ab2919222a04c82d5",
"body": "Fix broken link",
"is_bot": false,
"headline": "Merge pull request #189 from bartelink/tidy-readme",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T15:11:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4525873deb18a3259d3ec00e69c5039e1e7518a",
"body": "Sync FSharp.Core refs",
"is_bot": false,
"headline": "Merge pull request #187 from bartelink/exclude-assets",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T15:09:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93ccaaeba42d35062798f499b89bda63c5aa7f2e",
"body": null,
"is_bot": false,
"headline": "Rewird",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T15:08:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72262a48c0327dfaa038a3a10a879ab024177ea5",
"body": null,
"is_bot": false,
"headline": "heading reorg",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T15:04:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdaad34fe61077854464135d00a28ac181b6a01c",
"body": null,
"is_bot": false,
"headline": "make docs more prominent",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T15:02:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac6ed5c7439560c49d6f329c2926ba70bf57c249",
"body": null,
"is_bot": false,
"headline": "More rewording",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:58:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2366a4ce715036d232dbabeb248454e2a5b89af3",
"body": null,
"is_bot": false,
"headline": "Nicer for Nuget README",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:55:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67de571abd2bde927bde418c3a12af009e9a6252",
"body": null,
"is_bot": false,
"headline": "Fix link",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:31:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eb44b7b58a479d89a7c65eea9a6abccf17492a8",
"body": "Tidy readme",
"is_bot": false,
"headline": "Merge pull request #188 from bartelink/tidy-readme",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T14:30:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "291177f8378bf6b2b7bc6f88bf555c8d879047eb",
"body": null,
"is_bot": false,
"headline": "Tidy",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "42c328754794c392381b9879b5e5ce4fb1c0a912",
"body": null,
"is_bot": false,
"headline": "More cleanup",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:25:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5c0f5603614b4b990689e85fd0a952577ce41aa",
"body": null,
"is_bot": false,
"headline": "Badge fixes",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:24:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5376c5039d50b166f1ef6df2ca203ea50cc2518f",
"body": null,
"is_bot": false,
"headline": "Sync FSharp.Core refs",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T14:07:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a8d5269d7c92e6ab34e36885029bc7d4822a836a",
"body": "Add ExcludeAssets for FSharp.Core",
"is_bot": false,
"headline": "Merge pull request #186 from bartelink/exclude-assets",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:59:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc5e3c2eee7620227664d9d8f5f4c5131fa6133b",
"body": "- Added 'useBaseUrl' and 'transformUrl' to Config for better composability\n- Fixed some extension methods",
"is_bot": false,
"headline": "14.5.0",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:58:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b22c24db65ac6423c3c438104923404f6e4bd4c6",
"body": null,
"is_bot": false,
"headline": "Consistency changes",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T13:56:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0fb13f4261d23b91da526bc8a79c25d523734530",
"body": null,
"is_bot": false,
"headline": "Add ExcludeAssets for FSharp.Core",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-03-05T13:54:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31fd23a89d7f9d007a03df72057c6f18bcf6bcf6",
"body": null,
"is_bot": false,
"headline": "comments",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:40:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b9276a0719e7106690a96df497702dfee67aac6",
"body": null,
"is_bot": false,
"headline": "use net6.0 everywhere",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:34:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7570a5d2620675d3eea8a41ffa63788c1f542c4f",
"body": "fix(deps): Remove redundant TFM-specific builds",
"is_bot": false,
"headline": "Merge pull request #185 from bartelink/trim-tfms",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:31:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eed4f9f6babf9f8567008c0c060fb9ee53b79ecf",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' into pr/bartelink/185",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2150887dd3f94716ba5e9996cd8f48e871704c3",
"body": null,
"is_bot": false,
"headline": "#183 Manually added stuff from the PR @bartelink",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:20:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bd8b2cef3c86e6ea2d508257c20a94359bc17a1",
"body": null,
"is_bot": false,
"headline": " #183 - FSharp.Core pinned to 5.0.2 in all lib projects",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-03-05T13:07:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b18bfba1defd986632a0cc8610118b523106f1d",
"body": null,
"is_bot": false,
"headline": "fix(deps): Remove redundant TFM-specific builds",
"author_name": "Ruben Bartelink",
"author_login": "bartelink",
"committed_at": "2024-02-28T13:20:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96d1a90f153715023c4eb907f8361a4acaec78f0",
"body": "…20.0.0\n\nBump fsdocs-tool from 20.0.0-beta-002 to 20.0.0",
"is_bot": false,
"headline": "Merge pull request #182 from fsprojects/dependabot/nuget/fsdocs-tool-…",
"author_name": "dawe",
"author_login": "dawedawe",
"committed_at": "2024-02-15T07:05:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7cf9d9fa27cfb3860a1718ed045871e6a6b2070f",
"body": "Bumps [fsdocs-tool](https://github.com/fsprojects/FSharp.Formatting) from 20.0.0-beta-002 to 20.0.0.\n- [Changelog](https://github.com/fsprojects/FSharp.Formatting/blob/main/RELEASE_NOTES.md)\n- [Commits](https://github.com/fsprojects/FSharp.Formatting/commits)\n\n---\nupdated-dependencies:\n- dependency-name: fsdocs-tool\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump fsdocs-tool from 20.0.0-beta-002 to 20.0.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-02-15T01:28:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1efa54643f877d813af04c86d7d2259c5e992c5b",
"body": "…20.0.0-beta-002\n\nBump fsdocs-tool from 20.0.0-beta-001 to 20.0.0-beta-002",
"is_bot": false,
"headline": "Merge pull request #180 from fsprojects/dependabot/nuget/fsdocs-tool-…",
"author_name": "dawe",
"author_login": "dawedawe",
"committed_at": "2024-02-09T18:32:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df862e30d3e93299ee47d3c0b76b73c9a70fd83e",
"body": "Bumps [fsdocs-tool](https://github.com/fsprojects/FSharp.Formatting) from 20.0.0-beta-001 to 20.0.0-beta-002.\n- [Changelog](https://github.com/fsprojects/FSharp.Formatting/blob/main/RELEASE_NOTES.md)\n- [Commits](https://github.com/fsprojects/FSharp.Formatting/commits)\n\n---\nupdated-dependencies:\n- dependency-name: fsdocs-tool\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump fsdocs-tool from 20.0.0-beta-001 to 20.0.0-beta-002",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-02-09T01:33:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3357f155600af87c70f2455ca2afacebfc65df3",
"body": null,
"is_bot": false,
"headline": "README.md aktualisieren",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-02-06T18:18:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce5858e7aecebe8115b4cbdb33ef39e69036c1b3",
"body": null,
"is_bot": false,
"headline": "Merge pull request #177 from dawedawe/fix_implicit_dependency",
"author_name": "SchlenkR",
"author_login": "SchlenkR",
"committed_at": "2024-02-05T16:01:51Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 6,
"commits_last_year": 20,
"latest_release_at": "2021-11-22T22:34:54Z",
"latest_release_tag": "v6.0.0",
"releases_from_tags": true,
"days_since_last_push": 3,
"active_weeks_last_year": 8,
"days_since_latest_release": 1705,
"mean_days_between_releases": 208.8
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 42,
"stars": 497,
"watchers": 13,
"fork_history": {
"days": [
{
"date": "2018-10-01",
"count": 1
},
{
"date": "2019-02-03",
"count": 1
},
{
"date": "2019-02-11",
"count": 1
},
{
"date": "2019-03-07",
"count": 1
},
{
"date": "2019-07-15",
"count": 1
},
{
"date": "2019-07-21",
"count": 1
},
{
"date": "2019-10-04",
"count": 1
},
{
"date": "2020-01-08",
"count": 1
},
{
"date": "2020-01-30",
"count": 1
},
{
"date": "2020-02-21",
"count": 1
},
{
"date": "2020-05-27",
"count": 1
},
{
"date": "2020-07-27",
"count": 1
},
{
"date": "2020-08-19",
"count": 1
},
{
"date": "2021-03-09",
"count": 1
},
{
"date": "2021-04-19",
"count": 1
},
{
"date": "2021-09-08",
"count": 1
},
{
"date": "2021-11-07",
"count": 1
},
{
"date": "2021-11-26",
"count": 1
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-26",
"count": 1
},
{
"date": "2022-02-17",
"count": 1
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-30",
"count": 1
},
{
"date": "2022-10-04",
"count": 1
},
{
"date": "2022-10-06",
"count": 1
},
{
"date": "2022-10-21",
"count": 1
},
{
"date": "2022-10-24",
"count": 1
},
{
"date": "2022-11-15",
"count": 1
},
{
"date": "2022-11-27",
"count": 1
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-30",
"count": 1
},
{
"date": "2023-08-07",
"count": 1
},
{
"date": "2023-09-21",
"count": 1
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2024-02-28",
"count": 1
},
{
"date": "2024-08-12",
"count": 1
},
{
"date": "2025-04-23",
"count": 1
},
{
"date": "2026-06-09",
"count": 1
}
],
"complete": true,
"collected": 42,
"total_forks": 42
},
"star_history": null,
"open_issues_and_prs": 30
},
"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": [
"src/Test.CSharp/Test.CSharp.csproj",
"src/TestWebServer/TestWebServer.csproj"
],
"largest_source_bytes": 1983,
"source_files_sampled": 5,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 10,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [],
"dependencies": [
{
"name": "Microsoft.NET.Test.Sdk",
"manifest": "src/Test.CSharp/Test.CSharp.csproj",
"ecosystem": "nuget",
"version_constraint": "17.11.1"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "Microsoft.NET.Test.Sdk",
"direct": true,
"version": "17.11.1",
"ecosystem": "nuget"
},
{
"name": "FSharp.Core",
"direct": false,
"version": "5.0.2",
"ecosystem": "nuget"
},
{
"name": "FSharp.Data",
"direct": false,
"version": "6.3.0",
"ecosystem": "nuget"
},
{
"name": "FSharp.SystemTextJson",
"direct": false,
"version": "1.3.13",
"ecosystem": "nuget"
},
{
"name": "FsUnit",
"direct": false,
"version": "5.6.1",
"ecosystem": "nuget"
},
{
"name": "FsUnit",
"direct": false,
"version": "6.0.1",
"ecosystem": "nuget"
},
{
"name": "Newtonsoft.Json",
"direct": false,
"version": "13.0.3",
"ecosystem": "nuget"
},
{
"name": "NUnit",
"direct": false,
"version": "4.0.1",
"ecosystem": "nuget"
},
{
"name": "NUnit3TestAdapter",
"direct": false,
"version": "4.5.0",
"ecosystem": "nuget"
},
{
"name": "Suave",
"direct": false,
"version": "2.6.2",
"ecosystem": "nuget"
}
],
"collected": true,
"truncated": false,
"total_count": 10,
"direct_count": 1,
"indirect_count": 9
}
},
"maintainership": {
"issues": {
"open_prs": 5,
"merged_prs": 68,
"open_issues": 25,
"closed_ratio": 0.783,
"closed_issues": 90,
"closed_unmerged_prs": 21
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "SchlenkR",
"commits": 240,
"avatar_url": "https://avatars.githubusercontent.com/u/472222?v=4"
},
{
"type": "User",
"login": "dawedawe",
"commits": 25,
"avatar_url": "https://avatars.githubusercontent.com/u/3221269?v=4"
},
{
"type": "User",
"login": "bartelink",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/206668?v=4"
},
{
"type": "User",
"login": "nojaf",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/2621499?v=4"
},
{
"type": "User",
"login": "tnishimura",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/519704?v=4"
},
{
"type": "User",
"login": "Mefgalm",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/3998158?v=4"
},
{
"type": "User",
"login": "Samuel-Dufour",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/9041103?v=4"
},
{
"type": "User",
"login": "b0wter",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/614261?v=4"
},
{
"type": "User",
"login": "DaveJohnson8080",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/259943?v=4"
},
{
"type": "User",
"login": "vilinski",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/259479?v=4"
}
],
"contributors_sampled": 18,
"top_contributor_share": 0.777
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build-and-publish-docs.yml",
"build-and-test.yml",
"dependabot-auto-approve.yml",
"publish-nuget.yml",
"repo-assist.lock.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": true,
"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": 3,
"reason": "1 out of 3 merged PRs checked by a CI test -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 1/25 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 9 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 1,
"reason": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
"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": 7,
"reason": "dependency not pinned by hash detected -- score normalized to 7",
"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": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "cc64673a28108632235cafad471043876cbb9b1d",
"ran_at": "2026-07-25T16:38:40Z",
"aggregate_score": 4.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T07:08:37Z",
"oldest_open_prs": [
{
"number": 95,
"created_at": "2022-01-26T09:53:43Z",
"last_comment_at": "2026-03-09T12:57:27Z",
"last_comment_author": "github-actions"
},
{
"number": 204,
"created_at": "2024-10-04T01:55:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 208,
"created_at": "2025-01-18T22:02:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 209,
"created_at": "2025-01-18T22:03:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 216,
"created_at": "2026-03-10T01:58:46Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-03-09T14:17:23Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 2,
"created_at": "2018-10-18T06:03:14Z",
"last_comment_at": "2022-01-26T09:40:21Z",
"last_comment_author": "jkone27"
},
{
"number": 18,
"created_at": "2019-03-14T15:15:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 33,
"created_at": "2019-12-18T11:05:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 35,
"created_at": "2019-12-19T07:39:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 36,
"created_at": "2019-12-19T07:42:16Z",
"last_comment_at": "2022-08-03T07:44:25Z",
"last_comment_author": "SchlenkR"
},
{
"number": 49,
"created_at": "2020-08-18T19:47:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 71,
"created_at": "2021-09-28T11:22:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 72,
"created_at": "2021-10-05T14:30:44Z",
"last_comment_at": "2022-06-28T08:48:15Z",
"last_comment_author": "SchlenkR"
},
{
"number": 74,
"created_at": "2021-10-19T09:42:26Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 84,
"created_at": "2021-11-10T09:42:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 87,
"created_at": "2021-11-22T22:38:44Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 88,
"created_at": "2021-11-23T06:29:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 98,
"created_at": "2022-02-22T15:02:20Z",
"last_comment_at": "2022-02-24T12:27:13Z",
"last_comment_author": "SchlenkR"
},
{
"number": 141,
"created_at": "2023-10-24T12:47:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 143,
"created_at": "2023-10-27T09:35:26Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 172,
"created_at": "2024-01-27T16:27:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 178,
"created_at": "2024-02-04T14:35:23Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 193,
"created_at": "2024-04-16T08:14:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 194,
"created_at": "2024-04-29T19:15:55Z",
"last_comment_at": "2024-05-09T07:24:50Z",
"last_comment_author": "SchlenkR"
},
{
"number": 196,
"created_at": "2024-05-27T15:59:28Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/fsprojects/FsHttp",
"host": "github.com",
"name": "FsHttp",
"owner": "fsprojects"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"security": 57,
"vitality": 45,
"community": 57,
"governance": 58,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 45,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"commits_last_year": 20,
"human_commit_share": 0.91,
"days_since_last_push": 3,
"active_weeks_last_year": 8
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 3 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 3
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "8/52 weeks with commits",
"points": 5.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 8
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "20 commits in the last year",
"points": 11.9,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 20
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
"points": 1,
"status": "partial",
"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": 6,
"latest_release_tag": "v6.0.0",
"releases_from_tags": true,
"days_since_latest_release": 1705,
"mean_days_between_releases": 208.8
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "6 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 6
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1705 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 1705
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~208.8 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 208.8
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 3,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 3 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 3
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 57,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"forks": 42,
"stars": 497,
"watchers": 13,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "497 stars",
"points": 43.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 497
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "42 forks",
"points": 13.4,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 42
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "13 watchers",
"points": 6,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 13
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"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": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 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": 58,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 38,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 18,
"top_contributor_share": 0.777
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 78% of commits",
"points": 5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 78
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "18 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 18
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 9 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"merged_prs": 68,
"open_issues": 25,
"closed_issues": 90,
"issue_closed_ratio": 0.783,
"closed_unmerged_prs": 21
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "78% of issues closed",
"points": 36.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 78
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "68/89 decided PRs merged",
"points": 29.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 68,
"decided": 89
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/25 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"followers": 332,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "fsprojects",
"public_repos": 124,
"account_age_days": 4629
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "332 followers of fsprojects",
"points": 18.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 332,
"login": "fsprojects"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "124 public repos, account ~12 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 124
}
},
{
"code": "account_age_years",
"params": {
"years": 12
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "5 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 5
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": 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": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "1 out of 3 merged PRs checked by a CI test -- score normalized to 3",
"points": 6,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"fsharp",
"http",
"rest-client",
"http-client",
"rest"
],
"has_wiki": true,
"homepage": "https://fsprojects.github.io/FsHttp/",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://fsprojects.github.io/FsHttp/",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "5 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 5
}
}
],
"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": "moderate",
"name": "Security",
"value": 57,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 46,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 4.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "1 out of 3 merged PRs checked by a CI test -- score normalized to 3",
"points": 0.8,
"status": "partial",
"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/25 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 9 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 7",
"points": 3.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 10 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 10
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 10,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 10,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 15
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 52,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 13,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.242,
"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": "22 of 91 human commits state their intent (structured subject or explanatory body)",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 22,
"sampled": 91
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.01,
"toolchain_manifests": [
"src/Test.CSharp/Test.CSharp.csproj",
"src/TestWebServer/TestWebServer.csproj"
],
"dependency_bot_commit_share": 0.07
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "src/Test.CSharp/Test.CSharp.csproj, src/TestWebServer/TestWebServer.csproj (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "src/Test.CSharp/Test.CSharp.csproj, src/TestWebServer/TestWebServer.csproj"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "F# (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "F#"
}
}
],
"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": "1 of the last 100 commits agent-authored or agent-credited",
"points": 2,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "7 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 7,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 7",
"points": 7,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "F#",
"largest_source_bytes": 1983,
"source_files_sampled": 5,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "F# (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "F#"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/5 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 5,
"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"
],
"report_type": "repository",
"generated_at": "2026-07-25T16:38:56.404557Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/fsprojects/FsHttp.svg",
"full_name": "fsprojects/FsHttp",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}