Back to Blog

.NET / CLI / Tooling

Extracting a Windows CLI for Scanning, Diffing, Cataloging, and Unpacking Resource Packages

A .NET CLI layer for NgsPacker resource scanning and batch unpacking.

The resource package tool originally leaned toward interactive use. Batch scanning, update comparison, and automated unpacking need a CLI that can reuse the same core services.

Project Overview

Repository: logue/NgsPacker.

NgsPacker.Cli handles arguments, and NgsPacker.Core provides scanning, snapshot storage, diffing, catalog export, and ICE unpacking services. Commands cover scan, list, catalog, diff, and unpack.

The CLI turns GUI analysis capabilities into batch tools. It fits update scans, member catalogs, resource change comparison, and batch unpacking.

Implementation

The command entry converts arguments into core service calls. Core services handle package reading, member enumeration, SHA256 scanning, CSV output, snapshot comparison, and ICE unpacking.

Tests cover command arguments, CSV output, batch unpacking, and diff results, so validation checks output shape rather than only process exit codes.