Skip to content

Package as a dotnet global tool #22

@mapitman

Description

@mapitman

Task

Package the application as a .NET global tool for distribution via NuGet.

Requirements

  • Configure project file for tool packaging (PackAsTool property)
  • Create NuGet package (.nupkg)
  • Publish to NuGet.org (public) or internal feed
  • Proper tool shim generation for command-line invocation
  • Include all dependencies
  • Semantic versioning for releases

Installation

After completion, users with .NET SDK should be able to install via:

dotnet tool install -g media-encoding
# or with specific version
dotnet tool install -g media-encoding --version 1.0.0

Usage After Installation

# Should be callable from anywhere
media-encoding --mode movie --title "Example" --output ~/Movies

Implementation Steps

  1. Add PackAsTool and ToolCommandName to MediaEncoding.csproj
  2. Update Program.cs if needed for tool entry point
  3. Create NuGet package locally and test
  4. Set up CI/CD for automatic publishing to NuGet
  5. Create release process documentation

Package Metadata

  • Package ID: media-encoding (or mediaencoding)
  • Title: Media Encoding - Disc Ripping and Encoding Tool
  • Description: Rip and encode movies and TV shows from disc with automatic metadata lookup
  • Authors: mapitman
  • License: (specify license)
  • Tags: disc, rip, encoding, movies, tv, mkv

Testing

  • Install globally from local .nupkg
  • Verify command is available in PATH
  • Run basic commands
  • Test uninstall
  • Test upgrade path

Related to Issue #20: Package application for distribution

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions