GhVersionManager 1.0.4-beta
dotnet tool install --global GhVersionManager --version 1.0.4-beta
dotnet new tool-manifest
dotnet tool install --local GhVersionManager --version 1.0.4-beta
#tool dotnet:?package=GhVersionManager&version=1.0.4-beta&prerelease
nuke :add-package GhVersionManager --version 1.0.4-beta
GhVersionManager
GhVersionManager is a .NET 7 CLI tool and library for reading and writing version information in Grasshopper .gh
and .ghx
files. It is designed for automation, CI/CD, and team workflows, and is distributed as a NuGet package for easy integration.
Features
- Read version from the first panel with NickName
"version"
in a.gh
or.ghx
file. - Set or update version in that panel, or create it if missing.
- Interactive console mode for manual workflows.
- CLI mode for scripting and automation, with clear exit codes for integration.
- Reusable C# API for .NET projects.
- Single-file deployment: all dependencies are embedded and loaded at runtime.
- Windows support (due to Grasshopper/GH_IO dependency).
Usage
As a CLI Tool
Install via NuGet (see nuget.org/packages/GhVersionManager) or download from your CI/CD pipeline.
Print the version from a .gh
or .ghx
file:
GhVersionManager.exe path\to\file.ghx GhVersionManager.exe path\to\file.gh
Set the version:
GhVersionManager.exe path\to\file.ghx -v 1.2.3 GhVersionManager.exe path\to\file.gh -v 1.2.3
Interactive mode:
Run without arguments to enter an interactive prompt.
As a .NET Library
Reference the NuGet package in your project:
using GhVersionManager;
string? version = GhVersionService.GetVersion("path/to/file.ghx");
bool ok = GhVersionService.SetVersion("path/to/file.ghx", "1.2.3");
Versioning & Changelog
Current version: 1.0.0-beta
(public beta)
Changelog
- 1.0.0-beta
- Initial public beta release
- CLI and interactive modes
- Read/write version panel in
.gh
and.ghx
files - Single-file deployment (no extra DLLs needed)
- Windows support only
Feedback & Issues
This is a beta release.
Please report bugs, feature requests, or feedback via GitHub Issues.
License
MIT License. See LICENSE.txt for details.
Credits
- Inspired by scripts and advice from the Grasshopper community, especially David Rutten and Andrew Heumann.
- Uses GH_IO.dll for Grasshopper file access.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last Updated |
---|---|---|
1.0.4-beta | 264 | 7/3/2025 |
1.0.3-beta | 130 | 7/3/2025 |
1.0.2-beta | 118 | 7/3/2025 |
1.0.1-beta | 122 | 7/3/2025 |
1.0.0-beta | 121 | 7/1/2025 |