Windows: build your Avalonia app and stage binaries/assets into a directory referenced via windows.msix.payloadDirectory / windows.msi.sourceDirectory.
macOS: export the .app bundle to supply mac.app.bundleSource / mac.pkg.component properties.
Linux: stage a FHS-compliant root under linux.packageRoot, provide Flatpak manifest and snapcraft YAML through CLI properties or project file.
CLI Workflow
Define a project JSON file describing metadata, platform configurations, and default properties:
Artifacts write to ./artifacts by default; override with --output.
Include --save-project to persist runtime overrides back to disk, keeping CLI and GUI views in sync.
Visual Studio / IDE Notes
Add PackagingTools.sln to your IDE workspace.
For Avalonia GUI work, open src/PackagingTools.App/PackagingTools.App.csproj. The starter screen loads project definitions using the shared workspace services and will evolve with richer editing capabilities.
When debugging pipelines, set environment variables PACKAGINGTOOLS_TRACE=1 to enable verbose logging (future enhancement placeholder).
Contributing
Run dotnet format across changed projects before submitting PRs.
Provide integration test coverage for new providers or pipeline behaviors using the stub runners in PackagingTools.IntegrationTests.
Update ADRs when adopting new tooling or cross-platform strategies.