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

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions