原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 1982,
"has_wiki": true,
"homepage": "https://mcp.toolvn.io.vn",
"languages": {
"Shell": 13527,
"Dockerfile": 3739,
"JavaScript": 39408,
"PowerShell": 14305,
"TypeScript": 1030002
},
"pushed_at": "2026-07-17T03:56:19Z",
"created_at": "2026-06-05T04:23:53Z",
"owner_type": "User",
"updated_at": "2026-07-17T03:56:22Z",
"description": "MCP server: Webcake landing-page element schemas + AI usage hints + page-source persistence (for LLM page generation)",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "https://linktr.ee/vuluu2k",
"name": "Lưu Công Quang Vũ",
"type": "User",
"login": "vuluu2k",
"company": null,
"location": "HaNoi",
"followers": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/73820126?v=4",
"created_at": "2020-11-02T08:34:02Z",
"is_verified": null,
"public_repos": 95,
"account_age_days": 2087
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2026-07-17T03:56:28Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2026-06-21T06:56:14Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2026-06-21T04:59:07Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-06-20T16:01:27Z"
},
{
"tag": "v1.0.84",
"kind": "patch",
"published_at": "2026-06-17T02:27:32Z"
},
{
"tag": "v1.0.83",
"kind": "patch",
"published_at": "2026-06-16T18:02:36Z"
},
{
"tag": "v1.0.82",
"kind": "patch",
"published_at": "2026-06-16T07:34:16Z"
},
{
"tag": "v1.0.81",
"kind": "patch",
"published_at": "2026-06-16T07:04:49Z"
},
{
"tag": "v1.0.80",
"kind": "patch",
"published_at": "2026-06-16T04:39:24Z"
},
{
"tag": "v1.0.79",
"kind": "patch",
"published_at": "2026-06-15T10:39:42Z"
},
{
"tag": "v1.0.78",
"kind": "patch",
"published_at": "2026-06-15T09:37:02Z"
},
{
"tag": "v1.0.77",
"kind": "patch",
"published_at": "2026-06-15T07:43:28Z"
},
{
"tag": "v1.0.76",
"kind": "patch",
"published_at": "2026-06-15T04:47:36Z"
},
{
"tag": "v1.0.75",
"kind": "patch",
"published_at": "2026-06-15T04:35:23Z"
},
{
"tag": "v1.0.74",
"kind": "patch",
"published_at": "2026-06-13T10:56:23Z"
},
{
"tag": "v1.0.73",
"kind": "patch",
"published_at": "2026-06-13T10:16:02Z"
},
{
"tag": "v1.0.72",
"kind": "patch",
"published_at": "2026-06-13T09:07:39Z"
},
{
"tag": "v1.0.71",
"kind": "patch",
"published_at": "2026-06-13T08:33:36Z"
},
{
"tag": "v1.0.70",
"kind": "patch",
"published_at": "2026-06-13T01:57:20Z"
},
{
"tag": "v1.0.69",
"kind": "patch",
"published_at": "2026-06-12T08:59:26Z"
},
{
"tag": "v1.0.68",
"kind": "patch",
"published_at": "2026-06-12T08:36:11Z"
},
{
"tag": "v1.0.67",
"kind": "patch",
"published_at": "2026-06-12T05:19:21Z"
},
{
"tag": "v1.0.66",
"kind": "patch",
"published_at": "2026-06-12T04:24:47Z"
},
{
"tag": "v1.0.65",
"kind": "patch",
"published_at": "2026-06-12T04:18:31Z"
},
{
"tag": "v1.0.64",
"kind": "patch",
"published_at": "2026-06-12T03:38:35Z"
},
{
"tag": "v1.0.63",
"kind": "patch",
"published_at": "2026-06-11T17:25:53Z"
},
{
"tag": "v1.0.62",
"kind": "patch",
"published_at": "2026-06-11T11:37:01Z"
},
{
"tag": "v1.0.61",
"kind": "patch",
"published_at": "2026-06-11T11:01:04Z"
},
{
"tag": "v1.0.60",
"kind": "patch",
"published_at": "2026-06-11T10:32:49Z"
},
{
"tag": "v1.0.59",
"kind": "patch",
"published_at": "2026-06-11T09:34:27Z"
},
{
"tag": "v1.0.58",
"kind": "patch",
"published_at": "2026-06-11T09:03:42Z"
},
{
"tag": "v1.0.57",
"kind": "patch",
"published_at": "2026-06-11T08:49:40Z"
},
{
"tag": "v1.0.56",
"kind": "patch",
"published_at": "2026-06-11T04:28:45Z"
},
{
"tag": "v1.0.55",
"kind": "patch",
"published_at": "2026-06-10T18:10:02Z"
},
{
"tag": "v1.0.54",
"kind": "patch",
"published_at": "2026-06-10T10:40:40Z"
},
{
"tag": "v1.0.53",
"kind": "patch",
"published_at": "2026-06-10T10:07:40Z"
},
{
"tag": "v1.0.52",
"kind": "patch",
"published_at": "2026-06-10T09:23:23Z"
},
{
"tag": "v1.0.51",
"kind": "patch",
"published_at": "2026-06-10T08:46:56Z"
},
{
"tag": "v1.0.50",
"kind": "patch",
"published_at": "2026-06-10T07:07:19Z"
},
{
"tag": "v1.0.49",
"kind": "patch",
"published_at": "2026-06-10T04:51:47Z"
},
{
"tag": "v1.0.48",
"kind": "patch",
"published_at": "2026-06-10T02:50:36Z"
},
{
"tag": "v1.0.47",
"kind": "patch",
"published_at": "2026-06-10T01:55:08Z"
},
{
"tag": "v1.0.46",
"kind": "patch",
"published_at": "2026-06-09T10:47:11Z"
},
{
"tag": "v1.0.45",
"kind": "patch",
"published_at": "2026-06-09T08:41:47Z"
},
{
"tag": "v1.0.44",
"kind": "patch",
"published_at": "2026-06-09T08:06:13Z"
},
{
"tag": "v1.0.43",
"kind": "patch",
"published_at": "2026-06-09T07:12:17Z"
},
{
"tag": "v1.0.42",
"kind": "patch",
"published_at": "2026-06-09T04:57:53Z"
},
{
"tag": "v1.0.41",
"kind": "patch",
"published_at": "2026-06-09T04:52:15Z"
},
{
"tag": "v1.0.40",
"kind": "patch",
"published_at": "2026-06-09T04:27:39Z"
},
{
"tag": "v1.0.39",
"kind": "patch",
"published_at": "2026-06-08T16:11:23Z"
},
{
"tag": "v1.0.38",
"kind": "patch",
"published_at": "2026-06-08T10:13:06Z"
},
{
"tag": "v1.0.37",
"kind": "patch",
"published_at": "2026-06-08T07:25:23Z"
},
{
"tag": "v1.0.36",
"kind": "patch",
"published_at": "2026-06-08T05:18:48Z"
},
{
"tag": "v1.0.35",
"kind": "patch",
"published_at": "2026-06-08T05:15:25Z"
},
{
"tag": "v1.0.34",
"kind": "patch",
"published_at": "2026-06-08T04:16:08Z"
},
{
"tag": "v1.0.33",
"kind": "patch",
"published_at": "2026-06-08T03:50:56Z"
},
{
"tag": "v1.0.32",
"kind": "patch",
"published_at": "2026-06-08T03:23:53Z"
},
{
"tag": "v1.0.31",
"kind": "patch",
"published_at": "2026-06-08T03:13:28Z"
},
{
"tag": "v1.0.30",
"kind": "patch",
"published_at": "2026-06-08T02:56:20Z"
},
{
"tag": "v1.0.29",
"kind": "patch",
"published_at": "2026-06-08T02:36:18Z"
},
{
"tag": "v1.0.28",
"kind": "patch",
"published_at": "2026-06-08T02:16:38Z"
},
{
"tag": "v1.0.27",
"kind": "patch",
"published_at": "2026-06-08T02:00:27Z"
},
{
"tag": "v1.0.26",
"kind": "patch",
"published_at": "2026-06-07T15:18:19Z"
},
{
"tag": "v1.0.25",
"kind": "patch",
"published_at": "2026-06-07T12:12:46Z"
},
{
"tag": "v1.0.24",
"kind": "patch",
"published_at": "2026-06-07T09:30:17Z"
},
{
"tag": "v1.0.23",
"kind": "patch",
"published_at": "2026-06-07T08:37:10Z"
},
{
"tag": "v1.0.22",
"kind": "patch",
"published_at": "2026-06-07T05:09:57Z"
},
{
"tag": "v1.0.21",
"kind": "patch",
"published_at": "2026-06-07T03:45:26Z"
},
{
"tag": "v1.0.20",
"kind": "patch",
"published_at": "2026-06-07T02:43:52Z"
},
{
"tag": "v1.0.19",
"kind": "patch",
"published_at": "2026-06-07T02:26:14Z"
},
{
"tag": "v1.0.18",
"kind": "patch",
"published_at": "2026-06-07T01:00:53Z"
},
{
"tag": "v1.0.17",
"kind": "patch",
"published_at": "2026-06-07T00:17:49Z"
},
{
"tag": "v1.0.16",
"kind": "patch",
"published_at": "2026-06-06T17:49:31Z"
},
{
"tag": "v1.0.15",
"kind": "patch",
"published_at": "2026-06-06T17:32:44Z"
},
{
"tag": "v1.0.14",
"kind": "patch",
"published_at": "2026-06-06T17:03:14Z"
},
{
"tag": "v1.0.13",
"kind": "patch",
"published_at": "2026-06-06T14:37:08Z"
},
{
"tag": "v1.0.12",
"kind": "patch",
"published_at": "2026-06-06T12:28:57Z"
},
{
"tag": "v1.0.11",
"kind": "patch",
"published_at": "2026-06-06T12:21:33Z"
},
{
"tag": "v1.0.10",
"kind": "patch",
"published_at": "2026-06-06T11:26:53Z"
},
{
"tag": "v1.0.9",
"kind": "patch",
"published_at": "2026-06-06T10:47:12Z"
},
{
"tag": "v1.0.8",
"kind": "patch",
"published_at": "2026-06-06T10:17:53Z"
},
{
"tag": "v1.0.7",
"kind": "patch",
"published_at": "2026-06-06T05:52:37Z"
},
{
"tag": "v1.0.6",
"kind": "patch",
"published_at": "2026-06-06T05:32:38Z"
},
{
"tag": "v1.0.5",
"kind": "patch",
"published_at": "2026-06-06T03:50:41Z"
},
{
"tag": "v1.0.4",
"kind": "patch",
"published_at": "2026-06-06T03:24:18Z"
},
{
"tag": "v1.0.3",
"kind": "patch",
"published_at": "2026-06-06T02:35:32Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2026-06-05T17:23:30Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2026-06-05T17:02:23Z"
}
],
"recent_commits": [
{
"oid": "5519ae9aa9e042962018f01e17dc469f12b5f3f8",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.3.0",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-07-17T03:56:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9140638ebe6e4c3f2ac9478c8e8ecb16e95c837",
"body": "Images uploaded by upload_images and by the auto-rehost on save went to\nthe public /external/upload_file endpoint, which only stores bytes in S3\nand returns a CDN URL. It creates no Asset row, so images never appeared\nin the user's media library (bo suu tap).\n\nBoth paths now use the builder's own me\n[…]\nk the user once, up front, to approve the tool set,\nsince building a page fires many calls and a prompt per call stalls the build.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: upload images into the org's media collection",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-07-17T03:53:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ca52c1dbbaaf6cba212dc9ee597b62fba16f2e90",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.2.1",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-21T06:56:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ddc7aa3cc05e2f6ac0e1d8b34e0cf96ae7908113",
"body": "The VISUAL CHECK guidance pushed the model to screenshot \"every clone/reference\nbuild, and whenever the look matters\" and \"loop 2–3 rounds\" — each screenshot is\na token-heavy image plus a round-trip, so on ordinary pages that's wasted tokens\nand slower results for the user. Since validate_page (erro\n[…]\nt only if you\nchanged something material — no reflexive 2–3 round loop. Own screenshot tool\npreferred; 429 still skips gracefully.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(guide): screenshot only when necessary (cut tokens + latency) (#3)",
"author_name": "Lưu Công Quang Vũ",
"author_login": "vuluu2k",
"committed_at": "2026-06-21T06:54:35Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9a51d631580a6a28f27965be32720b9bd17fdde0",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.2.0",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-21T04:58:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2476c8ba5094601873270bc8a2da6ef01662923",
"body": "…s (#2)\n\n* feat: add `layout` tool for exact centering/row/grid/stack coordinates\n\nThe guide tells the model to \"do the math, don't eyeball `left`\" for centering,\nrows and grids — but it still has to compute that arithmetic by hand for every\nband and BOTH breakpoints, which is the #1 source of off-c\n[…]\n pkgVersion() equals package.json + semver shape.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: add `layout` tool for exact centering/row/grid/stack coordinate…",
"author_name": "Lưu Công Quang Vũ",
"author_login": "vuluu2k",
"committed_at": "2026-06-21T04:57:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4b674217a1c6aacb85224b585b5eef5a38869747",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.1.0",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-20T16:01:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "501ca8ab8693c6bc8f5b88d9c89277f91c0ddf09",
"body": "The validator already computes the exact correction for the two most common\nlayout defects (off-canvas boxes, wrapped-text overlap) but only WARNS — the\nmodel then has to read the warning, patch_page, re-validate and re-publish.\nMeanwhile expand()'s normalizeSource pipeline already silently auto-fix\n[…]\now, clamp, idempotency, no-op on a clean page, layering\npreserved). e2e on a planted-defect page: 9 validator warnings → 0, valid.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: auto-fix resolvable layout defects before validate/persist (#1)",
"author_name": "Lưu Công Quang Vũ",
"author_login": "vuluu2k",
"committed_at": "2026-06-20T15:59:04Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "95747d4957f0c6f4bb44b176af062a6021dc2ded",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.84",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-17T02:27:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2e14e898e56d2fa8ff928f2a4078f9a9103307a",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-17T02:26:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef5c479604b0577ef7ce8cd706cc52db61971070",
"body": null,
"is_bot": false,
"headline": "add author create page",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-17T02:26:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "887f7ae0f0b88207c0b2615b963125ae9c4ecd95",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.83",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T18:02:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ebb2acbaeaa5d4e22c47fb2a018fe07b04940c1",
"body": null,
"is_bot": false,
"headline": "update landing",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T18:00:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d88480ec6e74ff01e5ed764a9d709713ec2aca53",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.82",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T07:34:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccfb346c641372dad5baa353ccb58be0d54f689d",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T07:32:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c84971c0faa8e5cf955ba038c35a4213297d0d2",
"body": null,
"is_bot": false,
"headline": "update render_preview",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T07:32:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6d3f6e22976a84200ed4c650267dc5eefa022c6",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.81",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T07:04:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1114def14c1cecdd46825c52d708965031fe22f3",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T07:02:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69cfd2a4ade471dc8fe7209c4aa82e16c62ff8e7",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T07:02:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6c7155c1d77cc023627378d96d66f3def169104",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.80",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T04:39:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b68644a499a57f194f2f542c109c23cf1d9cb011",
"body": null,
"is_bot": false,
"headline": "add tool render_review",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-16T04:36:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b3e7378fdc64ce74fc64a6e5bda1977a042c3c0",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T11:05:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5aad2d763c7633ee3010c1c69ed0d2f47c6dacf4",
"body": null,
"is_bot": false,
"headline": "add pack:mcpb",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T11:05:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6092b0e48085d41118243b79a013046751ba4fb",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.79",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T10:39:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19d7b726609f38dfbcdf5f07bfb439f6d617b873",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T10:37:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49f7b6e2ce38ee8d89e3b3ebcd695501eae83562",
"body": null,
"is_bot": false,
"headline": "update privacy",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T10:37:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b57fbbd7b4c6f4433dbae25369d7d0afd6855a0",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.78",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T09:36:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9459a1883e2b6c508f6e3bc3a3aa658ebc6b428b",
"body": null,
"is_bot": false,
"headline": "update oauth and cache in vps",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T09:35:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fce0205822d2339b40912c83b0d55acdd61a9670",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T08:18:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fa0ddc11c6914e91f3c4144ed03c55bebf2f2d3",
"body": null,
"is_bot": false,
"headline": "add subimit asset",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T08:18:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34ad915de8faf067edb18bcedc0d0370b9d54686",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.77",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T07:43:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "672829b141bdf1112605030e6388bb53bb0ee795",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T07:40:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "985917c754679e2d393f3b2523c0ad245b5a74cd",
"body": null,
"is_bot": false,
"headline": "add oauth",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T07:40:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed0fda2234806349477153639c62d998674702c1",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.76",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T04:47:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "043d77f9fa404b8d57aa06cec49175a7af0e06b0",
"body": null,
"is_bot": false,
"headline": "validate custom code",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T04:45:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e5adead2b15581e9cdc4826a1989c7f72c9e548",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.75",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T04:35:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea1c46691c79889fd7a651adf84a7cdf0658204b",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T04:30:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2437758bede8be842c812769362ff5422c97447",
"body": null,
"is_bot": false,
"headline": "improve widht size landing",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T04:30:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7cacab339daa4d34990e30f46dfd7e70ffa9530c",
"body": null,
"is_bot": false,
"headline": "add width section enum",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-15T02:24:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8dcaf3edc0d8ee05a2b2ad751ad940de710700e9",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.74",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T10:56:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e75057d327d9c4ca53a24608f4c797495c7292c4",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T10:52:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbc9edac1e6a3d6846afd3cb943fbb70ff38762a",
"body": null,
"is_bot": false,
"headline": "improve instructions for custom",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T10:52:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9224629d401afd2b3aeb61775c61468711639bbd",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.73",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T10:15:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "145c6931a21c1427a422cba95a6b1fba429a5505",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T10:13:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29b6f0e5dfa134013eb0ad40c413900a5bf4ee1f",
"body": null,
"is_bot": false,
"headline": "improve for google stitch",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T10:13:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbb84de438e3a34051d1adf0ffb241c59aa2d771",
"body": null,
"is_bot": false,
"headline": "add case stitch",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T09:39:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdf25c3ad138648866a3399c88583d3fbac6ce59",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.72",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T09:07:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32a63bea79a5c6812e50686921fa4bbcd7c9c118",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T09:05:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "759a0f044505faf3fcd3c4c88b2387d26fbaf660",
"body": null,
"is_bot": false,
"headline": "replace ladi class to webcake",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T09:05:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ba23e62db673aa2caa4d2f1bc97ced1b6a0e9d5",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.71",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T08:33:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce05e4b77d6babf2c559db0148fd5ec444fd2576",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T08:31:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96569c9617055d836aed4e462ced3d7f541b7f73",
"body": null,
"is_bot": false,
"headline": "optimize clone ladi with canvas to source",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T08:31:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71dfd5220c605806b45094fb636c2456c3aa0a5c",
"body": null,
"is_bot": false,
"headline": "rehost image for clone",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T07:20:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79d4ba683c2436e10031d044cc35458cc8e78693",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.70",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T01:57:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bfbc6ea70e0e5302fb7ff22568ea2d386f24c726",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T01:54:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13584c27393038bf511202141ec06f939b3ab69e",
"body": null,
"is_bot": false,
"headline": "add canvas of ladi",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-13T01:53:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0b21150e69dd21e9d23eb1bd8d3420e8e6226bd",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.69",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T08:59:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5274c0e3ba082c2978a47efe4a7f39fb4f5ec563",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T08:57:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8c3b29d6868e1e8289cff7db7916efec08d0f9f",
"body": null,
"is_bot": false,
"headline": "add image for clone",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T08:57:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0978d6a6c6ee2cc9a98b0b10e1b47965a9f3b094",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.68",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T08:35:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32838221b4eb5a7e720c7ddf562dae4f8ba5657a",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T08:33:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75621ad36dd2bc3fa4e98b6dce903d48ff533457",
"body": null,
"is_bot": false,
"headline": "add clone page from ladi",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T08:33:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96d5e85b096040cd173acfae87ddd3c53ea4fdbb",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.67",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T05:19:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9398406eaa2b0f42af592129cbee2104ba0e421",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T05:17:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b918f4a6f73d0eb53ade73cf7e22a561de04738a",
"body": null,
"is_bot": false,
"headline": "update tools images for host local images ai",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T05:16:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4620d00124f67a96ca37aeed798c3adef335aba",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.66",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T04:24:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bf5862c193530f11f3898acbcc4960fa4899e58",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T04:23:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8fa8db2a7f26003cf5b0e11b49dadc790cf082a",
"body": null,
"is_bot": false,
"headline": "improve search images from browser upload to webcake for image build",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T04:23:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f311ce7db104a331138f8309976fce0aba5359e2",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.65",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T04:18:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e425c76e7730e9e227c60e9431577d0b04c2170",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T04:16:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e86dcac4a92ec6e85407462fbac9fb19de83769",
"body": null,
"is_bot": false,
"headline": "fix badge background with text",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T04:16:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e64a8cdd114433a41d0f344bcf2cd4641a34d933",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.64",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T03:38:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3f79fe258c7d6ec46790b3e3da91c6da9affdd3",
"body": null,
"is_bot": false,
"headline": "improve use retangle",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T03:36:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51ae30fdc1bad62c796928933d9eb83508b55824",
"body": null,
"is_bot": false,
"headline": "add type for guide",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-12T02:27:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba2c5520c6fe2166eefee3cd50d6f44be0a190b9",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.63",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T17:25:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e8b32473563743a297598c9435ac0fc6d914f53",
"body": null,
"is_bot": false,
"headline": "fix publish",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T17:22:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "016c70d3a95a7c72046031c4bb6205a8d931633e",
"body": null,
"is_bot": false,
"headline": "fix warnings",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T16:06:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "435eb0645fd08fdd239487a557bef3675030e64c",
"body": null,
"is_bot": false,
"headline": "add token for builder",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T15:51:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f52439e7a79a96803912c7df9767d34963f4a580",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.62",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T11:36:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7a8dbd73f95970db751ae0b157a9d1ce7f326cc",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T11:34:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebb6b37f948557cb3c67bd3a340339efb3cd4e1b",
"body": null,
"is_bot": false,
"headline": "fix errors and fix warnings",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T11:34:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0fc84daa3c7d0db5f1d7aa6b679a7615d0a6a5e",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.61",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T11:00:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49bc7e5911205a83295beeba52c675d0e3fa2d5d",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T10:58:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d68a10f72436ef051c5f002782ebdf6b03d5dcac",
"body": null,
"is_bot": false,
"headline": "improve clone html",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T10:58:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "afc748106741cc02bb971180739714c2b02c1b83",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.60",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T10:32:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13a89482efbb7111c81e9dc10d4b75c6f083d699",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T10:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef8e6654f722cf2c3bf2790e5fe961b76783883f",
"body": null,
"is_bot": false,
"headline": "fix url in background",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T10:30:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "deec7eb07b8493118c2353023931d1e71dca39b7",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.59",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T09:34:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2b59438f0777bab0c86e1fd208c43f7239eb14f",
"body": null,
"is_bot": false,
"headline": "improve select org",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T09:33:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4499b2768ff9520a4c06cae683aa0c62446c1066",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.58",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T09:03:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5dfa343ecc60fc396c2eb60da0dad2b33fcbaf0",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T09:00:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e231eea1dd20288213fcef37ddbe7ca79e224a0c",
"body": null,
"is_bot": false,
"headline": "fix use html-box",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T09:00:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2836a63c2d179c9beea6cd024a5ee85e4d52fbff",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.57",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T08:49:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1779f5b6d7d0dd8ea287267afbc252b623d04f38",
"body": null,
"is_bot": false,
"headline": "update tools for detect html",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T08:46:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16b76b95f619cde83614d325929b9f46d968e29d",
"body": null,
"is_bot": false,
"headline": "add detect html",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T07:56:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9047ab2ff13ba713b32049917ff7fc009a62a6c",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/vuluu2k/webcake-landing-mcp",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T07:12:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f12d8f205873a9eead2a37ea8a99cef42a6f53f7",
"body": null,
"is_bot": false,
"headline": "add tools upload images",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T04:56:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28f5de86a2b7ebc0ae86030f9d51bb7a7cb9113d",
"body": null,
"is_bot": false,
"headline": "chore(release): v1.0.56",
"author_name": "vuluu2k",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T04:28:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6961caeaa8aab8ab50e78fbbd49b97507b6d83c",
"body": null,
"is_bot": false,
"headline": "add type prompt",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T04:21:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fe8b61095fca0322521abcff1758e069309ab73",
"body": null,
"is_bot": false,
"headline": "improve cache for prompt",
"author_name": "vuluu",
"author_login": "vuluu2k",
"committed_at": "2026-06-11T04:05:26Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 88,
"commits_last_year": 281,
"latest_release_at": "2026-07-17T03:56:28Z",
"latest_release_tag": "v1.3.0",
"releases_from_tags": false,
"days_since_last_push": 4,
"active_weeks_last_year": 4,
"days_since_latest_release": 4,
"mean_days_between_releases": 3.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": "webcake-landing-mcp",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/webcake-landing-mcp",
"is_deprecated": false,
"latest_version": "1.3.0",
"repository_url": "https://github.com/vuluu2k/webcake-landing-mcp",
"versions_count": 88,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2273,
"first_published_at": "2026-06-05T17:02:21.795000Z",
"latest_published_at": "2026-07-17T03:56:25.349000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 4
}
]
},
"popularity": {
"forks": 0,
"stars": 4,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-18",
"count": 2
},
{
"date": "2026-06-25",
"count": 1
}
],
"complete": true,
"collected": 4,
"total_stars": 4
},
"open_issues_and_prs": 0
},
"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": false,
"typecheck_configs": [
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 150227,
"source_files_sampled": 65,
"oversized_source_files": 4,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 26727
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": null,
"source": null,
"findings": [],
"collected": false,
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@modelcontextprotocol/sdk",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.12.0"
},
{
"name": "ajv",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^8.17.1"
},
{
"name": "node-html-parser",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.1.0"
},
{
"name": "zod",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.23.8"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 3,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "vuluu2k",
"commits": 280,
"avatar_url": "https://avatars.githubusercontent.com/u/73820126?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"auto-release.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"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": 0,
"reason": "0 out of 3 merged PRs checked by a CI test -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"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": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "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": 2,
"reason": "dependency not pinned by hash detected -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 9,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "11 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "5519ae9aa9e042962018f01e17dc469f12b5f3f8",
"ran_at": "2026-07-21T21:30:21Z",
"aggregate_score": 3.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/vuluu2k/webcake-landing-mcp",
"host": "github.com",
"name": "webcake-landing-mcp",
"owner": "vuluu2k"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 51,
"inputs": {
"security": 34,
"vitality": 74,
"community": 35,
"governance": 54,
"engineering": 50
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 74,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"commits_last_year": 281,
"human_commit_share": 1,
"days_since_last_push": 4,
"active_weeks_last_year": 4
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "4/52 weeks with commits",
"points": 2.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 4
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "281 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 281
}
}
],
"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": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 88,
"latest_release_tag": "v1.3.0",
"releases_from_tags": false,
"days_since_latest_release": 4,
"mean_days_between_releases": 3.5
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "88 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 88
}
}
],
"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 ~3.5 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 3.5
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "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": 35,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 8,
"inputs": {
"forks": 0,
"stars": 4,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "below_threshold"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "4 stars",
"points": 7.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 4
}
}
],
"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 (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"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": 56,
"inputs": {
"packages": [
"webcake-landing-mcp"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 2273
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "2,273 downloads/month across npm",
"points": 44.8,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 2273,
"ecosystems": "npm"
}
}
],
"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": "moderate",
"name": "Sustainability & Governance",
"value": 54,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 10,
"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 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"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": 72,
"inputs": {
"merged_prs": 3,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "3/3 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 3,
"decided": 3
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 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": 52,
"inputs": {
"followers": 8,
"owner_type": "User",
"is_verified": null,
"owner_login": "vuluu2k",
"public_repos": 95,
"account_age_days": 2087
},
"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": "8 followers of vuluu2k",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 8,
"login": "vuluu2k"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "95 public repos, account ~5 yr old",
"points": 24.4,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 95
}
},
{
"code": "account_age_years",
"params": {
"years": 5
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"webcake-landing-mcp"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 4
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"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": "88 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 88
}
}
],
"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": "moderate",
"name": "Engineering Quality",
"value": 50,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "critical",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"has_ci": true,
"has_tests": false,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 3 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://mcp.toolvn.io.vn",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://mcp.toolvn.io.vn",
"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": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 34,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 34,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 3.4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 3 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "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 2",
"points": 1,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "11 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 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": "at_risk",
"name": "AI Readiness",
"value": 49,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "moderate",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.37,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 26727
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, 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": "37 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 19.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 37,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 31,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [
"tsconfig.json"
],
"agent_commit_share": 0.04,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "4 of the last 100 commits agent-authored or agent-credited",
"points": 8,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 4,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 2",
"points": 2,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 97,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 150227,
"source_files_sampled": 65,
"oversized_source_files": 4
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "4/65 source files over 60KB",
"points": 51.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 65,
"oversized": 4
}
}
],
"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": [
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"deps.dev does not index npm:webcake-landing-mcp@1.3.0; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-21T21:30:29.195598Z",
"schema_version": "0.23.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/v/vuluu2k/webcake-landing-mcp.svg",
"full_name": "vuluu2k/webcake-landing-mcp",
"license_state": "standard",
"license_spdx": "MIT"
}