Apache Software Foundation logo

Skill

vendor-update

update Go and Node.js vendor dependencies

Covers Node.js Go

Description

Upgrade Go/Node.js vendor dependencies and sync tool versions. Use whenever the user says "upgrade dependencies", "update vendors", "vendor update", "run vendor-upgrade", "bump dependencies", "update packages", or asks to run the `vendor-update` Make target. This skill also checks `scripts/build/version.mk` after upgrading to see if any tracked tool versions need updating too, and removes stale binaries from `bin/` when versions change.

SKILL.md

Upgrade vendor dependencies

Run the vendor-update Make target across all projects:

make vendor-update

This runs go get -u ./... and go mod tidy -compat=1.25 in each project directory (ui, banyand, bydbctl, mcp, fodc/agent, fodc/proxy, pkg, test).

Update license dependencies

After the vendor upgrade completes, run make license-dep to update any license-related files that may have changed due to new or updated dependencies:

make license-dep

This ensures license headers and dependency license files stay in sync with the upgraded vendors.

Check for tool version drift

After upgrading, compare go.mod dependency versions against scripts/build/version.mk to find any tools whose library version was bumped and may need their tool version updated.

Version mapping

Read scripts/build/version.mk and go.mod in parallel. For each tool version variable, check if the corresponding library in go.mod was upgraded:

version.mk variableBinarygo.mod package
BUF_VERSIONbin/bufgithub.com/bufbuild/buf (if present)
PROTOC_GEN_GO_VERSIONbin/protoc-gen-gogoogle.golang.org/protobuf
PROTOC_GEN_GO_GRPC_VERSIONbin/protoc-gen-go-grpcgoogle.golang.org/grpc
PROTOC_GEN_DOC_VERSIONbin/protoc-gen-docgithub.com/pseudomuto/protoc-gen-doc (if present)
GRPC_GATEWAY_VERSIONbin/protoc-gen-grpc-gatewaygithub.com/grpc-ecosystem/grpc-gateway/v2
PROTOC_GEN_VALIDATE_VERSIONbin/protoc-gen-validategithub.com/envoyproxy/protoc-gen-validate
GOLANGCI_LINT_VERSIONbin/golangci-lint(no go.mod entry — only in version.mk)
REVIVE_VERSIONbin/revive(no go.mod entry — only in version.mk)
LICENSE_EYE_VERSIONbin/license-eye(no go.mod entry — only in version.mk)
MOCKGEN_VERSIONbin/mockgengo.uber.org/mock
GINKGO_VERSIONbin/ginkgogithub.com/onsi/ginkgo/v2
GOVULNCHECK_VERSIONbin/govulncheckgolang.org/x/vuln
BPF2GO_VERSION(used in bpf2go.mk)github.com/cilium/ebpf

Only update version.mk if the library version in go.mod has changed and the tool version should follow. Many tools (golangci-lint, revive, license-eye) are not in go.mod — their versions only change when explicitly updated in version.mk, not from make vendor-update.

Update version.mk if needed

If a tool version should be bumped (library changed and tool version needs to match), update scripts/build/version.mk using the Edit tool. Keep the format exactly — e.g., PROTOC_GEN_GO_VERSION := v1.36.11.

Remove stale binaries

When version.mk is updated, remove the corresponding old binary from bin/:

rm bin/<binary-name>

This ensures the next build/install of that tool fetches the correct new version.

© 2026 YourAI.tools. Every skill from an identity-verified publisher.

Independent catalog. Not affiliated with, endorsed by, or sponsored by Anthropic or any listed publisher. All trademarks belong to their respective owners.