Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 4594,
"has_wiki": false,
"homepage": "http://jamison.lahman.dev/agentic-kanban/",
"languages": {
"Go": 704653,
"CSS": 4339,
"HCL": 774,
"HTML": 1110,
"Shell": 6806,
"Python": 3046,
"Dockerfile": 10139,
"TypeScript": 463150
},
"pushed_at": "2026-07-21T08:55:16Z",
"created_at": "2026-05-01T00:16:28Z",
"owner_type": "User",
"updated_at": "2026-07-17T17:02:49Z",
"description": "Kanban board for managing AI agent sessions",
"is_archived": false,
"is_disabled": false,
"license_spdx": "GPL-3.0",
"default_branch": "master",
"license_spdx_raw": "GPL-3.0",
"primary_language": "Go",
"significant_languages": [
"Go",
"TypeScript"
]
},
"owner": {
"blog": "jamison.lahman.dev",
"name": "Jamison Lahman",
"type": "User",
"login": "jmelahman",
"company": "@onyx-dot-app ",
"location": "San Francisco Bay Area",
"followers": 117,
"avatar_url": "https://avatars.githubusercontent.com/u/23436978?v=4",
"created_at": "2016-11-13T17:19:08Z",
"is_verified": null,
"public_repos": 46,
"account_age_days": 3537
},
"license": {
"state": "standard",
"spdx_id": "GPL-3.0",
"raw_spdx": "GPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2026-07-17T17:08:35Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2026-07-15T04:38:23Z"
},
{
"tag": "v1.1.5",
"kind": "patch",
"published_at": "2026-07-09T19:04:35Z"
},
{
"tag": "v1.1.4",
"kind": "patch",
"published_at": "2026-07-07T18:53:35Z"
},
{
"tag": "v1.1.3",
"kind": "patch",
"published_at": "2026-06-04T09:32:37Z"
},
{
"tag": "v1.1.2",
"kind": "patch",
"published_at": "2026-06-02T22:36:25Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2026-06-02T22:06:29Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-06-02T20:54:25Z"
},
{
"tag": "v1.0.14",
"kind": "patch",
"published_at": "2026-06-02T08:54:14Z"
},
{
"tag": "v1.0.13",
"kind": "patch",
"published_at": "2026-06-02T07:43:43Z"
},
{
"tag": "v1.0.12",
"kind": "patch",
"published_at": "2026-06-02T02:20:23Z"
},
{
"tag": "v1.0.11",
"kind": "patch",
"published_at": "2026-05-29T07:18:41Z"
},
{
"tag": "v1.0.10",
"kind": "patch",
"published_at": "2026-05-29T05:49:36Z"
},
{
"tag": "v1.0.9",
"kind": "patch",
"published_at": "2026-05-22T19:24:55Z"
},
{
"tag": "v1.0.8",
"kind": "patch",
"published_at": "2026-05-18T17:48:27Z"
},
{
"tag": "v1.0.7",
"kind": "patch",
"published_at": "2026-05-14T03:55:43Z"
},
{
"tag": "v1.0.6",
"kind": "patch",
"published_at": "2026-05-13T08:26:08Z"
},
{
"tag": "v1.0.5",
"kind": "patch",
"published_at": "2026-05-13T05:07:49Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2026-05-12T18:32:45Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2026-05-12T15:35:14Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2026-05-11T01:31:39Z"
},
{
"tag": "v0.2.5",
"kind": "patch",
"published_at": "2026-05-09T03:20:49Z"
},
{
"tag": "v0.2.4",
"kind": "patch",
"published_at": "2026-05-08T07:19:30Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2026-05-07T19:54:20Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2026-05-07T18:10:47Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2026-05-07T07:36:37Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2026-05-07T06:05:34Z"
},
{
"tag": "v0.1.8",
"kind": "patch",
"published_at": "2026-05-07T03:01:16Z"
},
{
"tag": "v0.1.7",
"kind": "patch",
"published_at": "2026-05-07T01:54:24Z"
},
{
"tag": "v0.1.6",
"kind": "patch",
"published_at": "2026-05-07T01:20:03Z"
},
{
"tag": "v0.1.5",
"kind": "patch",
"published_at": "2026-05-07T00:48:52Z"
},
{
"tag": "v0.1.4",
"kind": "patch",
"published_at": "2026-05-06T21:06:10Z"
},
{
"tag": "v0.1.3",
"kind": "patch",
"published_at": "2026-05-06T06:21:30Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2026-05-06T03:18:03Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2026-05-05T23:44:02Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2026-05-05T19:19:30Z"
},
{
"tag": "v0.0.6",
"kind": "patch",
"published_at": "2026-05-05T15:35:49Z"
},
{
"tag": "v0.0.5",
"kind": "patch",
"published_at": "2026-05-05T00:03:49Z"
},
{
"tag": "v0.0.4",
"kind": "patch",
"published_at": "2026-05-04T19:59:15Z"
},
{
"tag": "v0.0.3",
"kind": "patch",
"published_at": "2026-05-01T17:25:02Z"
},
{
"tag": "v0.0.2",
"kind": "patch",
"published_at": "2026-05-01T15:23:12Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2026-05-01T09:07:02Z"
}
],
"recent_commits": [
{
"oid": "09da961a1182ec99289f65ed5a2101a4785a5207",
"body": "react was bumped to 19.2.7 (2083cea) while react-dom stayed at 19.2.6,\nwhich trips React error #527 (\"Incompatible React versions\") at startup.\nPin react-dom to ^19.2.7 to match, and group react/react-dom/@types in\ndependabot so future bumps stay in lockstep.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(web): align react-dom to react 19.2.7 and group them in dependabot",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-17T17:02:00Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9789fcbbfb43bc6bc054a16d58cecc3a12df5af4",
"body": "Applied manually via git push (not gh pr merge) — dependabot#28 had\ngone CONFLICTING after other npm bumps landed on master; re-ran\n`npm install` to reproduce the bump (resolves to 26.1.1, the latest\npatch satisfying the same ^26.1.0 intent as the PR).\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "build(deps-dev): bump @types/node from 25.7.0 to 26.1.1 in /web",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-15T04:14:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9086a34ce9675c807a10f7b5c49f49b4f10fb891",
"body": "Applied manually via git push (not gh pr merge) — dependabot#23 had\ngone CONFLICTING after other Go module bumps landed on master;\nre-running `go get`/`go mod tidy` against current master reproduces\nthe identical bump cleanly.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "build(deps): bump golang.org/x/net from 0.54.0 to 0.56.0",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-15T04:13:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "35c3a8a6e1e1785a5737e47c0423c15321ffa08c",
"body": "… (#27)\n\nBumps\n[github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml)\nfrom 2.3.1 to 2.4.2.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/pelletier/go-toml/releases\">github.com/pelletier/go-toml/v2's\nreleases</a>.</em></p>\n<blockquote>\n<h2\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/pelletier/go-toml/v2 from 2.3.1 to 2.4.2…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:11:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "680406ed7d3b09bb25f13d528ff5bf85e5957098",
"body": "Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.50.1\nto 1.53.0.\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md\">modernc.org/sqlite's\nchangelog</a>.</em></p>\n<blockquote>\n<h1>Changelog</h1>\n<ul>\n<li>\n<p>2\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump modernc.org/sqlite from 1.50.1 to 1.53.0 (#29)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:11:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4501457847432a4f0d4f6ae8091306a388a2651a",
"body": "Applied manually via git push (not gh pr merge) since these PRs touch\n.github/workflows/*.yml and the gh CLI's OAuth token lacks the\n`workflow` scope needed to merge workflow-file changes via the API.\n\nMerges dependabot#31 (goreleaser/goreleaser-action 7.2.1 -> 7.2.3) and\ndependabot#26 (golangci/golangci-lint-action 9.2.0 -> 9.3.0).\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "build(deps): bump goreleaser-action and golangci-lint-action",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-15T04:10:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "28a42ab6c56a4687bd717ebd13cfbaecc602afaa",
"body": "Bumps ubuntu from 25.10 to 26.04.\n\n\n[](https://docs.github.com/en/github/managing-security-vulnerabilities/about\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump ubuntu from 25.10 to 26.04 in /.devcontainer (#11)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:09:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3d347888ace0024a0a3b4e86f1aec97ef547d567",
"body": "Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from\n14.1.1 to 14.2.0.\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md\">markdown-it's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>[14.2.0] - 2026-05-24\n[…]\nithub.com/jmelahman/agentic-kanban/network/alerts).\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump markdown-it from 14.1.1 to 14.2.0 in /docs (#21)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:09:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b93ed9cf29e4c9c82fe3205c987b538efbc3715a",
"body": "…#25)\n\nBumps ubuntu from 24.04 to 26.04.\n\n\n[](https://docs.github.com/en/github/managing-security-vulnerabilitie\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump ubuntu from 24.04 to 26.04 in /build/devcontainer (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:09:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b0600a64c5473c15d2bb0961016c645121d01f54",
"body": "Bumps [docker/login-action](https://github.com/docker/login-action) from\n4.1.0 to 4.4.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/docker/login-action/releases\">docker/login-action's\nreleases</a>.</em></p>\n<blockquote>\n<h2>v4.4.0</h2>\n<ul>\n<li>Skip em\n[…]\n8bbc3fe56130a9b0\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump docker/login-action from 4.1.0 to 4.4.0 (#30)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:09:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2083ceac1e1bfb5a68886b0ca11a18188b50fcfd",
"body": "Bumps\n[react](https://github.com/facebook/react/tree/HEAD/packages/react) and\n[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).\nThese dependencies needed to be updated together.\nUpdates `react` from 19.2.6 to 19.2.7\n<details>\n<summary>Release notes</summary>\n<\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump react and @types/react in /web (#32)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:09:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e1d1db5ed308ad11619c66f5ad7fc48b8c50fe4d",
"body": "…web (#33)\n\nBumps\n[@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query)\nfrom 5.100.10 to 5.101.2.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/TanStack/query/releases\">@tanstack/react-query's\nreleases</a>.</em></p>\n<b\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump @tanstack/react-query from 5.100.10 to 5.101.2 in /…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T04:09:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6ff0a3cdb3f28145692d8ffb7bea25bf497453a2",
"body": "go.mod now requires go >= 1.26.5, but golang:1.26.3's official image\nsets GOTOOLCHAIN=local, so `go mod download` failed outright instead\nof auto-downloading the newer toolchain (unlike the devcontainer image\nwhere GOTOOLCHAIN=auto is the default). Bumping the base image avoids\nthe mismatch.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(docker): bump go base image to 1.26.5 for release build",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-15T04:06:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5d85bf5659464ee5cbabcdfc6187b656e0ad5974",
"body": "Bump go.mod to 1.26.5 to pick up fixes for GO-2026-5037, GO-2026-5039,\nand GO-2026-5856 (crypto/x509, net/textproto, crypto/tls). Go's\ntoolchain auto-download means CI's older baked Go 1.26.3 will fetch\n1.26.5 automatically, no devcontainer rebuild required.\n\nIgnore GO-2026-5617, GO-2026-5668, and G\n[…]\ndaemon-side handler bugs, same class\nas the already-ignored GO-2026-4883/4887 and unreachable since we only\nuse docker/docker as an API client.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: clear new govulncheck advisories in pre-commit/release audit",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-15T03:57:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7b1885d6732e9ac44805715bc189391d34504421",
"body": null,
"is_bot": false,
"headline": "claude code env (#1771)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-15T01:27:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3167e17c7cf50fac2fa2b2bd0ebff16acdec099",
"body": "## Summary\n\n- Add `.github/workflows/devcontainer.yml` to rebuild and push the\npersonal sandbox image (`lahmanja/devcontainer`, built from\n`.devcontainer/Dockerfile`). Runs on demand via `gh workflow run\ndevcontainer.yml` (no-cache by default, toggleable input) and\nautomatically on `master` pushes t\n[…]\nshly built image — green tests\nsmoke-test the new image before merge\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "upgrade devcontainer and add rebuild workflow (#34)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-14T23:57:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2f64963093d8e438e5f66aa8f912e9c16ead64a9",
"body": null,
"is_bot": false,
"headline": "unpin claude code and pin ubuntu in builtin devcontainer",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-09T18:56:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa449a456e645076dd13151dd02ecdf9a99c8bc5",
"body": null,
"is_bot": false,
"headline": "ignore 502 from Errors (#1552)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-07T19:06:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8d57469ae79c066d5baa420faa791a6a3ba64d0",
"body": "vite 8.0.0-8.0.15 and its bundled esbuild carry two Windows dev-server\nadvisories (GHSA-fx2h-pf6j-xcff server.fs.deny bypass, GHSA-v6wh-96g9-6wx3\nlaunch-editor NTLMv2 disclosure, GHSA-g7r4-m6w7-qqqr esbuild file read)\nthat fail the `npm-audit` CI hook. `npm audit fix` bumps vite within the\nexisting ^8.0.12 range; vite 8.1 pulls its transform via rolldown, so the\nstandalone esbuild package drops out. package.json unchanged.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(web): bump vite to 8.1.3 to clear npm audit advisories",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-07T18:11:20Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "74858fcd8eadfd25c2a16dee35c51a4ccf604deb",
"body": null,
"is_bot": false,
"headline": "feat: Build Cop board checks for passing on retries",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-07T17:52:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4af114596f9bb3edf0566f541206cefde0b5e4a3",
"body": null,
"is_bot": false,
"headline": "feat: Build Cop board checks for passing on retries",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-01T17:59:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "959437b7f91b62205626b1a374e5656839394484",
"body": null,
"is_bot": false,
"headline": "make the workspace branch editable (#997)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-07-01T17:03:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e0e38e11a1c20afe7b0021390aaa296f9158707",
"body": null,
"is_bot": false,
"headline": "update docker commands to mount pi (#118)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-07T20:33:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ba9f89fc7444d02f8472e97b66691e51ca3c0c7",
"body": null,
"is_bot": false,
"headline": "frontend performance audit (#992)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-04T23:17:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "783b82a4f8c0f20dd774cd3b7eed8f810c9484f9",
"body": null,
"is_bot": false,
"headline": "firefox memory dev toolbar (#991)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-04T21:59:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b14422b7931739c5dc1c645337fa3357136e744e",
"body": null,
"is_bot": false,
"headline": "make the CHANGED FILES the same size as the view file header (#993)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-04T21:00:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9a4ae213a6148abd2add874b3ed26f3967bf0d7",
"body": null,
"is_bot": false,
"headline": "session counter: add status breakdown popover to the compact button",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-04T20:41:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ca887e3ccad4b01732bc396a6a84fdcf2d08000",
"body": null,
"is_bot": false,
"headline": "test separate running session counter ui (#887)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-04T05:46:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dce1e7e831df0a7aa70fc42f866082aac13258c5",
"body": null,
"is_bot": false,
"headline": "number of running sessions (#876)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-04T02:35:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "812e749d5e2b4c3e908c29b76b4d43105a824154",
"body": null,
"is_bot": false,
"headline": "opt-in developer toolbar (#804)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-03T22:33:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd68d6e5321dd7c45fa23bbc5c0b98ace4f8d80b",
"body": null,
"is_bot": false,
"headline": "code review (#792)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-03T05:57:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad47e0add1122ac0debb8eab4f014e33151bb103",
"body": null,
"is_bot": false,
"headline": "fix github api rate-limiting (#752)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T22:31:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "940efcd011ce8556a7bb53a6d2612dd0bb7dec7c",
"body": null,
"is_bot": false,
"headline": "pin claude code version (#749)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T21:59:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a10b553f3c6c623c5fc8a7b386aa09274090e96",
"body": null,
"is_bot": false,
"headline": "Update README with feature list (#706)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T20:40:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa7bde8e6eb6ae4179249b00fcb7b9aedfc58834",
"body": null,
"is_bot": false,
"headline": "config api (#701)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T20:38:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8dc68d64ad03f346efe0b3bcbae69a363ab4028",
"body": null,
"is_bot": false,
"headline": "build cop: \"Won't fix\" column (#705)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T20:16:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19795bc37599cc34ab76058e80c8ba1fb946bfbd",
"body": null,
"is_bot": false,
"headline": "swap diff and tasks tabs",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T19:45:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cce5f6d213e7ed1553e91d1e803a794707da8157",
"body": null,
"is_bot": false,
"headline": "show nearest chunk (#692)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T19:43:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7c602b6ad84db5e0e20734fef0986cc0c63e9e9",
"body": null,
"is_bot": false,
"headline": "collapse file in diff view (#683)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T08:47:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34b3ec747844e1ee4d4c2505dfa84a105699f56f",
"body": null,
"is_bot": false,
"headline": "assess localstorage usage (#684)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T08:20:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9ff3ebdd5a25dcc0b2889993b3a3443bbe6a99f",
"body": null,
"is_bot": false,
"headline": "scroll to file on view file toggle",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T08:01:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4df75cbab001b5a7d9d92d0fa918dd1e26bf349c",
"body": null,
"is_bot": false,
"headline": "scroll to file on view file toggle (#682)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T07:53:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bed1cf175ebaa916f01046db4395e59398a2c6bd",
"body": "Remove three Type-4 (semantic) duplications surfaced by the LLM semantic\nsweep and confirmed by adversarial verification (four other candidates were\nverified and intentionally left — divergent behavior or not worth the\nindirection):\n\n- internal/eventbus: shared Publisher interface, replacing byte-id\n[…]\n single-field section merges (worktrees/git/plans/branches/harness).\n\nBehavior-preserving; go build/vet and the full go test ./... suite pass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "dedup poller boilerplate via semantic-clone sweep",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T07:37:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f46c981e9ef826860f45c4c746550fa73793bd20",
"body": null,
"is_bot": false,
"headline": "delete dead go code",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T07:11:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3ad6c491e7b89471c864c1ad5c0a7b67ad13517",
"body": null,
"is_bot": false,
"headline": "open full page (#671)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T07:04:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10f1d50a16d877cc60ff75cd4e7cc3e4f3e1a955",
"body": null,
"is_bot": false,
"headline": "find semantically similar code (#676)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T07:01:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c14f5ef8a4b978d470526f4ff9902d7c8869f08",
"body": null,
"is_bot": false,
"headline": "canvas expand (#672)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T06:41:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23fafdb2bcb6d1e48af4e82e1fdf6482e457e880",
"body": null,
"is_bot": false,
"headline": "git metrics in prometheus (#669)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T06:11:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d475c1194817313d0252bcd20ac278d7f71679f",
"body": null,
"is_bot": false,
"headline": "git diff performance (#670)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T06:05:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ad4ac2024bf2336f135f71516d31438a3823abc",
"body": null,
"is_bot": false,
"headline": "kanban pride (#669)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-02T02:15:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47859ea4419bdde12c31ceda53e64b1cc07ef472",
"body": null,
"is_bot": false,
"headline": "feat: diff viewer tab",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-06-01T21:50:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b972ec94c1d51e0d91482acb4b29cdd159f26e8",
"body": null,
"is_bot": false,
"headline": "404 after 26713ba (#618)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-29T09:47:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8018d168fd7e8f26101c9b8c4b87a8af8d084dbb",
"body": null,
"is_bot": false,
"headline": "fix \"Loading board...\" panel size",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-29T09:44:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26713bab8361a3f564d2e29a5342cd366ec1ab1a",
"body": null,
"is_bot": false,
"headline": "terminal loading bug (#606)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-29T07:11:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51b27b755cd27fdce5b04ce6bbdb8fbb2f0c8f46",
"body": null,
"is_bot": false,
"headline": "upgrade devcontainer",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-29T06:23:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94cfc0b50ebc0821a67d5d8e13cad5a1a13a9488",
"body": null,
"is_bot": false,
"headline": "fix image smoke tests (#607)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-29T06:04:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6a257dd1193b2916e8cf66e21bde508cfc178c3",
"body": null,
"is_bot": false,
"headline": "audit github api usage (#604)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-29T05:44:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9007bc3e9267d2027039ec9604250b6569fa9bea",
"body": "Pre-compute the audit-friendly DB, HTTP, and GitHub latency expressions\nso dashboards and ad-hoc queries can read them as first-class metrics\ninstead of re-deriving histograms each scrape.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: prometheus recording rules",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T21:35:48Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f2648240d0bbd00ab8a05bc35a845503e12ffef5",
"body": null,
"is_bot": false,
"headline": "audit prometheus metrics (#562)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T20:37:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d1c573a700a0affad38e3ae3b7f763c3bae05d2",
"body": null,
"is_bot": false,
"headline": "feat: client logs in docker logs (#557)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T20:08:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "341de91132e90ae0dee93550dc87cd35fbf47db0",
"body": null,
"is_bot": false,
"headline": "sync upstream (#556)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T20:08:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d075de125ab8b1065af0708488f396338393ee0c",
"body": null,
"is_bot": false,
"headline": "feat: archive shortcut (#560)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T20:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1b2b7680f3c13f7825c8969f4adbbe0b14f5730",
"body": null,
"is_bot": false,
"headline": "chore: prometheus metrics",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T19:55:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "477873f019ec283f1a0e493918acccba355f7ee7",
"body": null,
"is_bot": false,
"headline": "chore: prometheus metrics (#553)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-26T18:10:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74be549305ca52bebfd955203ad2dcb44f87a723",
"body": null,
"is_bot": false,
"headline": "install uv into devcontainer (#546)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-22T19:18:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b575e1ad9633586e182dc76881a27aa1f1a07ba5",
"body": null,
"is_bot": false,
"headline": "clarify install location",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-21T16:15:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be89a0e7c8e52cf14bc2282105f74e92943fa505",
"body": null,
"is_bot": false,
"headline": "feat: render descriptions as markdown (#494)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-18T21:55:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0229b8ac0120f97d99b3b4653c3f8527959a0feb",
"body": null,
"is_bot": false,
"headline": "feat: (#115)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-18T01:57:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b084b3c525ca59da868d52558dfa4c83d986797",
"body": null,
"is_bot": false,
"headline": "fix: incorrect pane closing (#112)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-16T06:22:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "627b5a79a8588c18f409f5f193a93413e22310ae",
"body": null,
"is_bot": false,
"headline": "feat: copy description button (#111)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-16T03:37:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c4d52c31ad9ed87fbfb383da7c2951b8869c477",
"body": null,
"is_bot": false,
"headline": "fix: done button handles all column names",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-16T01:48:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f23b62da39570f048e87dd1660256a51669ffd84",
"body": null,
"is_bot": false,
"headline": "context canceled",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-16T01:48:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78a79da9ea1c151f47842ffb6aa89e45f271f895",
"body": "… `pre-commit` (#477)",
"is_bot": false,
"headline": "feat: install `prek` into the built-in devcontainer and symlink it to…",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-15T18:56:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a50b6180f162dba4b2f242786cb723c270e0f5b",
"body": null,
"is_bot": false,
"headline": "lol",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-15T17:08:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "679ca1dcab9db074b259fad9b72de0e14f74dd2d",
"body": null,
"is_bot": false,
"headline": "feat: plans viewer (#460)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T21:29:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ee82c77822d9d0307dcfcc55956036dc5ac3d2a",
"body": null,
"is_bot": false,
"headline": "feat: build cop board (#456)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T21:10:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "845c5f4fcc6e1b6988cf6d900acef94186ba6d57",
"body": null,
"is_bot": false,
"headline": "tests: fix playwright (#457)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T20:05:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c3d5a1006bee5f627e85785fde6199591b19b0a",
"body": "CreateTicket inlined the same SELECT MAX(position) ... WHERE column_id=?\nAND archived_at IS NULL query that MaxTicketPosition already exports.\nSwap for the helper. UnarchiveTicket keeps its inline copy since it\nruns inside a transaction.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor: CreateTicket reuses MaxTicketPosition",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T06:08:55Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "15c62a05cac6a811304652c162f5da34d39aa650",
"body": null,
"is_bot": false,
"headline": "question: does the devcontainer have the docker socket mounted (#73)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T06:05:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6d8db9aeb53f75e611619ead655d415261f67ee",
"body": null,
"is_bot": false,
"headline": "refactor: deduplicate code (#72)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T05:49:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4031b2734a5d1b42892b8da94e150081eed3906f",
"body": null,
"is_bot": false,
"headline": "feat: organize boards (#70)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T04:49:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9abaaa7faa0eb44d6c606ab64c621dd71d07afd",
"body": null,
"is_bot": false,
"headline": "index out of bounds (×2) (#442)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-14T03:46:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8cfb07400db242a2b67310574bed0d084025a91",
"body": null,
"is_bot": false,
"headline": "fix: no session exists error (#436)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T22:21:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54ca950cc3263267b19535f47baf68ac036da5b9",
"body": "This reverts commit 6b1edc7479702f31ecb9ee7bcf5abd443d2979f3.",
"is_bot": false,
"headline": "Revert \"feat: change background to blue (#419)\"",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T22:03:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd5694f7a8fe7000101f291bb6605b64b39bddaa",
"body": null,
"is_bot": false,
"headline": "fix: ensure ~/.claude.json is mounted (#433)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T22:00:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b1edc7479702f31ecb9ee7bcf5abd443d2979f3",
"body": null,
"is_bot": false,
"headline": "feat: change background to blue (#419)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T21:39:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7729c47d006c7a99c3597205abd778702a949254",
"body": null,
"is_bot": false,
"headline": "nit",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T21:39:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f25a290ce38be4618b4bb8fa34c74806ce96896",
"body": null,
"is_bot": false,
"headline": "fix: overview tickets session starting (#393)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T21:39:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dca0e34577ebfb10343eeccd003959396580ce3b",
"body": null,
"is_bot": false,
"headline": "Production Dockerfile has no USER directive, runs kanban as root (#38)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T08:17:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdabf349fa85ed91a332e239dbcfed6bd6633c13",
"body": null,
"is_bot": false,
"headline": "WebSocket upgrader CheckOrigin returns true (CSWSH on PTY/shell) (#73)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T08:01:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "520fb24ce028bd78629d7c13e58fc832c32b91a5",
"body": null,
"is_bot": false,
"headline": "chore: upgrade dockerfile go version",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T07:40:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0cc4254500dcb6da8fda13ab4fd694abdbcaa278",
"body": null,
"is_bot": false,
"headline": "fix: make boards header sticky (#72)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T07:36:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4fe0d0592488a229348e5e0ca15ba24266f2f9b",
"body": null,
"is_bot": false,
"headline": "fix: frontend hanging reporting (#71)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T07:32:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed7787f2c7d6554b614cb97a583ace70a47bab4c",
"body": null,
"is_bot": false,
"headline": "chore: pre-commit task (#70)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T07:20:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86358b7c58304e40b641a5f22e34e6632cd5e689",
"body": null,
"is_bot": false,
"headline": "tests: playwright tests for the overview page",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T06:53:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78e7b38e3915dd73b2b0b08cb4de081624466d6d",
"body": null,
"is_bot": false,
"headline": "chore: fix pre-commit (#71)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T06:46:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34325edf5fedb26f8c30ef6039e982601a4ecae6",
"body": null,
"is_bot": false,
"headline": "chore: upgrade devcontainer",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T06:35:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a56f549fcf69ddd30c1968121b785a829d55877c",
"body": null,
"is_bot": false,
"headline": "chore: package auditing",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T06:24:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52e4b3ba767dcef7dced36b0a3b7d004038e12c8",
"body": null,
"is_bot": false,
"headline": "chore: upgrade actions",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T06:07:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb78b475392401093329ace0a0b6151e4a8d4aeb",
"body": null,
"is_bot": false,
"headline": "chore: package auditing (#70)",
"author_name": "Jamison Lahman",
"author_login": "jmelahman",
"committed_at": "2026-05-13T06:05:50Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 42,
"commits_last_year": 397,
"latest_release_at": "2026-07-17T17:08:35Z",
"latest_release_tag": "v1.2.1",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 9,
"days_since_latest_release": 4,
"mean_days_between_releases": 5
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "agentic-kanban",
"exists": true,
"license": null,
"keywords": [
"agentic",
"agents",
"claude",
"claude-code",
"kanban",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Programming Language :: Go"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/agentic-kanban/",
"is_deprecated": false,
"latest_version": "1.2.1",
"repository_url": "https://github.com/jmelahman/agentic-kanban",
"versions_count": 42,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 3199,
"first_published_at": "2026-05-01T09:09:26.275372Z",
"latest_published_at": "2026-07-17T17:06:39.285312Z",
"latest_version_yanked": null,
"days_since_latest_publish": 4
}
]
},
"popularity": {
"forks": 0,
"stars": 5,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [
{
"date": "2026-05-04",
"count": 1
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-08",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-07-15",
"count": 1
}
],
"complete": true,
"collected": 5,
"total_stars": 5
},
"open_issues_and_prs": 10
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": true,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": true,
"typecheck_configs": [
"web/tsconfig.json"
],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 57201,
"source_files_sampled": 186,
"oversized_source_files": 0,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 6925
},
"dependencies": {
"manifests": [
"docs/package.json",
"go.mod",
"pyproject.toml",
"web/package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "github.com/docker/docker",
"direct": true,
"version": "v28.5.2+incompatible",
"severity": "high",
"ecosystem": "go",
"cvss_score": 8.8,
"advisory_ids": [
"GHSA-pxq6-2prw-chj9",
"GHSA-rg2x-37c3-w2rh",
"GHSA-vp62-88p7-qqf5",
"GHSA-x744-4wpc-v9h2",
"GHSA-x86f-5xw2-fm2r",
"GO-2026-4883",
"GO-2026-4887",
"GO-2026-5617",
"GO-2026-5668",
"GO-2026-5746"
],
"fixed_version": "29.3.1",
"advisory_count": 10,
"oldest_advisory_days": 116
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-jxxr-4gwj-5jf2"
],
"fixed_version": "5.0.7",
"advisory_count": 2,
"oldest_advisory_days": 64
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68"
],
"fixed_version": "4.3.0",
"advisory_count": 2,
"oldest_advisory_days": 36
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-v245-v573-v5vm"
],
"fixed_version": "5.0.2",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "vite",
"direct": false,
"version": "5.4.21",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-4w7w-66w2-5vf9",
"GHSA-fx2h-pf6j-xcff",
"GHSA-v6wh-96g9-6wx3"
],
"fixed_version": "8.0.16",
"advisory_count": 3,
"oldest_advisory_days": 106
},
{
"name": "esbuild",
"direct": false,
"version": "0.21.5",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-67mh-4wv8-2f99"
],
"fixed_version": "0.25.0",
"advisory_count": 1,
"oldest_advisory_days": 526
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.38.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 7
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 5,
"unknown": 1,
"moderate": 1
},
"advisory_count": 20,
"affected_count": 7,
"assessed_count": 467,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 1,
"direct_affected_count": 1
},
"ecosystems": [
"go",
"npm",
"pypi"
],
"dependencies": [
{
"name": "github.com/docker/docker",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v28.5.2+incompatible"
},
{
"name": "github.com/docker/go-connections",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/gorilla/websocket",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.3"
},
{
"name": "github.com/pelletier/go-toml/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.4.2"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.23.2"
},
{
"name": "github.com/prometheus/client_model",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.2"
},
{
"name": "github.com/spf13/cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.10.2"
},
{
"name": "golang.org/x/net",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.56.0"
},
{
"name": "modernc.org/sqlite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.53.0"
},
{
"name": "@dnd-kit/core",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^6.3.1"
},
{
"name": "@dnd-kit/sortable",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^10.0.0"
},
{
"name": "@dnd-kit/utilities",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.2"
},
{
"name": "@pierre/diffs",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.5"
},
{
"name": "@tanstack/react-query",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^5.101.2"
},
{
"name": "ghostty-web",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.0"
},
{
"name": "react",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.7"
},
{
"name": "react-dom",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.7"
},
{
"name": "react-markdown",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^10.1.0"
},
{
"name": "react-rnd",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^10.5.3"
},
{
"name": "remark-gfm",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.1"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/docker/docker",
"direct": true,
"version": "v28.5.2+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-connections",
"direct": true,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": true,
"version": "v1.5.3",
"ecosystem": "go"
},
{
"name": "github.com/pelletier/go-toml/v2",
"direct": true,
"version": "v2.4.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": true,
"version": "v1.23.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": true,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cobra",
"direct": true,
"version": "v1.10.2",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": true,
"version": "v0.56.0",
"ecosystem": "go"
},
{
"name": "modernc.org/sqlite",
"direct": true,
"version": "v1.53.0",
"ecosystem": "go"
},
{
"name": "@dnd-kit/core",
"direct": true,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/sortable",
"direct": true,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/utilities",
"direct": true,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@pierre/diffs",
"direct": true,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "@tanstack/react-query",
"direct": true,
"version": "5.101.2",
"ecosystem": "npm"
},
{
"name": "ghostty-web",
"direct": true,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "react",
"direct": true,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": true,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "react-markdown",
"direct": true,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "react-rnd",
"direct": true,
"version": "10.5.3",
"ecosystem": "npm"
},
{
"name": "remark-gfm",
"direct": true,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "github.com/azure/go-ansiterm",
"direct": false,
"version": "v0.0.0-20250102033503-faa5f7b0171c",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs/pkg",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/log",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/distribution/reference",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-units",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/dustin/go-humanize",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/inconshreveable/mousetrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.22",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/moby/docker-image-spec",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/atomicwriter",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/term",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/morikuni/aec",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/ncruces/go-strftime",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/go-digest",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/image-spec",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.66.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.16.1",
"ecosystem": "go"
},
{
"name": "github.com/remyoudompheng/bigfft",
"direct": false,
"version": "v0.0.0-20230129092748-24d4a6f8daec",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": false,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.68.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v2",
"direct": false,
"version": "v2.4.2",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.46.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.38.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": false,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "gotest.tools/v3",
"direct": false,
"version": "v3.5.2",
"ecosystem": "go"
},
{
"name": "modernc.org/libc",
"direct": false,
"version": "v1.73.4",
"ecosystem": "go"
},
{
"name": "modernc.org/mathutil",
"direct": false,
"version": "v1.7.1",
"ecosystem": "go"
},
{
"name": "modernc.org/memory",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "@algolia/abtesting",
"direct": false,
"version": "1.18.1",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-core",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-plugin-algolia-insights",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-preset-algolia",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-shared",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/client-abtesting",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/client-analytics",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/client-common",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/client-insights",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/client-personalization",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/client-query-suggestions",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/client-search",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/ingestion",
"direct": false,
"version": "1.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/monitoring",
"direct": false,
"version": "1.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/recommend",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-browser-xhr",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-fetch",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-node-http",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.3",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@biomejs/biome",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-darwin-arm64",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-darwin-x64",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-arm64",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-arm64-musl",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-x64",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-x64-musl",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-win32-arm64",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-win32-x64",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/accessibility",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@docsearch/css",
"direct": false,
"version": "3.8.2",
"ecosystem": "npm"
},
{
"name": "@docsearch/js",
"direct": false,
"version": "3.8.2",
"ecosystem": "npm"
},
{
"name": "@docsearch/react",
"direct": false,
"version": "3.8.2",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@iconify-json/simple-icons",
"direct": false,
"version": "1.2.81",
"ecosystem": "npm"
},
{
"name": "@iconify/types",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.138.0",
"ecosystem": "npm"
},
{
"name": "@pierre/theme",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@playwright/test",
"direct": false,
"version": "1.60.0",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-rc.7",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "@shikijs/core",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/core",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-javascript",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-javascript",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/transformers",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/transformers",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/vscode-textmate",
"direct": false,
"version": "10.0.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/node",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-android-arm64",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-darwin-arm64",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-darwin-x64",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-freebsd-x64",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm-gnueabihf",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm64-gnu",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm64-musl",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-x64-gnu",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-x64-musl",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-wasm32-wasi",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-win32-arm64-msvc",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-win32-x64-msvc",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/vite",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@tanstack/query-core",
"direct": false,
"version": "5.101.2",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "@types/debug",
"direct": false,
"version": "4.1.13",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/estree-jsx",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "@types/hast",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/linkify-it",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it",
"direct": false,
"version": "14.1.2",
"ecosystem": "npm"
},
{
"name": "@types/mdast",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "19.2.17",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "19.2.3",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "2.0.11",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/web-bluetooth",
"direct": false,
"version": "0.0.21",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": false,
"version": "5.2.4",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-core",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-dom",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-sfc",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-ssr",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-api",
"direct": false,
"version": "7.7.9",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-kit",
"direct": false,
"version": "7.7.9",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-shared",
"direct": false,
"version": "7.7.9",
"ecosystem": "npm"
},
{
"name": "@vue/reactivity",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-core",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-dom",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/server-renderer",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "@vueuse/core",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/integrations",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/metadata",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/shared",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "algoliasearch",
"direct": false,
"version": "5.52.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "bail",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "birpc",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "ccount",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "character-entities",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "character-entities-html4",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "character-entities-legacy",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "character-reference-invalid",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "comma-separated-tokens",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "copy-anything",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decode-named-character-reference",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "devlop",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex-xs",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.21.3",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "estree-util-is-identifier-name",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "extend-shallow",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fault",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "focus-trap",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "format",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "gray-matter",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "hast-util-to-html",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "hast-util-to-jsx-runtime",
"direct": false,
"version": "2.3.6",
"ecosystem": "npm"
},
{
"name": "hast-util-whitespace",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "hookable",
"direct": false,
"version": "5.5.3",
"ecosystem": "npm"
},
{
"name": "html-url-attributes",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "html-void-elements",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "inline-style-parser",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "is-alphabetical",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-alphanumerical",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-decimal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-extendable",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-hexadecimal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-what",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "longest-streak",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lru_map",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "mark.js",
"direct": false,
"version": "8.11.1",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": false,
"version": "14.2.0",
"ecosystem": "npm"
},
{
"name": "markdown-table",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "markdown-title",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-find-and-replace",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-from-markdown",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "mdast-util-frontmatter",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-autolink-literal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-strikethrough",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-table",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-task-list-item",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx-expression",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx-jsx",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdxjs-esm",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-phrasing",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-hast",
"direct": false,
"version": "13.2.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-markdown",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-core-commonmark",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-extension-frontmatter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-autolink-literal",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-strikethrough",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-table",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-tagfilter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-task-list-item",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-factory-destination",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-label",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-space",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-title",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-whitespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-chunked",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-classify-character",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-combine-extensions",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-numeric-character-reference",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-string",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-encode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-html-tag-name",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-normalize-identifier",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-resolve-all",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-sanitize-uri",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-subtokenize",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-types",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "millify",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minisearch",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "mitt",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.12",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.15",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "oniguruma-parser",
"direct": false,
"version": "0.12.2",
"ecosystem": "npm"
},
{
"name": "oniguruma-to-es",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "oniguruma-to-es",
"direct": false,
"version": "4.3.6",
"ecosystem": "npm"
},
{
"name": "parse-entities",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "perfect-debounce",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "playwright",
"direct": false,
"version": "1.60.0",
"ecosystem": "npm"
},
{
"name": "playwright-core",
"direct": false,
"version": "1.60.0",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.14",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.16",
"ecosystem": "npm"
},
{
"name": "preact",
"direct": false,
"version": "10.29.1",
"ecosystem": "npm"
},
{
"name": "pretty-bytes",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "property-information",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "punycode.js",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "re-resizable",
"direct": false,
"version": "6.11.2",
"ecosystem": "npm"
},
{
"name": "react-draggable",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "regex",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "regex-recursion",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "regex-utilities",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "remark",
"direct": false,
"version": "15.0.1",
"ecosystem": "npm"
},
{
"name": "remark-frontmatter",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "remark-parse",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "remark-rehype",
"direct": false,
"version": "11.1.2",
"ecosystem": "npm"
},
{
"name": "remark-stringify",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "rfdc",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.60.3",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.27.0",
"ecosystem": "npm"
},
{
"name": "search-insights",
"direct": false,
"version": "2.17.3",
"ecosystem": "npm"
},
{
"name": "section-matter",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shiki",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "shiki",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "space-separated-tokens",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "speakingurl",
"direct": false,
"version": "14.0.1",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "stringify-entities",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-bom-string",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "style-to-js",
"direct": false,
"version": "1.1.21",
"ecosystem": "npm"
},
{
"name": "style-to-object",
"direct": false,
"version": "1.0.14",
"ecosystem": "npm"
},
{
"name": "superjson",
"direct": false,
"version": "2.2.6",
"ecosystem": "npm"
},
{
"name": "tabbable",
"direct": false,
"version": "6.4.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tokenx",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "trim-lines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "trough",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "unified",
"direct": false,
"version": "11.0.5",
"ecosystem": "npm"
},
{
"name": "unist-util-is",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "unist-util-position",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-remove",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-stringify-position",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit-parents",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "vfile",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-message",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "5.4.21",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "8.1.3",
"ecosystem": "npm"
},
{
"name": "vitepress",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "vitepress-plugin-llms",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": false,
"version": "3.5.34",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "zwitch",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "go-bin",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 468,
"direct_count": 20,
"indirect_count": 448
}
},
"maintainership": {
"issues": {
"open_prs": 10,
"merged_prs": 11,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 22
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "jmelahman",
"commits": 389,
"avatar_url": "https://avatars.githubusercontent.com/u/23436978?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"devcontainer.yml",
"docs.yml",
"release.yml",
"test.yml",
"zizmor.yml"
],
"has_docs_dir": true,
"linter_configs": [
"biome.json"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"go.sum",
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 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": 10,
"reason": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/22 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"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": 0,
"reason": "project was created within the last 90 days. Please review its contents carefully",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 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": 2,
"reason": "SAST tool is not run on all commits -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "15 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "09da961a1182ec99289f65ed5a2101a4785a5207",
"ran_at": "2026-07-22T02:48:49Z",
"aggregate_score": 4.5,
"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-21T08:55:18Z",
"oldest_open_prs": [
{
"number": 9,
"created_at": "2026-05-11T03:29:50Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 35,
"created_at": "2026-07-17T17:02:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 36,
"created_at": "2026-07-17T17:03:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 37,
"created_at": "2026-07-17T17:03:18Z",
"last_comment_at": "2026-07-17T17:03:18Z",
"last_comment_author": "dependabot"
},
{
"number": 38,
"created_at": "2026-07-17T17:03:21Z",
"last_comment_at": "2026-07-17T17:03:21Z",
"last_comment_author": "dependabot"
},
{
"number": 39,
"created_at": "2026-07-17T17:03:23Z",
"last_comment_at": "2026-07-17T17:03:24Z",
"last_comment_author": "dependabot"
},
{
"number": 40,
"created_at": "2026-07-17T17:03:31Z",
"last_comment_at": "2026-07-17T17:03:32Z",
"last_comment_author": "dependabot"
},
{
"number": 41,
"created_at": "2026-07-17T17:03:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 42,
"created_at": "2026-07-17T17:03:41Z",
"last_comment_at": "2026-07-17T17:03:41Z",
"last_comment_author": "dependabot"
},
{
"number": 43,
"created_at": "2026-07-21T08:55:17Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-15T04:11:54Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/jmelahman/agentic-kanban",
"host": "github.com",
"name": "agentic-kanban",
"owner": "jmelahman"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"security": 48,
"vitality": 72,
"community": 36,
"governance": 45,
"engineering": 88
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 72,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"commits_last_year": 397,
"human_commit_share": 0.92,
"days_since_last_push": 0,
"active_weeks_last_year": 9
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "9/52 weeks with commits",
"points": 6.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 9
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "397 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 397
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 42,
"latest_release_tag": "v1.2.1",
"releases_from_tags": false,
"days_since_latest_release": 4,
"mean_days_between_releases": 5
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "42 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 42
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~5 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 5
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 36,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"forks": 0,
"stars": 5,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "below_threshold"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "5 stars",
"points": 9.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 5
}
}
],
"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": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"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 (GPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "GPL-3.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
}
]
},
{
"key": "ecosystem_adoption",
"band": "moderate",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 58,
"inputs": {
"packages": [
"agentic-kanban"
],
"dependents": null,
"ecosystems": "pypi",
"total_downloads": null,
"monthly_downloads": 3199
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "3,199 downloads/month across pypi",
"points": 46.7,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 3199,
"ecosystems": "pypi"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 45,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 13,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"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 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "critical",
"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": 24,
"inputs": {
"merged_prs": 11,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 22
},
"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": "11/33 decided PRs merged",
"points": 12.8,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 11,
"decided": 33
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/22 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"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": 117,
"owner_type": "User",
"is_verified": null,
"owner_login": "jmelahman",
"public_repos": 46,
"account_age_days": 3537
},
"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": "117 followers of jmelahman",
"points": 14.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 117,
"login": "jmelahman"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "46 public repos, account ~9 yr old",
"points": 24.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 46
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"agentic-kanban"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 4
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 4 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 4
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "42 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 42
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 88,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 94,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"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": "biome.json",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "biome.json"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"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": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "http://jamison.lahman.dev/agentic-kanban/",
"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": "http://jamison.lahman.dev/agentic-kanban/",
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 48,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": null,
"notes": [],
"value": 46,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 4.5
},
"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": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/22 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"status": "partial",
"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": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 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 2",
"points": 1,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "15 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 467 resolved dependencies against OSV; 1 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 467
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 1
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 58,
"inputs": {
"source": "osv",
"advisories": 20,
"affected_packages": 7,
"assessed_packages": 467,
"unassessed_packages": 1,
"affected_by_severity": "high 5, moderate 1, unknown 1",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: github.com/docker/docker v28.5.2+incompatible (high 8.8)",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "github.com/docker/docker v28.5.2+incompatible (high 8.8)"
}
}
],
"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": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 116 days ago",
"points": 32.8,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 1,
"oldest": 116
}
}
],
"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": 467,
"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": 2
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 80,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.88,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 6925
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "81 of 92 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 81,
"sampled": 92
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum",
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": true,
"has_linter_config": true,
"typecheck_configs": [
"web/tsconfig.json"
],
"agent_commit_share": 0.11,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.08
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "go.mod (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "go.mod"
}
}
],
"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": "biome.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "biome.json"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "web/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "web/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "devcontainer, Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "devcontainer, Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "11 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 11,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "8 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 8,
"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": "Go",
"largest_source_bytes": 57201,
"source_files_sampled": 186,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/186 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 186,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "critical",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"example_dirs": [],
"has_mcp_signal": true,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Could not fetch go package 'github.com/jmelahman/kanban' from its registry",
"deps.dev does not index pypi:agentic-kanban@1.2.1; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-22T02:48:57.883319Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/jmelahman/agentic-kanban.svg",
"full_name": "jmelahman/agentic-kanban",
"license_state": "standard",
"license_spdx": "GPL-3.0"
}