Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 47542,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 460040,
"Shell": 6030,
"Python": 8403,
"Makefile": 601,
"JavaScript": 498,
"Go Template": 252
},
"pushed_at": "2026-07-28T18:30:54Z",
"created_at": "2022-08-09T02:46:13Z",
"owner_type": "User",
"updated_at": "2026-07-28T18:34:44Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": null,
"name": "Shuk",
"type": "User",
"login": "BizShuk",
"company": null,
"location": "Taiwan",
"followers": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/12511875?v=4",
"created_at": "2015-05-19T11:24:43Z",
"is_verified": null,
"public_repos": 37,
"account_age_days": 4089
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.2.9",
"kind": "patch",
"published_at": "2026-07-28T18:30:49Z"
},
{
"tag": "v1.2.8",
"kind": "patch",
"published_at": "2026-07-28T18:24:00Z"
},
{
"tag": "v1.2.7",
"kind": "patch",
"published_at": "2026-07-21T13:53:32Z"
},
{
"tag": "v1.2.6",
"kind": "patch",
"published_at": "2026-07-21T10:14:10Z"
},
{
"tag": "v1.2.5",
"kind": "patch",
"published_at": "2026-07-21T07:54:43Z"
},
{
"tag": "v1.2.4",
"kind": "patch",
"published_at": "2026-07-21T05:10:46Z"
},
{
"tag": "v1.2.3",
"kind": "patch",
"published_at": "2026-07-21T05:06:55Z"
},
{
"tag": "v1.2.2",
"kind": "patch",
"published_at": "2026-07-21T04:36:48Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2026-07-20T07:52:47Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2026-07-20T07:46:48Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-06-22T15:59:28Z"
}
],
"recent_commits": [
{
"oid": "af3452c0e7bb9099a3b2f6c9fdaf15971c114eb0",
"body": "… development",
"is_bot": false,
"headline": "chore: add plan document and local environment permissions for Claude…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T18:30:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60b1b0eee4d436db5806886bfade2939e64a76d2",
"body": "沿用跨專案共用的 Universal Ignore Template (可同時作為 .gitignore /\n.geminiignore / .claudeignore)。\n\n其中 sample/ 改為 /sample/ 只錨定 repo 根目錄:cmd/sample 與 config/sample\n早已是追蹤中的交付物,原規則對它們無效卻擋住新增的 file/sample。\n\n已驗證 git ls-files | git check-ignore --stdin 無任何命中,現有追蹤檔\n不受新規則影響。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: adopt universal ignore template, scope sample/ to repo root",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T18:24:00Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e9e9c65a5a3af6532c51d9011133f3727074a90f",
"body": "…ls.go\n\nstore.go 只留 Store 型別本身與其方法;Options/Option/With* 與 DEFAULT_*\n移到 store_options.go;不掛在 Store 上的純函式 (resolvePath / isNil /\nmatchAll) 收攏到 utils.go,path.go 移除。\n\n新增 file/sample 可執行範例,涵蓋五個真實場景:憑證庫 (owner-only 權限\n+ validator)、單一設定檔 (ReadOr 退回預設值)、事件日誌 (Seq checkpoint\n+ 前綴壓縮)、混型別日誌 (json.RawMessage + Scan 自行分流)、巢狀目錄\n(Sub 繼承選項)。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor(file): split options into store_options.go, helpers into uti…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T18:05:27Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d68082dd41c276a4064b84329315bd9d28fd8713",
"body": "上一版連坐擋掉所有點開頭的名稱,但真正的穿越只有 \"..\" 一個 —— \".\" 與\n.hidden 只是隱藏檔。改為明確拒絕 \"..\",並加一道不依賴名稱形狀枚舉的\n最終防線:算出實際路徑後確認父目錄等於 Store 目錄,擋掉 WithExt(\"\") 時\nPath(\".\") Clean 成目錄本身、Delete(\".\") 會刪掉整個 Store 目錄的情況。\n\nList 隨之只跳過 TEMP_FILE_PREFIX 暫存檔而非所有點檔案,維持「寫得進去\n就列得出來」的對稱。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(file): narrow safeName to reject only \"..\" plus a containment check",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:58:16Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a66b480f3d2d2f711c8cea0fe07293c7fe4cf61b",
"body": "記錄目錄為本體、單檔+JSONL 兩用、Scan 基礎層 vs typed 便利層的分層,\nsafeName 擋點開頭名稱的理由,以及刻意不依賴 gosdk/utils 的取捨與代價。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(file): document Store[T] structure and design decisions",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:52:41Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9bb1e80b94f55288e54395f834427ccad87c0d84",
"body": "前綴丟棄而非全域過濾:已壓縮區段必然連續,全域過濾在資料損毀時會誤刪\n中段記錄。全數丟棄時直接刪檔,讓後續 Scan 走缺檔即空日誌的路徑。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(file): add TruncateWhile for WAL prefix compaction",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:50:59Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9c6cb5bf9ab809dea01218b205c1a908da09931f",
"body": "建在 Scan 之上,variadic predicate 以 AND 組合。三者對應先前盤點出的\n三種需求:Find 取特定記錄、Filter 取條件子集、Count 取已持久化筆數標記。\n每行都會解碼,大檔案只需位元組比對的呼叫端請直接用 Scan。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(file): add typed JSONL query layer Find/Filter/Count",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:50:15Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ed0366d5eb131f1b3003556a8b8449b8308458eb",
"body": "Scan 交出原始位元組而非解好的 T,讓呼叫端能處理混型別檔案 (meta+turn)\n並避免雙重解碼。缺檔視為空日誌;ErrStopScan 支援提早中止。行緩衝區\n拉到 8MB,因為單筆事件很容易超過 bufio 預設的 64KB。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(file): add JSONL primitives Append and Scan",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:49:22Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8904adb0bdfb97e421031af8790611724c240ec0",
"body": "List 回名稱字串而非 []*T:舊版一個壞檔就讓整批失敗,而呼叫端多半要\n跳過壞檔。Sub 提供繼承選項的子目錄 Store,讓巢狀路徑不必放寬\nsafeName 的路徑穿越守衛。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(file): add List/Delete/Exists/Sub",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:48:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "71e84a80324cc94fe1326b0ac7481fefb957f5c7",
"body": "Write 預設走 temp+rename,並在序列化前執行 validator.IValidator。\nRead 對缺檔回 ErrNotFound;ReadOr 是無錯誤版本,文件明確標示它同時\n吞掉損毀與權限錯誤。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(file): add Write/Read/ReadOr with atomic write and decode hook",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:47:36Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "196e430bef6d695e6461d4da2cb74b0b5fdde9d1",
"body": "Store 本體改為目錄概念,檔名由呼叫端傳入。新增 ErrNotFound /\nErrStopScan 哨兵與 Custom 逃生口。自帶 resolvePath/isNil 以切斷對\ngosdk/utils 的依賴 (utils 會拖入 gocsv)。\n\nsafeName 額外擋掉點開頭的名稱:filepath.Base(\".\")==\".\" 會通過原本的\n守衛,搭配 WithExt(\"\") 時 Path(\"..\") 會解析到上層目錄。\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor(file): rebuild Store[T] skeleton with non-generic options",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-28T17:46:47Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "779c2d262314251e3ad86d0a6f298858a3801f52",
"body": null,
"is_bot": false,
"headline": "docs: update CLAUDE.md guidelines and project overview",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T13:53:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "235c4589a61ee3795fcb73ee419624063bb5881a",
"body": "…and add support for default config management",
"is_bot": false,
"headline": "refactor: restructure config command logic into modular sub-packages …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T10:14:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a7cb0275ba86f95f59b4503c597520574f85f4c",
"body": "…test suites and structured result handling",
"is_bot": false,
"headline": "refactor: decouple public config API from CLI command logic with new …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T07:54:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9600e56ffca160d01a12647b10923c1fb3912bb",
"body": "…mentation and plugin config",
"is_bot": false,
"headline": "chore: rename gosdk-migrate skill to golang-gosdk-migrate across docu…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T05:10:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "baf2082ac622bb4349de33f5664d04d08eca1c5d",
"body": "…stringer and gotmpl samples",
"is_bot": false,
"headline": "refactor: modularize main entry points and add integration tests for …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T05:06:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b5ec37652f249579655cdff500b0890684133be",
"body": null,
"is_bot": false,
"headline": "chore: clean up redundant .gitignore entries for .env and bin/server",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:36:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75ed848934a32633f0e7130983e96a76444f2235",
"body": "The hook never successfully created a tag. Two defects, both verified\nin a scratch repository:\n\n - It used `git tag <name> <sha>`, which creates a lightweight tag.\n `git push --follow-tags` — the command the hook's own comment\n recommended — only pushes annotated tags, so the tag stayed local\n[…]\nr written, so its version and the git\ntag are independent from here on.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01ALUHWTQoX391yTR2vFc21K",
"is_bot": false,
"headline": "fix(githooks): auto-tag from git tags and push the tag itself",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:35:21Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "eea663abbba50d5b83de4cca206a51fe2eee6bd0",
"body": "migrate-zap-to-slog covered one migration; the SDK has superseded\nseveral APIs since. Renamed to gosdk-migrate and reframed around a\nnine-entry migration catalog, each with its own detect step: zap ->\nlog/slog, log wrapper funcs -> package-level slog, ConfigSchema structs\n-> flat viper keys, PROFILE\n[…]\nnt\nto be env-overridable must be declared as flat SCREAMING_SNAKE keys.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01ALUHWTQoX391yTR2vFc21K",
"is_bot": false,
"headline": "docs: rename skill to gosdk-migrate, broaden it to full SDK upgrade",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:14:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "370dea00aacaa4e632362a769ce89d8dea4fecc3",
"body": "gosdk/cmd becomes a catalog of ready-made cobra subcommands the host\napplication registers on its own root command, rather than a container\nof standalone binaries.\n\n root.AddCommand(cmd.MajorCmd, cmd.MinorCmd, cmd.PatchCmd)\n\nMoved out of cmd/versioning/cmd/ into gosdk/cmd:\n\n major.go / minor.g\n[…]\nbound vars and f.Changed first; see the run() helper in\nconfig_test.go.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01ALUHWTQoX391yTR2vFc21K",
"is_bot": false,
"headline": "refactor(cmd): hoist subcommands to gosdk/cmd, move CLIs under sample/",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:14:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a26aa31104ab0c429da69ea1f917de344ef8b6e1",
"body": "cmd/gotmpl/gotmpl was a committed build artifact: a 68 MB arm64 Mach-O\nexecutable built 2023-12-04 and never rebuilt, so it sits four commits\nbehind its source and predates the zap -> log/slog migration. Running\nit gives the old behaviour.\n\nNo .gitignore rule catches it: Go executables have no exten\n[…]\n history rewrite, which is not worth invalidating\nexisting clones over.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01ALUHWTQoX391yTR2vFc21K",
"is_bot": false,
"headline": "chore(cmd): drop stale gotmpl binary from version control",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:14:09Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5a2a83a47e7ee71e8761a3c22471c6b203c223d2",
"body": "A cobra subcommand the host application registers on its own root\ncommand; gosdk/cmd is a library, not an executable.\n\n root.AddCommand(cmd.ConfigCmd)\n\n myapp config # merged key/value table\n myapp config --source # + originating layer\n my\n[…]\nached by an APP_ environment variable (no\nEnvKeyReplacer is installed).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01ALUHWTQoX391yTR2vFc21K",
"is_bot": false,
"headline": "feat(cmd): add ConfigCmd for inspecting and editing configuration",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:13:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c2c7375d69ac65ef878b1fcff1650ed92ea26125",
"body": "29c9f46 removed .githooks/ from tracking while core.hooksPath still\npoints at it, so the hook stayed active locally but was no longer\nshared with other clones. Track it again, plus the plugin version\nsync script it pairs with.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01ALUHWTQoX391yTR2vFc21K",
"is_bot": false,
"headline": "chore(githooks): restore pre-push hook to version control",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-21T04:13:00Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "29c9f46af5f7252837ec178bbb7c91cbfc28dc88",
"body": null,
"is_bot": false,
"headline": "chore: remove deprecated versioning scripts, files, and git hooks",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-20T09:01:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb856d75696b65906d3e179b54a5391b782cdf4e",
"body": "Split the versioning rule into policy (CLAUDE.md) and enforcement\n(.githooks/pre-push), so the doc only carries what a hook cannot decide.\n\nThe hook validates pushes to master/main:\n- VERSION increased relative to remote\n- major not bumped (breaking change needs --no-verify, an explicit act)\n- tag v\n[…]\nblement step.\n\nAlso ignore build.version (outputgittag.sh build stamp).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D3eVb3CkwrEn9U8Hy7Cnf5",
"is_bot": false,
"headline": "chore: enforce versioning rule via pre-push hook, bump to 1.2.1",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-20T07:52:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5c0cf3ec2152119ec3ba756d21299122971651b3",
"body": "Add a versioning rule to CLAUDE.md: every SDK update bumps minor or patch\nonly, never major (major requires explicit human direction). Each bump is\ntagged v<major>.<minor>.<patch> and pushed to remote.\n\n- Rename `version` -> `VERSION` (git mv, two-step for case-insensitive FS)\n- Point versioning CLI\n[…]\nifted behind tag v1.1.0) to 1.2.0 and\n sync .claude-plugin/plugin.json\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D3eVb3CkwrEn9U8Hy7Cnf5",
"is_bot": false,
"headline": "chore: rename version to VERSION and add SDK auto-versioning rule",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-20T07:46:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ecd8123e58d8b0583070394c5ae11c99a2ede7d8",
"body": "…ent variables",
"is_bot": false,
"headline": "fix: update configuration initialization to support optional environm…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-18T14:17:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31c0a77ba8f3a1be2d46167363146bad863fecd1",
"body": "… SKILL.md",
"is_bot": false,
"headline": "docs: add documentation for tui.Table and update section numbering in…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-16T04:53:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da891baaf3fb7aad81a57c4b15e425d24998945f",
"body": "… automatic alignment",
"is_bot": false,
"headline": "feat: implement table component with support for multi-line cells and…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-16T04:41:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63c8886a4ab35b2a57ca566aa238691b9985858c",
"body": "…ry viper abstraction",
"is_bot": false,
"headline": "refactor: simplify path expansion documentation by removing unnecessa…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-16T04:30:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4be6d4aae1bd540753ae9033e7992f0129222034",
"body": "…ations to FileStore",
"is_bot": false,
"headline": "feat: add custom file permissions, path helpers, and list/delete oper…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-14T17:01:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf73eb5bba1ee06b6e13826ebffd47bf33b64e1f",
"body": "…ctory management support",
"is_bot": false,
"headline": "feat: implement generic JSON-based FileStore with validation and dire…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-14T16:05:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e23aeb525b1d0d3ff901d726d79c44ab5a33fc8",
"body": "…ic validator rules",
"is_bot": false,
"headline": "feat: implement composable validation framework with string and numer…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-14T04:46:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3042d82be1ac64036c85b0e6f598fc66a732e360",
"body": null,
"is_bot": false,
"headline": "chore: update tasks and track pending improvements in README.todo",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-08T13:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ae2558fb90dcc835ece7cfae00278f040b0347f",
"body": "…nerator migration and update task list",
"is_bot": false,
"headline": "docs: add architecture plans for dynamic config reload and service ge…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-08T13:27:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a9d32e26c140c361095c8b349312c49c2e347e7",
"body": "…ncies",
"is_bot": false,
"headline": "refactor: remove marketplace file and cleanup plugin manifest depende…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-06T15:33:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be73b0c0337e8036af45a32589c053ed2f39313b",
"body": null,
"is_bot": false,
"headline": "chore: update project task list in README.todo",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-06T05:05:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41504315e945ccb005742af2cc4fcde77d3aa807",
"body": "…g configuration with environment variables",
"is_bot": false,
"headline": "feat: add config watcher functionality and replace viper-based loggin…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-06T04:49:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11197d1dc58f5b9cda71f571a4681ba943c520bf",
"body": null,
"is_bot": false,
"headline": "feat:",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-06T01:33:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "65b765d636194b875a66736fd73ad0b154b1490c",
"body": "…cumentation",
"is_bot": false,
"headline": "feat: add Claude marketplace configuration and update architecture do…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-04T12:20:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32d7c310c9004c8ffd30901e4f10a97e33fa7c84",
"body": "…rting utilities",
"is_bot": false,
"headline": "feat: implement OpenTelemetry metrics provider and batch summary repo…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-01T08:39:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ded6221abe8ca7476d5bd45b8e2e8690a12bcc2b",
"body": null,
"is_bot": false,
"headline": "docs: update remaining tasks in README.todo",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-01T08:03:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c67b41b7c131eb91e1df604f21b7ecdd32340b7",
"body": "…ation for system planner",
"is_bot": false,
"headline": "feat: initialize project documentation and add PM2 ecosystem configur…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-07-01T01:13:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d586db12fe8d3729eeef705a62dfe0f4a91217f",
"body": "…based on severity level",
"is_bot": false,
"headline": "feat: implement LevelSplitHandler to route logs to stdout and stderr …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-22T15:59:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7959e91437413787cc29b09554deea6e4638a07a",
"body": null,
"is_bot": false,
"headline": "update lsp",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-22T11:36:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed56efc8c442d57e6a93867d1692b28a8c6cada6",
"body": "…tion",
"is_bot": false,
"headline": "refactor: rename internal constants to follow uppercase naming conven…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-18T17:48:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1047f1208f2f11911131c95df988fdb819071553",
"body": null,
"is_bot": false,
"headline": "chore: reorder agents and skills lists in plugin configuration",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-16T19:19:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "239bca424475ad9bde62a4d3f907be742655171d",
"body": "…g initialization logic",
"is_bot": false,
"headline": "refactor: fix global singleton state leakage in tests and simplify lo…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-16T17:03:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "937cf28de88c305bb6837130fd0001b55704c7aa",
"body": "…ading options, and update dependency management in go.mod",
"is_bot": false,
"headline": "refactor: enable model invocation for core skills, clean up config lo…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-16T16:11:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5b0a478cec5e5fad1eb57ee27dfe56bf2199de7",
"body": null,
"is_bot": false,
"headline": "refactor: remove redundant GetConfigDir path from configuration loaders",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-16T15:24:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33233042225feaeac343ebf2c9cedc74092696d3",
"body": "…ate configuration documentation",
"is_bot": false,
"headline": "refactor: replace zap with stdlib slog for structured logging and upd…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-16T15:23:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cea535e5b6598c9449a552880d4e778ea0d84825",
"body": null,
"is_bot": false,
"headline": "feat: add Claude plugin configuration and update project documentation",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-15T17:37:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "feb0f9483ae9e5642584e7a23ecb96c63ca485c1",
"body": null,
"is_bot": false,
"headline": "feat: add documentation for migrating Go projects from zap to slog",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-15T15:02:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1461b535fbed30b703eff3920c93722fc857c29",
"body": null,
"is_bot": false,
"headline": "refactor: replace zap with standard library log/slog across the codebase",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-15T15:02:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd9cfa3cee5bd35b9dc7c9085da434f9fcab00ef",
"body": null,
"is_bot": false,
"headline": "docs: update CLAUDE.md instructions and project guidelines",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-14T11:30:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f45c3f5cd1ad661a8a71c58ad7c5da10c6bb1fd",
"body": "…n OpenFile and WriteFile",
"is_bot": false,
"headline": "feat: add WithReturnWriter option to expose underlying file handles i…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-14T11:30:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22e66c8c4e0635bb649fb1c0c4a933fd144a8c7c",
"body": "…ckup options",
"is_bot": false,
"headline": "feat: implement WriteFile with configurable creation and recursive ba…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-14T10:11:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f621dc864c3946f51dc342e310c72e760581fd30",
"body": "… log initialization",
"is_bot": false,
"headline": "fix: update production log configuration logic and add unit tests for…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-14T09:21:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3fc5c40e0c972011fc81e1ef1bb96b3d80ab335",
"body": null,
"is_bot": false,
"headline": "docs: update CLAUDE.md and README.md with project information",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T19:04:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81aa201e21b125b12f0866055be0e4ea4a695bd6",
"body": "…usage, and config patterns",
"is_bot": false,
"headline": "docs: update golang-dev skill with gosdk cobra metrics, db singleton …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T19:01:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fa9e06e2688d076a5b20698b9c6e62a7e5f781b",
"body": "… to Metric model",
"is_bot": false,
"headline": "refactor: inline metric emission logic and add ConvertToMetric helper…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T18:43:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dec5d28b809c46484c396b842f5c87fe98e13a98",
"body": null,
"is_bot": false,
"headline": "chore: remove obsolete planning documents",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T18:38:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "529d132bc912c9d134b10ebed27cc8e3e6ed1d31",
"body": "…ration keys",
"is_bot": false,
"headline": "refactor: modularize database handling and standardize metric configu…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T18:28:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "debbef299cef3ed17ea0b2ada180a49169c6d690",
"body": "…LL.md",
"is_bot": false,
"headline": "docs: move monitor subcommand documentation to the CLI section in SKI…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T14:12:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "597959d4f61467a8896cfdbb34be1396bc615e64",
"body": "…ameter and update documentation accordingly",
"is_bot": false,
"headline": "refactor: simplify InitTracerProvider by removing unused tempoURL par…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T13:55:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0fe18a88e76c3eff3ed873a8d8c705d862772ba3",
"body": "…moteWriteService and update related documentation.",
"is_bot": false,
"headline": "refactor: consolidate Mimir and VictoriaMetrics into a generalized Re…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T12:54:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d54814ce1cf5d295e6fde569e1e1315c3189de94",
"body": "…write support and add VictoriaMetrics provider",
"is_bot": false,
"headline": "refactor: introduce RemoteWriteService for unified Prometheus remote-…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-10T12:44:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa6987cbb74a3fb04793b13f10d1f5c6dd2a9324",
"body": null,
"is_bot": false,
"headline": "docs: update CLAUDE.md to reflect project documentation changes",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-08T15:21:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f527343ec02416f4644675936a423c5298f6a80b",
"body": "…ders",
"is_bot": false,
"headline": "refactor: remove redundant configuration file logging from config loa…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-08T15:21:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d336aa8335105880b2a3a768e3ca9519e5439f6d",
"body": "…ules",
"is_bot": false,
"headline": "chore: update dependencies by adding goproxy, dns, and image-spec mod…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T17:48:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "250ed794fa4f5f25fa9dcca657eb654029d8c8e3",
"body": null,
"is_bot": false,
"headline": "chore: extend version retraction range in go.mod to v1.0.4",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T15:56:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e271e1ddfe4e791c171b6ffb562d724e0701890e",
"body": "… IMetric",
"is_bot": false,
"headline": "refactor: make Send function generic to support any type implementing…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T15:33:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7fd07e619a7f856f7479ad116d9763660c26115",
"body": null,
"is_bot": false,
"headline": "chore: consolidate retracted versions in go.mod into a single range",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T15:26:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5efb3139fedfb9a75dd7234e3687df7b27f1b269",
"body": "… Mimir batch processing",
"is_bot": false,
"headline": "fix: update metric conversion to correctly append variadic results in…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T15:09:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f79c0f3c54a31cfc766c4ddd656c67180d55902a",
"body": null,
"is_bot": false,
"headline": "refactor: update IMetric interface to return a slice of Metrics",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T15:06:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6bd3803106b089fccb525c32d20bde1eec1ca68",
"body": "…etric transmission",
"is_bot": false,
"headline": "feat: implement IMetric interface and add global helper for batched m…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T15:03:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "354418bbbb7ee0618c33644e730292941d1e20d9",
"body": "…ad of pointers",
"is_bot": false,
"headline": "refactor: update LoadCSV generic return type to slice of values inste…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T14:14:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "868e90f37f2b7a716cf383fd1b4671396818e9c1",
"body": null,
"is_bot": false,
"headline": "chore: remove legacy CI workflow configuration file",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T13:38:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "817a60bb278708f9d046a3b6ac168837b164e7db",
"body": null,
"is_bot": false,
"headline": "feat: add LoadCSV generic helper and deprecate ResolvePath",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T07:14:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d91eee6667fb16bf29a2880ffcd727ab9a9a4e73",
"body": "…onversion support",
"is_bot": false,
"headline": "feat: allow flexible numeric types for metric values by adding type c…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T06:02:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97d9f590aa9c7dcf72bda917b0ad409a904d151c",
"body": "… ignore files",
"is_bot": false,
"headline": "build: upgrade Go version to 1.26.0 and update CI, documentation, and…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-06-01T04:21:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8df3df69799f5e2ea73d6cbd8b07d06573925ef",
"body": "…code-quality skill guides",
"is_bot": false,
"headline": "docs: fix formatting and markdown syntax in golang-naming and golang-…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T17:30:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41ad1d401f909ea2e54ed39aaf1bfdaf028f4968",
"body": "…g-dev skill documentation",
"is_bot": false,
"headline": "docs: add instruction to avoid creating interfaces for tests in golan…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T17:29:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c47e558f568d560d12d24cfb3b564d7feef572b",
"body": null,
"is_bot": false,
"headline": "chore: remove SKILL.md documentation for golang-gosdk",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T17:28:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d3ba7580e823587fc8c40dceaa192f2f46cd30d",
"body": null,
"is_bot": false,
"headline": "feat: add Go development and performance tuning skill definitions",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T17:08:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc464a416916655b5fb3d8f9531660636f60bd25",
"body": "…nd update configuration patterns",
"is_bot": false,
"headline": "refactor: remove log wrapper functions in favor of direct zap usage a…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T16:51:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f381a26bb2043e9cc15de5053e281df3fd7a6ab4",
"body": "…variable",
"is_bot": false,
"headline": "refactor: prioritize configuration from viper over existing tempoURL …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T15:10:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c7533e6226d534f867ff7c9e60451d4aa1e1409",
"body": "…s and document new notify package usage",
"is_bot": false,
"headline": "refactor: standardize metric endpoint configuration via viper default…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-31T15:05:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fb2975d562b9a575b0731d70c103aed0f358a3e",
"body": null,
"is_bot": false,
"headline": "docs: add usage example and documentation for WithDefaultValue option",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T16:05:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20263099f356b6f84ec8a4eb1bf7dfa4316f841f",
"body": null,
"is_bot": false,
"headline": "docs: update OTel integration examples and refine formatting in SKILL.md",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T15:49:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2ea2f07ab43ede7342b52064e04b9993be5c64f",
"body": "…king plan",
"is_bot": false,
"headline": "feat: add OpenTelemetry support to documentation and define task trac…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T14:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ec2ad1381c5c60c73259343cf46e41e79e2089e",
"body": "…te gitignore with plan files",
"is_bot": false,
"headline": "refactor: remove GlobalConfig in favor of direct viper usage and upda…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T13:23:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c3b96f0b2ff7a54b07927e2ad2fd576b7ba7ac6",
"body": "…database file",
"is_bot": false,
"headline": "refactor: update default config path to use ~/.config and add sample …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T13:17:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b43a7470e723a58dd70e8310a4bc81cc2f8ed08",
"body": "…emetry provider initialization and helpers",
"is_bot": false,
"headline": "refactor: replace specialized OTel metrics struct with global OpenTel…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T13:12:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6e7fb7287c32e6bc4b64267c62380358cbdeaa0",
"body": null,
"is_bot": false,
"headline": "fix: remove duplicate metric.go with incorrect package name",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T12:58:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "808064b5872d6c667b5b5ec472a552f3b874e83d",
"body": "…for service monitoring",
"is_bot": false,
"headline": "feat: implement OpenTelemetry metric provider and sample application …",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T12:51:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c95b627798dc4ee104c999b0efa1118d81ff2af",
"body": "… code formatting",
"is_bot": false,
"headline": "refactor: move SendTest method from MimirService to test file and fix…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-30T07:46:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8372b7d1a10b5dbc8b111ef903387d1ec3989719",
"body": null,
"is_bot": false,
"headline": "refactor: remove info logs for missing optional configuration files",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-28T17:30:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8357ec5572438e322de23d17f479f24564c47a4",
"body": "…e for Go and Python SDKs",
"is_bot": false,
"headline": "feat: implement OpenTelemetry metrics and notifications infrastructur…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-27T20:35:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5765f005ca7b4e128d61bdc5e6304151c3425fa",
"body": "…ate random generation to use math/rand/v2",
"is_bot": false,
"headline": "feat: upgrade WriteCSV to support struct marshaling via gocsv and upd…",
"author_name": "shuk.liu",
"author_login": "BizShuk",
"committed_at": "2026-05-27T16:59:23Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 11,
"commits_last_year": 188,
"latest_release_at": "2026-07-28T18:30:49Z",
"latest_release_tag": "v1.2.9",
"releases_from_tags": true,
"days_since_last_push": 0,
"active_weeks_last_year": 13,
"days_since_latest_release": 0,
"mean_days_between_releases": 0.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": false,
"has_contributing": false,
"health_percentage": 28,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "github.com/bizshuk/gosdk",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/bizshuk/gosdk",
"is_deprecated": false,
"latest_version": "v1.2.9",
"repository_url": "https://github.com/bizshuk/gosdk",
"versions_count": 14,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-28T18:30:49Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 0,
"stars": 0,
"watchers": 1,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0,
"collected_at": null
},
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"sample"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 18329,
"source_files_sampled": 164,
"oversized_source_files": 0,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 28950
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "github.com/jackc/pgx/v5",
"direct": false,
"version": "v5.6.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-9jj7-4m8r-rfcm",
"GHSA-j88v-2chj-qfwx",
"GHSA-xgrm-4fwx-7qm8",
"GO-2026-4771",
"GO-2026-4772",
"GO-2026-5004"
],
"fixed_version": "5.9.2",
"advisory_count": 6,
"oldest_advisory_days": 113
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.51.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 10,
"advisory_ids": [
"GHSA-45gg-vh54-h5m9",
"GHSA-5cgq-3rg8-m6cv",
"GHSA-78mq-xcr3-xm33",
"GHSA-89gr-r52h-f8rx",
"GHSA-9m57-25v3-79x9",
"GHSA-f5wc-c3c7-36mc",
"GHSA-jppx-rxg9-jmrx",
"GHSA-q4h4-gmj2-qvw2",
"GHSA-qpw4-5x99-6vjp",
"GHSA-rm3j-f69w-wqmq"
],
"fixed_version": "0.52.0",
"advisory_count": 27,
"oldest_advisory_days": 68
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.81.1",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-hrxh-6v49-42gf",
"GO-2026-6061"
],
"fixed_version": "1.82.1",
"advisory_count": 2,
"oldest_advisory_days": 7
},
{
"name": "github.com/prometheus/prometheus",
"direct": true,
"version": "v0.304.1",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-8rm2-7qqf-34qm",
"GHSA-fw8g-cg8f-9j28",
"GHSA-vffh-x6r8-xx99",
"GHSA-wg65-39gg-5wfj",
"GO-2026-5264",
"GO-2026-5381",
"GO-2026-5662",
"GO-2026-5710"
],
"fixed_version": "0.311.3",
"advisory_count": 8,
"oldest_advisory_days": 106
},
{
"name": "github.com/go-git/go-billy/v5",
"direct": false,
"version": "v5.6.2",
"severity": "high",
"ecosystem": "go",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-m3xc-h892-ggx6",
"GHSA-qw64-3x98-g7q2",
"GO-2026-5490",
"GO-2026-5597"
],
"fixed_version": "6.0.0-alpha.1",
"advisory_count": 4,
"oldest_advisory_days": 77
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"direct": true,
"version": "v1.35.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-w8rr-5gcm-pp58",
"GO-2026-4985"
],
"fixed_version": "1.43.0",
"advisory_count": 2,
"oldest_advisory_days": 111
},
{
"name": "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream",
"direct": false,
"version": "v1.6.10",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-xmrv-pmrh-hhx2",
"GO-2026-5764"
],
"fixed_version": "1.97.3",
"advisory_count": 2,
"oldest_advisory_days": 112
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/s3",
"direct": false,
"version": "v1.79.4",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-xmrv-pmrh-hhx2",
"GO-2026-5764"
],
"fixed_version": "1.97.3",
"advisory_count": 2,
"oldest_advisory_days": 112
},
{
"name": "github.com/cloudflare/circl",
"direct": false,
"version": "v1.6.1",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.6,
"advisory_ids": [
"GHSA-q9hv-hpm4-hj6x",
"GO-2026-4550"
],
"fixed_version": "1.6.3",
"advisory_count": 2,
"oldest_advisory_days": 153
},
{
"name": "github.com/go-git/go-git/v5",
"direct": false,
"version": "v5.16.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 6.5,
"advisory_ids": [
"GHSA-37cx-329c-33x3",
"GHSA-389r-gv7p-r3rp",
"GHSA-3xc5-wrhm-f963",
"GHSA-crhj-59gh-8x96",
"GHSA-gm2x-2g9h-ccm8",
"GHSA-jhf3-xxhw-2wpp",
"GHSA-m7cr-m3pv-hgrp",
"GHSA-w5pp-99ch-qj29",
"GO-2026-4473",
"GO-2026-4909"
],
"fixed_version": "6.0.0-alpha.4",
"advisory_count": 16,
"oldest_advisory_days": 169
},
{
"name": "github.com/quic-go/quic-go",
"direct": false,
"version": "v0.57.1",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-vvgj-x9jq-8cj9",
"GO-2026-5676"
],
"fixed_version": "0.59.1",
"advisory_count": 2,
"oldest_advisory_days": 55
},
{
"name": "filippo.io/edwards25519",
"direct": false,
"version": "v1.1.0",
"severity": "low",
"ecosystem": "go",
"cvss_score": 3.7,
"advisory_ids": [
"GHSA-fw7p-63qq-7hpr",
"GO-2026-4503"
],
"fixed_version": "1.1.1",
"advisory_count": 2,
"oldest_advisory_days": 161
},
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.37.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 14
},
{
"name": "github.com/aws/aws-sdk-go",
"direct": false,
"version": "v1.55.7",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2022-0635",
"GO-2022-0646"
],
"fixed_version": null,
"advisory_count": 2,
"oldest_advisory_days": 1628
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5942"
],
"fixed_version": "0.56.0",
"advisory_count": 1,
"oldest_advisory_days": 14
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 2,
"unknown": 3,
"critical": 3,
"moderate": 6
},
"advisory_count": 79,
"affected_count": 15,
"assessed_count": 228,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 3
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/castai/promwrite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.0"
},
{
"name": "github.com/fsnotify/fsnotify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.8.0"
},
{
"name": "github.com/gin-gonic/gin",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.0"
},
{
"name": "github.com/gocarina/gocsv",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20260523204920-c264028e67ea"
},
{
"name": "github.com/golang/snappy",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/hairyhenderson/gomplate/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.3.3"
},
{
"name": "github.com/prometheus/prometheus",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.304.1"
},
{
"name": "github.com/satori/go.uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.0"
},
{
"name": "github.com/slack-go/slack",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.23.1"
},
{
"name": "github.com/spf13/cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.9.1"
},
{
"name": "github.com/spf13/pflag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.6"
},
{
"name": "github.com/spf13/viper",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.17.0"
},
{
"name": "github.com/tavsec/gin-healthcheck",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.2"
},
{
"name": "go.opentelemetry.io/otel",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.35.0"
},
{
"name": "go.opentelemetry.io/otel/metric",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/sdk/metric",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "go.opentelemetry.io/otel/trace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.0"
},
{
"name": "golang.org/x/text",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.37.0"
},
{
"name": "golang.org/x/tools",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.44.0"
},
{
"name": "gopkg.in/yaml.v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.0.1"
},
{
"name": "gorm.io/driver/mysql",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "gorm.io/driver/postgres",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "gorm.io/driver/sqlite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "gorm.io/gorm",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.31.1"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/castai/promwrite",
"direct": true,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/fsnotify/fsnotify",
"direct": true,
"version": "v1.8.0",
"ecosystem": "go"
},
{
"name": "github.com/gin-gonic/gin",
"direct": true,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/gocarina/gocsv",
"direct": true,
"version": "v0.0.0-20260523204920-c264028e67ea",
"ecosystem": "go"
},
{
"name": "github.com/golang/snappy",
"direct": true,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/hairyhenderson/gomplate/v4",
"direct": true,
"version": "v4.3.3",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/prometheus",
"direct": true,
"version": "v0.304.1",
"ecosystem": "go"
},
{
"name": "github.com/satori/go.uuid",
"direct": true,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/slack-go/slack",
"direct": true,
"version": "v0.23.1",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cobra",
"direct": true,
"version": "v1.9.1",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": true,
"version": "v1.0.6",
"ecosystem": "go"
},
{
"name": "github.com/spf13/viper",
"direct": true,
"version": "v1.17.0",
"ecosystem": "go"
},
{
"name": "github.com/tavsec/gin-healthcheck",
"direct": true,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"direct": true,
"version": "v1.35.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk/metric",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": true,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": true,
"version": "v0.44.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": true,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "gorm.io/driver/mysql",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "gorm.io/driver/postgres",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "gorm.io/driver/sqlite",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "gorm.io/gorm",
"direct": true,
"version": "v1.31.1",
"ecosystem": "go"
},
{
"name": "cel.dev/expr",
"direct": false,
"version": "v0.25.1",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go",
"direct": false,
"version": "v0.120.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth",
"direct": false,
"version": "v0.16.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth/oauth2adapt",
"direct": false,
"version": "v0.2.8",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/compute/metadata",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/iam",
"direct": false,
"version": "v1.4.2",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/monitoring",
"direct": false,
"version": "v1.24.1",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/storage",
"direct": false,
"version": "v1.51.0",
"ecosystem": "go"
},
{
"name": "cuelang.org/go",
"direct": false,
"version": "v0.13.2",
"ecosystem": "go"
},
{
"name": "dario.cat/mergo",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "filippo.io/edwards25519",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/armon/go-metrics",
"direct": false,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go",
"direct": false,
"version": "v1.55.7",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2",
"direct": false,
"version": "v1.36.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream",
"direct": false,
"version": "v1.6.10",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"direct": false,
"version": "v1.29.14",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"direct": false,
"version": "v1.17.67",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/ec2/imds",
"direct": false,
"version": "v1.16.30",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/s3/manager",
"direct": false,
"version": "v1.17.69",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/configsources",
"direct": false,
"version": "v1.3.34",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2",
"direct": false,
"version": "v2.6.34",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/ini",
"direct": false,
"version": "v1.8.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/v4a",
"direct": false,
"version": "v1.3.34",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding",
"direct": false,
"version": "v1.12.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/checksum",
"direct": false,
"version": "v1.7.2",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url",
"direct": false,
"version": "v1.12.15",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/s3shared",
"direct": false,
"version": "v1.18.15",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/s3",
"direct": false,
"version": "v1.79.4",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/secretsmanager",
"direct": false,
"version": "v1.35.4",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ssm",
"direct": false,
"version": "v1.59.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sso",
"direct": false,
"version": "v1.25.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ssooidc",
"direct": false,
"version": "v1.30.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sts",
"direct": false,
"version": "v1.33.19",
"ecosystem": "go"
},
{
"name": "github.com/aws/smithy-go",
"direct": false,
"version": "v1.22.3",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/azcore",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/azidentity",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/internal",
"direct": false,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/storage/azblob",
"direct": false,
"version": "v1.6.1",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest",
"direct": false,
"version": "v14.2.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest/to",
"direct": false,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/azuread/microsoft-authentication-library-for-go",
"direct": false,
"version": "v1.4.2",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic",
"direct": false,
"version": "v1.14.0",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic/loader",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v4",
"direct": false,
"version": "v4.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v5",
"direct": false,
"version": "v5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cloudflare/circl",
"direct": false,
"version": "v1.6.1",
"ecosystem": "go"
},
{
"name": "github.com/cloudwego/base64x",
"direct": false,
"version": "v0.1.6",
"ecosystem": "go"
},
{
"name": "github.com/cncf/xds/go",
"direct": false,
"version": "v0.0.0-20260202195803-dba9d589def2",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/apd/v3",
"direct": false,
"version": "v3.2.1",
"ecosystem": "go"
},
{
"name": "github.com/cyphar/filepath-securejoin",
"direct": false,
"version": "v0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/dgryski/go-rendezvous",
"direct": false,
"version": "v0.0.0-20200823014737-9f7001d12a5f",
"ecosystem": "go"
},
{
"name": "github.com/dustin/gojson",
"direct": false,
"version": "v0.0.0-20160307161227-2e71ec9dd5ad",
"ecosystem": "go"
},
{
"name": "github.com/elazarl/goproxy",
"direct": false,
"version": "v1.8.4",
"ecosystem": "go"
},
{
"name": "github.com/emirpasic/gods",
"direct": false,
"version": "v1.18.1",
"ecosystem": "go"
},
{
"name": "github.com/envoyproxy/go-control-plane/envoy",
"direct": false,
"version": "v1.37.0",
"ecosystem": "go"
},
{
"name": "github.com/envoyproxy/protoc-gen-validate",
"direct": false,
"version": "v1.3.3",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/gabriel-vasile/mimetype",
"direct": false,
"version": "v1.4.8",
"ecosystem": "go"
},
{
"name": "github.com/gin-contrib/sse",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-git/gcfg",
"direct": false,
"version": "v1.5.1-0.20230307220236-3a3c6141e376",
"ecosystem": "go"
},
{
"name": "github.com/go-git/go-billy/v5",
"direct": false,
"version": "v5.6.2",
"ecosystem": "go"
},
{
"name": "github.com/go-git/go-git/v5",
"direct": false,
"version": "v5.16.0",
"ecosystem": "go"
},
{
"name": "github.com/go-jose/go-jose/v4",
"direct": false,
"version": "v4.1.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/go-playground/locales",
"direct": false,
"version": "v0.14.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/universal-translator",
"direct": false,
"version": "v0.18.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/validator/v10",
"direct": false,
"version": "v10.27.0",
"ecosystem": "go"
},
{
"name": "github.com/go-sql-driver/mysql",
"direct": false,
"version": "v1.9.3",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-json",
"direct": false,
"version": "v0.10.2",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-yaml",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/gogo/protobuf",
"direct": false,
"version": "v1.3.2",
"ecosystem": "go"
},
{
"name": "github.com/golang-jwt/jwt/v5",
"direct": false,
"version": "v5.2.2",
"ecosystem": "go"
},
{
"name": "github.com/golang/groupcache",
"direct": false,
"version": "v0.0.0-20241129210726-2c02b8208cf8",
"ecosystem": "go"
},
{
"name": "github.com/google/s2a-go",
"direct": false,
"version": "v0.1.9",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/google/wire",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/enterprise-certificate-proxy",
"direct": false,
"version": "v0.3.6",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/gax-go/v2",
"direct": false,
"version": "v2.14.1",
"ecosystem": "go"
},
{
"name": "github.com/googlecloudplatform/opentelemetry-operations-go/detectors/gcp",
"direct": false,
"version": "v1.31.0",
"ecosystem": "go"
},
{
"name": "github.com/googlecloudplatform/opentelemetry-operations-go/exporter/metric",
"direct": false,
"version": "v0.51.0",
"ecosystem": "go"
},
{
"name": "github.com/googlecloudplatform/opentelemetry-operations-go/internal/resourcemapping",
"direct": false,
"version": "v0.51.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "v1.5.4-0.20250319132907-e064f32e3674",
"ecosystem": "go"
},
{
"name": "github.com/gosimple/slug",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/gosimple/unidecode",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/grafana/regexp",
"direct": false,
"version": "v0.0.0-20240518133315-a468a5bfb3bc",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"direct": false,
"version": "v2.29.0",
"ecosystem": "go"
},
{
"name": "github.com/hack-pad/hackpadfs",
"direct": false,
"version": "v0.2.4",
"ecosystem": "go"
},
{
"name": "github.com/hairyhenderson/go-fsimpl",
"direct": false,
"version": "v0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/hairyhenderson/toml",
"direct": false,
"version": "v0.4.2-0.20210923231440-40456b8e66cf",
"ecosystem": "go"
},
{
"name": "github.com/hairyhenderson/xignore",
"direct": false,
"version": "v0.3.3-0.20230403012150-95fe86932830",
"ecosystem": "go"
},
{
"name": "github.com/hairyhenderson/yaml",
"direct": false,
"version": "v0.0.0-20220618171115-2d35fca545ce",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/consul/api",
"direct": false,
"version": "v1.32.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/errwrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-cleanhttp",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-hclog",
"direct": false,
"version": "v1.6.3",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-immutable-radix",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-metrics",
"direct": false,
"version": "v0.5.4",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-multierror",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-retryablehttp",
"direct": false,
"version": "v0.7.7",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-rootcerts",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-secure-stdlib/awsutil",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-secure-stdlib/parseutil",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-secure-stdlib/strutil",
"direct": false,
"version": "v0.1.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-sockaddr",
"direct": false,
"version": "v1.0.7",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-uuid",
"direct": false,
"version": "v1.0.3",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/golang-lru",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/hcl",
"direct": false,
"version": "v1.0.1-vault-7",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/serf",
"direct": false,
"version": "v0.10.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/vault/api",
"direct": false,
"version": "v1.20.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/vault/api/auth/approle",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/vault/api/auth/aws",
"direct": false,
"version": "v0.10.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/vault/api/auth/userpass",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/inconshreveable/mousetrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/itchyny/gojq",
"direct": false,
"version": "v0.12.17",
"ecosystem": "go"
},
{
"name": "github.com/itchyny/timefmt-go",
"direct": false,
"version": "v0.1.6",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgpassfile",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgservicefile",
"direct": false,
"version": "v0.0.0-20240606120523-5a60cdf6a761",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgx/v5",
"direct": false,
"version": "v5.6.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/puddle/v2",
"direct": false,
"version": "v2.2.2",
"ecosystem": "go"
},
{
"name": "github.com/jbenet/go-context",
"direct": false,
"version": "v0.0.0-20150711004518-d14ea06fba99",
"ecosystem": "go"
},
{
"name": "github.com/jinzhu/inflection",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/jinzhu/now",
"direct": false,
"version": "v1.1.5",
"ecosystem": "go"
},
{
"name": "github.com/jmespath/go-jmespath",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/joho/godotenv",
"direct": false,
"version": "v1.5.1",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/kevinburke/ssh_config",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/cpuid/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/kylelemons/godebug",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/leodido/go-urn",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/magiconair/properties",
"direct": false,
"version": "v1.8.7",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/goutils",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/semver/v3",
"direct": false,
"version": "v3.4.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": false,
"version": "v0.1.14",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-sqlite3",
"direct": false,
"version": "v1.14.22",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/miekg/dns",
"direct": false,
"version": "v1.1.72",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/go-homedir",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/mapstructure",
"direct": false,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/concurrent",
"direct": false,
"version": "v0.0.0-20180306012644-bacd9c7ef1dd",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/reflect2",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/pelletier/go-toml/v2",
"direct": false,
"version": "v2.2.4",
"ecosystem": "go"
},
{
"name": "github.com/pjbgf/sha1cd",
"direct": false,
"version": "v0.3.2",
"ecosystem": "go"
},
{
"name": "github.com/pkg/browser",
"direct": false,
"version": "v0.0.0-20240102092130-5ac0b6a4141c",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/planetscale/vtprotobuf",
"direct": false,
"version": "v0.6.1-0.20240319094008-0393e58bdf10",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.63.0",
"ecosystem": "go"
},
{
"name": "github.com/protonmail/go-crypto",
"direct": false,
"version": "v1.1.6",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/qpack",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/quic-go",
"direct": false,
"version": "v0.57.1",
"ecosystem": "go"
},
{
"name": "github.com/redis/go-redis/v9",
"direct": false,
"version": "v9.7.3",
"ecosystem": "go"
},
{
"name": "github.com/ryanuber/go-glob",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/sagikazarmark/locafero",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/sagikazarmark/slog-shim",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/sergi/go-diff",
"direct": false,
"version": "v1.3.2-0.20230802210424-5b0b94c5c0d3",
"ecosystem": "go"
},
{
"name": "github.com/shopify/ejson",
"direct": false,
"version": "v1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/skeema/knownhosts",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/sourcegraph/conc",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/afero",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cast",
"direct": false,
"version": "v1.5.1",
"ecosystem": "go"
},
{
"name": "github.com/spiffe/go-spiffe/v2",
"direct": false,
"version": "v2.6.0",
"ecosystem": "go"
},
{
"name": "github.com/subosito/gotenv",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/twitchyliquid64/golang-asm",
"direct": false,
"version": "v0.15.1",
"ecosystem": "go"
},
{
"name": "github.com/ugorji/go/codec",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/xanzy/ssh-agent",
"direct": false,
"version": "v0.3.3",
"ecosystem": "go"
},
{
"name": "go.opencensus.io",
"direct": false,
"version": "v0.24.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/detectors/gcp",
"direct": false,
"version": "v1.42.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
"direct": false,
"version": "v0.60.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.60.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"direct": false,
"version": "v1.36.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/proto/otlp",
"direct": false,
"version": "v1.10.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/multierr",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go4.org/intern",
"direct": false,
"version": "v0.0.0-20230525184215-6c62f75575cb",
"ecosystem": "go"
},
{
"name": "go4.org/netipx",
"direct": false,
"version": "v0.0.0-20231129151722-fdeea329fbba",
"ecosystem": "go"
},
{
"name": "go4.org/unsafe/assume-no-moving-gc",
"direct": false,
"version": "v0.0.0-20231121144256-b99613f794b6",
"ecosystem": "go"
},
{
"name": "gocloud.dev",
"direct": false,
"version": "v0.41.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/arch",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.51.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20250305212735-054e65f0b394",
"ecosystem": "go"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.35.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/oauth2",
"direct": false,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.45.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": false,
"version": "v0.12.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/xerrors",
"direct": false,
"version": "v0.0.0-20240903120638-7835f813f4da",
"ecosystem": "go"
},
{
"name": "google.golang.org/api",
"direct": false,
"version": "v0.230.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto",
"direct": false,
"version": "v0.0.0-20250324211829-b45e905df463",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260526163538-3dc84a4a5aaa",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260526163538-3dc84a4a5aaa",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.81.1",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "gopkg.in/ini.v1",
"direct": false,
"version": "v1.67.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/warnings.v0",
"direct": false,
"version": "v0.1.2",
"ecosystem": "go"
},
{
"name": "inet.af/netaddr",
"direct": false,
"version": "v0.0.0-20230525184311-b8eac61e914a",
"ecosystem": "go"
},
{
"name": "k8s.io/client-go",
"direct": false,
"version": "v0.33.2",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 228,
"direct_count": 27,
"indirect_count": 201
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 0,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "BizShuk",
"commits": 209,
"avatar_url": "https://avatars.githubusercontent.com/u/12511875?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": false,
"has_tests": true,
"ci_workflows": [],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"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": null,
"reason": "no pull request found",
"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": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": null,
"reason": "No tokens found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "41 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "af3452c0e7bb9099a3b2f6c9fdaf15971c114eb0",
"ran_at": "2026-07-29T15:58:50Z",
"aggregate_score": 2.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-28T18:30:55Z",
"oldest_open_prs": [],
"last_merged_pr_at": null,
"ci_last_conclusion": null,
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/BizShuk/gosdk",
"host": "github.com",
"name": "gosdk",
"owner": "BizShuk"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": null,
"notes": [],
"value": 48,
"inputs": {
"security": 30,
"vitality": 79,
"community": 24,
"governance": 36,
"engineering": 63
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 79,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"commits_last_year": 188,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 13
},
"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": "13/52 weeks with commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 13
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "188 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 188
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"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": 88,
"inputs": {
"releases_count": 11,
"latest_release_tag": "v1.2.9",
"releases_from_tags": true,
"days_since_latest_release": 0,
"mean_days_between_releases": 0.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "11 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 11
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~0.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 0.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 24,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "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
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 36,
"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": "critical",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution",
"pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"merged_prs": 0,
"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": "no decided pull requests or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_decided_prs_or_data",
"params": {}
}
],
"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": "at_risk",
"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": 49,
"inputs": {
"followers": 5,
"owner_type": "User",
"is_verified": null,
"owner_login": "BizShuk",
"public_repos": 37,
"account_age_days": 4089
},
"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": "5 followers of BizShuk",
"points": 5.6,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 5,
"login": "BizShuk"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "37 public repos, account ~11 yr old",
"points": 23.5,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 37
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/bizshuk/gosdk"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "14 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 14
}
}
],
"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": 63,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 62,
"inputs": {
"has_ci": false,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 16,
"status": "met",
"details": [],
"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": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": false
},
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 30,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"dangerous_workflow",
"packaging",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 24,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 13,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 5,
"scorecard_aggregate": 2.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": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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 workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "41 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 228 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 228
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 56,
"inputs": {
"source": "osv",
"advisories": 79,
"affected_packages": 15,
"assessed_packages": 228,
"unassessed_packages": 0,
"affected_by_severity": "critical 3, high 2, moderate 6, low 1, unknown 3",
"direct_affected_packages": 3
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "3 affected: github.com/prometheus/prometheus v0.304.1 (high 7.5), go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 (moderate 5.3), golang.org/x/text v0.37.0 (unknown)",
"points": 11.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 3,
"packages": "github.com/prometheus/prometheus v0.304.1 (high 7.5), go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 (moderate 5.3), golang.org/x/text v0.37.0 (unknown)"
}
}
],
"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": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 111 days ago",
"points": 30.3,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 2,
"oldest": 111
}
}
],
"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": 228,
"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": 79,
"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.98,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 28950
},
"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": "98 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 98,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.18,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"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": "18 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 18,
"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 0",
"points": 0,
"status": "missed",
"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": 18329,
"source_files_sampled": 164,
"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/164 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 164,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"sample"
],
"has_mcp_signal": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "sample",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "sample"
}
}
],
"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": [],
"report_type": "repository",
"generated_at": "2026-07-29T15:58:54.414617Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/BizShuk/gosdk.svg",
"full_name": "BizShuk/gosdk",
"license_state": "standard",
"license_spdx": "MIT"
}