update-project-version

作成者: nvidia

NeMo RelayプロジェクトのバージョンをCargo、Node、ロックファイル間で更新し、リリース面の同期がずれないようにします。

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
何かがおかしいときに使用:Search()がハングする、すべての評価がINVALID_SCOREを返す、スコアが改善しない、すべての設定が同じ数値を返す、ptxasエラー…
create-github-pr
nvidia
gh CLIを使用してGitHubのプルリクエストを作成します。ユーザーが新しいPRを作成したい、コードをレビューに提出したい、またはプルリクエストを開きたい場合に使用します。トリガーキーワード -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
他のオープンなIssueをスキャンし、特定のPRが修正する可能性があるものや、誤って壊す可能性があるものを見つけます。隣接修正の機会や矛盾リスクをfile:line…と共に出力します。
fhir-basics
nvidia
エージェントにFHIR R4 APIの動作方法、利用可能なリソース、検索パラメータを使ったクエリ方法、およびすべてのレスポンス形式を正しく解析する方法を教えます…
compileiq-validate-result
nvidia
検索が完了した後、かつスピードアップの申請やACFの発送の前に使用します。dump_results CSVを読み込み、トップK候補(単一目的)を抽出します…
changelog-audit
nvidia
リリース前にWarp CHANGELOG.mdを監査:失われたエントリを復元、ユーザー影響で並べ替え、エントリの文言を洗練、行折り返し、および(リリースブランチモードで)比較をバンプ…
maintain-dynamic-plugins
nvidia
NeMo Relayの動的プラグインローダー、マニフェスト、RustネイティブSDK、gRPCワーカープロトコル、PythonワーカーSDK、ドキュメント、テスト、およびリリースワークフローのカバレッジを維持する
dgx-diagnose
nvidia
一般的なDGX Station GB300の問題(CUDAクラッシュ、誤ったGPUターゲット、vLLM/SGLangコンテナのバグ、MIG状態の問題、NVLink/Fabric Managerエラーなど)を診断します。