diff --git a/makefiles/npm/nvm.mk b/makefiles/npm/nvm.mk
new file mode 100644
index 0000000..0b72fd7
--- /dev/null
+++ b/makefiles/npm/nvm.mk
@@ -0,0 +1,75 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
+
+nvm-install-sh := https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh
+
+## -----------------------------------------------------------------------
+## Intent: Install the npm pacakge manager
+## -----------------------------------------------------------------------
+nvm-install : $(nvm-sh)
+$(nvm-sh) :
+	$(HIDE)mkdir -p "$(npm-dir-root)"
+	$(HIDE)mkdir -p "$(node-modules-root)"
+
+	@echo
+	@echo "Retrieve $(nvm-install-sh)"
+	$(if $(NVM_DIR),$(null),$(error NVM_DIR= is required))#
+	curl -o- "$(nvm-install-sh)" | bash
+
+	@echo
+	@echo "Install nvm --lts"
+	$(activate-npm) && nvm install --lts
+#	$(activate-npm) && nvm ls-remote
+
+	@echo
+	@echo "Install debug module"
+	$(activate-npm) && $(npm-install-cmd) debug --save
+
+## -----------------------------------------------------------------------
+## Intent: Display command version: nvm, node
+## -----------------------------------------------------------------------
+nvm-ver : nvm-install
+	$(activate-npm) && nvm --version
+	$(activate-npm) && node --version
+
+## -----------------------------------------------------------------------
+## Intent: Remove generated tool and package directories
+## -----------------------------------------------------------------------
+sterile ::
+	$(RM) -r "$(npm-dir-root)"
+	$(RM) -r "$(node-modules-root)"
+	$(RM) "$(npm-dir-root)/package.json"
+	$(RM) "$(npm-dir-root)/package-lock.json"
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+nvm-help :
+	@printf '  %-33.33s %s\n' 'nvm-install' 'Install the nvm package manager'
+	@printf '  %-33.33s %s\n' 'nvm-ver'     'Display tool version: nvm, node'
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
