physical-ai-toolchain

[!NOTE] This guide expands on the Prerequisites section of the main contributing guide.

Tools, Azure access, and build validation requirements for contributing to the Physical AI Toolchain.

Required Tools

Install these tools before contributing:

Tool Minimum Version Installation
Terraform 1.9.8 https://developer.hashicorp.com/terraform/install
TFLint 0.61.0 https://github.com/terraform-linters/tflint
Azure CLI 2.65.0 https://learn.microsoft.com/cli/azure/install-azure-cli
kubectl 1.31 https://kubernetes.io/docs/tasks/tools/
Helm 3.16 https://helm.sh/docs/intro/install/
Node.js/npm 20+ LTS https://nodejs.org/
Python 3.11+ https://www.python.org/downloads/
shellcheck 0.10+ https://www.shellcheck.net/
uv latest https://docs.astral.sh/uv/
Docker latest https://docs.docker.com/get-docker/ (with NVIDIA Container Toolkit)
OSMO CLI latest https://developer.nvidia.com/osmo
hve-core latest https://github.com/microsoft/hve-core

Azure Access Requirements

Deploying this architecture requires Azure subscription access with specific permissions and quotas:

Subscription Roles

GPU Quota

Regional Availability

NVIDIA NGC Account

Training workflows use NVIDIA GPU Operator and Isaac Lab, which require NGC credentials:

Cost Awareness

Full deployment validation incurs Azure costs. Understand cost structure before deploying:

GPU Virtual Machines

Managed Services

Cost Optimization

Estimated Costs

Build and Validation Requirements

Tool Version Verification

Verify tool versions before validating:

# Terraform
terraform version  # >= 1.9.8

# TFLint (Terraform linter)
tflint --version  # >= 0.61.0

# Azure CLI
az version  # >= 2.65.0

# kubectl
kubectl version --client  # >= 1.31

# Helm
helm version  # >= 3.16

# Node.js (for documentation linting)
node --version  # >= 20

# Python (for training scripts)
python --version  # >= 3.11

# shellcheck (for shell script validation)
shellcheck --version  # >= 0.10

# uv (Python package manager)
uv --version

# Docker with NVIDIA Container Toolkit
docker --version
nvidia-ctk --version

# OSMO CLI
osmo --version

# hve-core (VS Code extension — verify via extensions list)
code --list-extensions | grep -i hve-core

Validation Commands

Run these commands before committing:

Terraform:

# Format check (required)
terraform fmt -check -recursive infrastructure/terraform/

# Initialize and validate (required for infrastructure changes)
cd infrastructure/terraform/
terraform init
terraform validate

# Lint Terraform configurations (required for infrastructure changes)
tflint --recursive infrastructure/terraform/

Shell Scripts:

# Lint all shell scripts (required)
shellcheck deploy/**/*.sh scripts/**/*.sh

Documentation:

# Install dependencies (first time only)
npm install

# Lint markdown (required for documentation changes)
npm run lint:md

VS Code Configuration

The workspace is configured with python.analysis.extraPaths pointing to src/, enabling imports like:

from training.utils import AzureMLContext, bootstrap_azure_ml

Select the .venv/bin/python interpreter in VS Code for IntelliSense support.

The workspace .vscode/settings.json also configures Copilot Chat to load instructions, prompts, and chat modes from hve-core:

Setting hve-core Paths
chat.modeFilesLocations ../hve-core/.github/chatmodes, ../hve-core/copilot/beads/chatmodes
chat.instructionsFilesLocations ../hve-core/.github/instructions, ../hve-core/copilot/beads/instructions
chat.promptFilesLocations ../hve-core/.github/prompts, ../hve-core/copilot/beads/prompts

These paths resolve when hve-core is installed as a peer directory or via the VS Code Extension. Without hve-core, Copilot still functions but shared conventions, prompts, and chat modes are unavailable.

For a complete list of available agents, prompts, and skills, see Copilot Artifacts.