update-project-version

작성자: nvidia

Update the NeMo Relay project version across Cargo, Node, and lockfiles without leaving release surfaces out of sync

npx skills add https://github.com/nvidia/nemo-relay --skill update-project-version

Update Project Version

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 changing the released NeMo Relay version, including pre-release or build-metadata variants used during packaging.

Source Of Truth

  • Cargo.toml [workspace.package].version is the source of truth for the Rust workspace and Python build versioning.
  • Keep Cargo.toml [workspace.dependencies] self-references aligned when the workspace version changes.
  • crates/node/package.json carries its own npm package version and must stay aligned with the workspace-root package-lock.json.
  • integrations/openclaw/package.json carries the OpenClaw npm plugin version and must stay aligned with the workspace-root package-lock.json.
  • package-lock.json records Node package versions under packages["crates/node"].version and packages["integrations/openclaw"].version. The workspace-root lockfile may not have a top-level version field.

Workflow

  1. Read the current version from Cargo.toml and decide the exact target version string.
  2. Run just set-version <version> to update release-version source files:
    • [workspace.package].version
    • workspace.dependencies.nemo-relay.version
    • workspace.dependencies.nemo-relay-adaptive.version
    • workspace.dependencies.nemo-relay-pii-redaction.version
    • workspace.dependencies.nemo-relay-ffi.version
    • workspace.dependencies.nemo-relay-cli.version
    • crates/node/package.json version
    • integrations/openclaw/package.json version
    • package-lock.json packages["crates/node"].version
    • package-lock.json packages["integrations/openclaw"].version
    • integrations/openclaw/package.json dependencies["nemo-relay-node"]
    • package-lock.json packages["integrations/openclaw"].dependencies["nemo-relay-node"]
  3. If editing helper code, keep helper inputs aligned with those same fields:
    • set_project_version should call the Cargo, Node, and coding-agent plugin version helpers for the same target version.
    • set_cargo_workspace_version should update [workspace.package].version plus workspace.dependencies.nemo-relay.version, workspace.dependencies.nemo-relay-adaptive.version, workspace.dependencies.nemo-relay-pii-redaction.version, workspace.dependencies.nemo-relay-ffi.version, and workspace.dependencies.nemo-relay-cli.version.
    • set_node_package_versions should update crates/node/package.json, integrations/openclaw/package.json, the corresponding package-lock.json package entries, and the OpenClaw nemo-relay-node dependency entries in both files. set_node_package_version remains a compatibility alias. set_npm_package_version remains the reusable npm JSON helper for Node packaging recipes.
  4. Refresh generated surfaces:
    • Run cargo check --workspace to refresh Cargo.lock if workspace package entries changed.
    • If Cargo metadata changed and committed attribution files must stay fresh, regenerate ATTRIBUTIONS-Rust.md with ./scripts/generate_attributions.sh rust.
    • If package-lock.json changed, regenerate ATTRIBUTIONS-Node.md with ./scripts/generate_attributions.sh node.
  5. Audit remaining references to the old version with targeted search. Separate true version pins from examples, generated attribution files, and unrelated third-party versions.

Validation

  • rg -n '^version =|nemo-relay = \\{ version =|nemo-relay-adaptive = \\{ version =|nemo-relay-pii-redaction = \\{ version =|nemo-relay-ffi = \\{ version =|nemo-relay-cli = \\{ version =' Cargo.toml
  • rg -n '\"version\"' crates/node/package.json integrations/openclaw/package.json package-lock.json
  • cargo check --workspace
  • If Rust attribution files are expected to stay current: ./scripts/generate_attributions.sh rust
  • If Node packaging changed materially: run npm install --ignore-scripts from the repository root or stronger Node validation through just test-node

Release Notes

  • just package-node and just package-python may set temporary non-release versions for packaging. Do not commit those temporary suffixes as the canonical project version unless the release process requires that exact string.

Avoid

  • Updating only Cargo.toml or only Node package metadata
  • Forgetting Cargo.lock, ATTRIBUTIONS-Rust.md, or ATTRIBUTIONS-Node.md after changing versioned inputs that feed them
  • Doing blind repository-wide search/replace across docs and generated attribution files

References

  • Cargo.toml
  • Cargo.lock
  • package.json
  • package-lock.json
  • crates/node/package.json
  • integrations/openclaw/package.json
  • justfile
  • scripts/licensing/attributions_lockfile_md.py

nvidia의 다른 스킬

compileiq-debug
nvidia
Use when something is wrong: Search() hangs, all evaluations return INVALID_SCORE, scores aren't improving, every config returns the same number, ptxas errors…
official
create-github-pr
nvidia
gh CLI를 사용하여 GitHub 풀 리퀘스트를 생성합니다. 사용자가 새 PR을 만들거나, 코드 리뷰를 제출하거나, 풀 리퀘스트를 열고자 할 때 사용합니다. 트리거 키워드 -…
official
diagnose-perf
nvidia
First-responder performance triage for Isaac Sim and Isaac Lab. Identifies bottleneck category (GPU-bound, CPU-bound, VRAM, loading) using nvidia-smi and…
official
eagle3-review-logs
nvidia
Review EAGLE3 pipeline experiment logs from the launcher's experiments/ directory. Summarizes pass/fail status for all 4 tasks, diagnoses failures with root…
official
nemoclaw-maintainer-cross-issue-sweep
nvidia
다른 열린 이슈들을 스캔하여 주어진 PR이 함께 수정하거나 실수로 망가뜨릴 수 있는 이슈를 찾습니다. 인접 수정 기회와 모순 위험을 file:line…과 함께 출력합니다.
official
karpathy-guidelines
nvidia
일반적인 LLM 코딩 실수를 줄이기 위한 행동 지침입니다. 코드 작성, 검토 또는 리팩토링 시 과도한 복잡성을 피하고 정밀한 변경을 위해 사용하세요.
official
fhir-basics
nvidia
에이전트에게 FHIR R4 API의 작동 방식, 사용 가능한 리소스, 검색 매개변수를 사용한 쿼리 방법, 모든 응답 형식을 올바르게 파싱하는 방법을 가르칩니다…
official
underdeclared-agent
nvidia
A helpful assistant agent
official