v1.0 freshly served for .net developers

sidekit ๐ŸŸ

dotnet extras
developer experience tools for dotnet,
served on the side.

$ curl -fsSL https://raw.githubusercontent.com/sidekit-net/dx/main/install.sh | bash click to copy order up!
dig in

Everything you're craving,
nothing half-baked.

A single binary that combines SDK version management and NuGet package management into one well-seasoned developer experience.

๐Ÿง‚

SDK Version Manager

Install, switch between, and manage multiple .NET SDK versions. Like nvm, but for dotnet. A pinch of seasoning for your setup.

๐Ÿฅก

NuGet Package TUI

Search, install, update, and remove NuGet packages through a beautiful terminal interface. Your packages, neatly boxed up.

๐Ÿฅข

Single Binary

One download. No runtime dependencies. Works on Linux, macOS, and Windows across x64 and arm64. One utensil, all dishes.

๐Ÿณ

Interactive & Scriptable

Every command works both interactively and with direct arguments for automation and CI/CD. Cook it your way.

๐Ÿฑ

Solution-Aware

Batch operations across entire solutions. Install packages or add references to multiple projects at once. A full bento box of features.

๐Ÿ”—

Project References

Manage project-to-project references visually. Add and remove references without editing XML.

๐ŸŸ

dx sdk

.NET SDK version manager — install, switch, and manage multiple SDK versions
quick start
# install the latest .NET 8.0 SDK
$ dx sdk install 8.0
Installing .NET SDK 8.0.404...
✓ .NET SDK 8.0.404 installed successfully

# switch to it
$ dx sdk use 8.0
✓ Now using .NET SDK 8.0.404

# check what's active
$ dx sdk current
8.0.404
Commands
dx sdk install [version]
8.0 channel 8.0.404 exact latest lts
Install a .NET SDK version. Run without arguments for interactive channel and version selection. Downloads from official Microsoft servers via dotnet-install.sh
dx sdk uninstall [version]
Remove an installed SDK version. Interactive mode shows a list with confirmation. Clears default and current if the removed version was active.
dx sdk use [version]
Set the active SDK for the current shell session. Pass system to revert to the system-installed dotnet. Supports partial version matching.
dx sdk list
Display all locally installed SDK versions with markers for the currently active version and default.
dx sdk list-remote
Fetch and display available SDK versions from Microsoft, grouped by channel with support labels (LTS, STS, Current, Preview).
dx sdk current
Show the currently active SDK version. Displays "system" if using system dotnet, or "none" if no SDK is available.
dx sdk default [version]
Get or set the default SDK version used for new shell sessions. Without arguments, displays the current default.
๐ŸŸ
How it works
SDKs are stored in ~/.dvm/versions/. The active version is a symlink at ~/.dvm/current pointing to the selected version directory. Your shell's $DOTNET_ROOT and $PATH are configured during installation to resolve through this symlink.
dx sdk list
Installed .NET SDK versions:

  9.0.100 * (default)
  8.0.404
  6.0.428

* = currently active
dx sdk list-remote
Available .NET SDK versions:

  9.0      9.0.100      (Current)
  8.0      8.0.404      (LTS)
  7.0      7.0.120      (STS)
  6.0      6.0.428      (LTS)
๐Ÿฅก

dx deps

NuGet package manager TUI — search, install, update, and manage packages and references
getting started
# open a project
$ dx deps ./MyProject.csproj

# or a solution for batch operations
$ dx deps ./MySolution.sln

When you open a .csproj file, the TUI launches with three tabs: Search, Installed, and References. Switch between them with Tab.

Search Tab

Real-time NuGet package search with debounced queries. Results show package name, version, download count, and a verified badge. Select a package to view all available versions and install a specific one.

Type Search packages
Navigate results
Enter View package details
Ctrl+P Toggle pre-release
Installed Tab

Lists all packages from the project file with automatic update checks against NuGet. Packages with available updates are highlighted. Quickly update or remove packages.

u Update selected package
d Remove selected package
r Refresh package list
Navigate packages
References Tab

Manage project-to-project references. When inside a solution, adding a reference shows a picker with sibling projects. Otherwise, enter the path manually.

a Add project reference
d Remove selected reference
Navigate references

When you open a .sln file, you get three batch operation modes. Each one operates across multiple projects at once.

Install NuGet Package

Search for a package, pick a version, then select target projects. The package is installed to each selected project sequentially with per-project result tracking.

Add Project References

Select source projects to reference, then select target projects. All source projects are added as references to each target. Conflicts (self-references) are excluded automatically.

Manage Single Project

Pick a project from the solution to open in the full single-project TUI. All three tabs (Search, Installed, References) are available.

Space Toggle project selection
Enter Execute / Confirm
Esc Go back
Navigate projects
๐Ÿฅก
Package detail view
Selecting a package from search opens a detail screen with description, authors, and a scrollable version list. Toggle pre-release versions with Ctrl+P and install a specific version with Enter.
dx deps ./MyApp.csproj
dx deps MyApp                              Search | Installed | References
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
 Search: newtonsoft|

  > Newtonsoft.Json             13.0.3    872M  ✓
    Newtonsoft.Json.Bson        1.0.3     28M  ✓
    Newtonsoft.Json.Schema      4.0.1      9M  ✓
    JsonSubTypes                2.0.1      5M    
    Newtonsoft.Msgpack           1.1.2     1M    

  โ†‘โ†“ navigate  enter select  ctrl+p prerelease  tab switch

Ready to serve
in one command.

install sidekit
$ curl -fsSL https://raw.githubusercontent.com/sidekit-net/dx/main/install.sh | bash

Detected: linux-x64
Downloading dx v1.0.0...
Installing to ~/.local/bin/dx
Setting up .dvm directory...
Configuring shell (bash)...
✓ dx installed successfully!

Restart your terminal or run: source ~/.bashrc
What the installer does
1. Detects platform
Identifies your OS (Linux, macOS, Windows) and architecture (x64, arm64).
2. Downloads binary
Fetches the latest release from GitHub and installs to ~/.local/bin/dx.
3. Creates .dvm directory
Sets up ~/.dvm/ with versions/ and cache/ subdirectories.
4. Configures shell
Adds DVM_DIR, DOTNET_ROOT, and PATH exports to your shell RC file.
๐Ÿงน
Uninstall
To clear the table — remove dx and all managed SDKs:
curl -fsSL https://raw.githubusercontent.com/sidekit-net/dx/main/uninstall.sh | bash