This repository is the control-plane CLI for deterministic C:\dev workspace orchestration.
- This repo is operated in fork workflow mode by default.
- Allowed mutation target from local agent environment:
origin(svelderrainruiz/labview-cdev-cli). - Treat
upstream(LabVIEW-Community-CI-CD/labview-cdev-cli) as read-only from fork worktrees. - Forbidden in fork workflow:
git push upstream ...gh workflow run ... -R LabVIEW-Community-CI-CD/labview-cdev-cligh run rerun ... -R LabVIEW-Community-CI-CD/labview-cdev-cli
- Required direct
ghpin for fork operations:-R svelderrainruiz/labview-cdev-cli.
- Exact fork/upstream SHA parity recovery is performed through a controlled exception path.
- Use
scripts/Invoke-ControlledForkForceAlign.ps1and followdocs/runbooks/controlled-force-align.md. - Required sequence:
- snapshot branch protection
- temporarily relax protection
- force-align fork branch ref to upstream SHA
- restore branch protection in a finally path
- verify SHA parity and required checks.
- Never leave
allow_force_pushesenabled after the operation.
- CLI entrypoint:
scripts/Invoke-CdevCli.ps1. - Windows invocation contract:
powershell -NoProfile -ExecutionPolicy RemoteSigned -File .\scripts\Invoke-CdevCli.ps1 .... - Linux invocation contract:
pwsh -NoProfile -File ./scripts/Invoke-CdevCli.ps1 .... - CLI is the preferred operator interface for:
- repo topology inspection (
repos list) - governance checks (
repos doctor) - installer iterations (
installer exercise) - post-action gate summaries (
postactions collect) - Linux NI deploy checks (
linux deploy-ni).
- repo topology inspection (
- Core command tokens that must stay stable:
Invoke-CdevCli.ps1repos doctorinstaller exercisepostactions collectlinux deploy-nidesktop-linuxnationalinstruments/labview:latest-linux
labview-cdev-cliconsumes governance contract fromC:\dev\labview-cdev-surfaceby default.- Default surface root is
C:\dev\labview-cdev-surfaceunlessCDEV_SURFACE_ROOTis set. surface syncresolves and reports surface ref SHA before control-plane operations.
- Linux install support is manifest-native (not NSIS).
scripts/lib/Install-WorkspaceFromManifest.Linux.ps1provisions workspace from manifest pins.scripts/lib/Invoke-NiLinuxDeployCheck.ps1validates NI Linux image deploy path using Docker Desktop Linux context.- Default Linux deploy image:
nationalinstruments/labview:latest-linux.
- Windows gate orchestration must target Docker Desktop Windows container mode on self-hosted runners.
- Required gate runner labels:
self-hostedwindowsself-hosted-windows-lvwindows-containersuser-sessioncdev-surface-windows-gate
- Default Windows gate image is
nationalinstruments/labview:2026q1-windowsunless an explicit override is set by policy. - Gate container command surface must use Windows PowerShell (
powershell.exe) and may use host-mounted PowerShell 7, but must not require in-imagepwshavailability. g-cliis a host-side dependency for Windows LabVIEW execution and is not required to exist inside the container image.- Gate runs that exercise PPL validation must enforce one bitness per image run (
LVIE_GATE_SINGLE_PPL_BITNESS=32|64), never serialized dual-bitness in a single run. - When gate-required LabVIEW year is
2026, x86 parity must be enforced before 32-bit PPL validation; if missing, bootstrapni-labview-2026-core-x86-envia NI Package Manager. VIPM_COMMUNITY_EDITION=truemust be set for Windows image lanes that activate VIPM CLI in community mode.
- Required checks for default branch target:
CI PipelineCLI ContractProvenance Contract
release-cli.ymlis manual dispatch only and must publish:cdev-cli-win-x64.zipcdev-cli-linux-x64.tar.gz.sha256cdev-cli.spdx.jsoncdev-cli.slsa.json
publish-cli-runtime-image.ymlpublishes base runtime imageghcr.io/<repository-owner>/labview-cdev-cli-runtimewith immutable tags (sha-*,v1-YYYYMMDD) and optional mutablev1.- Canonical consumer image path is
ghcr.io/labview-community-ci-cd/labview-cdev-cli-runtime.