Summary
.github/workflows/release.yml:344-379 publishes a NuGet global-tool package via dotnet pack + dotnet nuget push, but the package is framework-dependent (portable .NET 8). On ARM64 platforms (Apple Silicon, Linux ARM, Windows ARM), users installing via dotnet tool install -g cdidx rely on the host .NET 8 runtime, whereas users on x64 platforms can pick between the self-contained install.sh binary or the portable NuGet version. USER_GUIDE.md:175-199 does not warn ARM64 users about the .NET 8 prerequisite.
Where
.github/workflows/release.yml:367-379 (NuGet publish — no RID-specific variants)
src/CodeIndex/CodeIndex.csproj (no RID-aware packing or multi-targeting)
USER_GUIDE.md:175-199 ("Option B: NuGet Global Tool" — no .NET 8 note)
Suggested approach
- Document the .NET 8 runtime prerequisite for the NuGet tool path in
USER_GUIDE.md and README.md.
- Add an ARM64 platform-specific note explaining that
install.sh is the recommended self-contained route.
- Optionally publish RID-specific self-contained NuGet packages (one per RID) so the global-tool path is self-contained too.
- Refresh the NuGet package description/tags to mention the .NET 8 dependency.
- Add a NuGet-side install verification step to CI that runs on a runner without .NET preinstalled and asserts the failure message is clear.
- Cross-link both paths from a single decision matrix in
USER_GUIDE.md.
Summary
.github/workflows/release.yml:344-379publishes a NuGet global-tool package viadotnet pack+dotnet nuget push, but the package is framework-dependent (portable .NET 8). On ARM64 platforms (Apple Silicon, Linux ARM, Windows ARM), users installing viadotnet tool install -g cdidxrely on the host .NET 8 runtime, whereas users on x64 platforms can pick between the self-containedinstall.shbinary or the portable NuGet version.USER_GUIDE.md:175-199does not warn ARM64 users about the .NET 8 prerequisite.Where
.github/workflows/release.yml:367-379(NuGet publish — no RID-specific variants)src/CodeIndex/CodeIndex.csproj(no RID-aware packing or multi-targeting)USER_GUIDE.md:175-199("Option B: NuGet Global Tool" — no .NET 8 note)Suggested approach
USER_GUIDE.mdandREADME.md.install.shis the recommended self-contained route.USER_GUIDE.md.