Nuscope 1.2.0
dotnet tool install --global Nuscope --version 1.2.0
dotnet new tool-manifest
dotnet tool install --local Nuscope --version 1.2.0
#tool dotnet:?package=Nuscope&version=1.2.0
nuke :add-package Nuscope --version 1.2.0
Nuscope
Nuscope is a .NET CLI tool for inspecting NuGet packages and .NET assemblies without loading them. It exposes types, methods, properties, fields, events, and signatures in text or JSON for developers, automation, and AI agents.
Tired of watching an AI agent try
ilspycmd, fail, then spiral into increasingly cursed PowerShell just to answer “what's in this DLL?” Nuscope gives it one job and one clean command.
Install
Requires the .NET 8 SDK/runtime or newer.
dotnet tool install --global Nuscope
Update an existing installation:
dotnet tool update --global Nuscope
Agent skill
Nuscope also ships with an agent skill for Pi-compatible agents. Install it into the nearest local project:
nuscope skill local
Or install it globally under your home directory:
nuscope skill global
Once installed, agents can use the skill to inspect .dll and .nupkg files or remote NuGet packages without resorting to brittle ilspycmd wrappers or improvised shell glue.
Why Nuscope?
- Inspect package and assembly API surface quickly
- Avoid loading or executing inspected binaries
- Query local
.dlland.nupkgfiles or remote NuGet packages - Filter by symbol name, kind, and target framework
- Export structured JSON for scripts, tools, and agents
Quick examples
Inspect a local NuGet package:
nuscope inspect path/to/Package.nupkg
Inspect a local assembly as JSON:
nuscope inspect path/to/Library.dll --format json
Inspect a package from NuGet.org:
nuscope inspect Newtonsoft.Json --version 13.0.3
Search for a symbol:
nuscope inspect Microsoft.Extensions.Logging --search ILogger --kind type
Inspect a single target framework:
nuscope inspect Microsoft.Extensions.AI --kind type --tfm netstandard2.0 --format json
Include non-public members:
nuscope inspect path/to/Library.dll --include-non-public
Options
--format text|json: output format. Defaults totext.--search <term>: case-insensitive filter over symbol names and signatures.--kind <type|method|property|field|event|constructor>: include only a symbol kind.--tfm <target-framework>: for NuGet packages, inspect only assemblies for one target framework, such asnet8.0ornetstandard2.0.--include-non-public: include non-public members and types.--version <version>: inspect a specific NuGet package version. If omitted, the latest stable version is used.--prerelease: allow latest prerelease selection when--versionis omitted.--source <url>: NuGet V3 service index URL. Defaults tohttps://api.nuget.org/v3/index.json.
JSON assembly entries include TargetFramework and AssetKind when inspecting NuGet packages. Type symbols include a type declaration Signature, a machine-readable TypeKind, and Modifiers in addition to the human-readable Classification.
Build from source
The repository uses a Cake SDK build pipeline (pipeline.cs). Run the default target to restore, build, and test:
dotnet pipeline.cs
Useful targets:
dotnet pipeline.cs -- --target Build
dotnet pipeline.cs -- --target Test
dotnet pipeline.cs -- --target Pack
dotnet pipeline.cs -- --target Publish
dotnet pipeline.cs -- --target InstallLocally
dotnet pipeline.cs -- --target CI --rebuild
The Pack/CI targets write NuGet tool packages to artifacts/packages. The Publish target packs and publishes packages to NuGet using the NUGET_API_KEY environment variable. Override the feed with --nugetSource <url> when needed. The InstallLocally target packs the tool, installs it globally from that local package source, and copies the Nuscope agent skill to ~/.agents/skills/nuscope.
Test
dotnet pipeline.cs -- --target Test
Direct test execution is also supported:
dotnet test --project Nuscope.Cli.Tests/Nuscope.Cli.Tests.csproj
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 is compatible. 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.