mcpbeat

Test Go Binding

nvidia/test-go-binding

Build and test the NeMo Relay Go binding; use this for go/nemo_relay changes or Go-facing integration checks

592 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
102
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/NVIDIA/NeMo-Relay --skill test-go-binding

The instruction itself

7 sections, as written by the author

Build And Test Go Binding

Companion Guidance

Use karpathy-guidelines alongside this skill for implementation or review

work. Keep changes scoped, surface assumptions, and define focused validation

before editing.

Use this skill when the change is primarily in go/nemo_relay or the Go

binding behavior it depends on.

Important Constraint

The Go binding links against the shared FFI library. just test-go

builds that library for you, while just build-go remains useful when

you want an explicit build-only pass or need the artifact for other work.

Default Path

  • Format changed Go packages with cd go/nemo_relay && go fmt ./....
  • Run Go tests with just test-go.
  • If any Rust files changed as part of the Go work, also run

cargo fmt --all, just test-rust, and

cargo clippy --workspace --all-targets -- -D warnings.

  • Use just build-go when you want an explicit build-only pass.
  • Use just ci=true test-go when you need the CI-style coverage and JUnit path.
  • Expand to broader validation only if the change touched shared semantics.

Common Commands

# Full Go suite
just test-go

# Format Go files
cd go/nemo_relay && go fmt ./...

# Required when the Go change also touched Rust code
cargo fmt --all
just test-rust
cargo clippy --workspace --all-targets -- -D warnings

# CI-style Go suite with coverage and JUnit artifacts
just ci=true test-go

# Explicit shared-library build when needed separately
just build-go

In the test-go task, the ci variable is what is_true "{{ ci }}" checks.

Setting ci=true enables coverage_out and junit_out handling and adds

-coverprofile=coverage.out to go_test_cmd.

On macOS, also set DYLD_LIBRARY_PATH to the same ../../target/release

directory before running the raw go test command directly.

When To Escalate

  • If the change touched crates/ffi, also use test-ffi-surface.
  • If the change touched crates/core or shared runtime semantics, also use

validate-change.

References

  • go/nemo_relay/go.mod
  • go/nemo_relay/nemo_relay.go
  • README.md
  • docs/getting-started/installation.md
  • validate-change

How to use it

Copy the folder

Take nvidia/test-go-binding from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.