From 9ad21557de1a6a07ad78ff60c639ccfbfd46fb6b Mon Sep 17 00:00:00 2001 From: 1bcMax Date: Tue, 28 Jul 2026 00:03:39 -0700 Subject: [PATCH] feat(brand): derive Go module homepages too, and close the last description gap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A Go module's import path IS its published page. go.mod states it, pkg.go.dev either serves it or does not — same shape as the npm and PyPI derivations, and verified before proposing. That covers blockrun-llm-go and blockrun-llm-go-vip. blockrun-llm-vip was the one public repo with no description at all. I had been treating that as needing author intent I could not supply — but the author did supply it, in the README, which says the thing plainly: native passthrough that subclasses the official SDKs and swaps only transport and base URL, so responses come back verbatim. That is a compression of what is already written, not invention. 18 of 36 public repos now have a homepage, up from 4, and all 36 have a description. The remaining 18 publish no artifact — awesome lists, .github, branding, renovate-config, samples, the decommissioned xrpl client. There is nothing to derive for them, and pointing them all at blockrun.ai would be filling a field rather than answering it. --- brand/plan-repo-metadata.mjs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/brand/plan-repo-metadata.mjs b/brand/plan-repo-metadata.mjs index adea5d1..e49f481 100644 --- a/brand/plan-repo-metadata.mjs +++ b/brand/plan-repo-metadata.mjs @@ -103,6 +103,16 @@ function derivedHomepage(repo, shape) { return `https://www.npmjs.com/package/${name}`; } catch { return null; } } + if (shape === "go") { + // A Go module's import path IS its published page. Verified against + // pkg.go.dev before proposing, same as npm and PyPI. + const mod = fileFrom(repo.name, "go.mod")?.match(/^module\s+(\S+)/m)?.[1]; + if (!mod) return null; + try { + gh(["api", "--silent", `https://pkg.go.dev/${mod}`]); + return `https://pkg.go.dev/${mod}`; + } catch { return null; } + } if (shape === "py-pypi") { const toml = fileFrom(repo.name, "pyproject.toml"); const name = toml?.match(/^\s*name\s*=\s*["']([^"']+)["']/m)?.[1];