What problem does it solve?
Migrating a dotnet CLI command into the Native AOT CLI (src/Cli/dotnet-aot) requires preserving the managed CLI contract, defining eligibility allowlists with a clean fallback commit point, and proving the actual native artifact works. This Skill provides the author and reviewer workflow, closure rules, and validation ladder to do that correctly.
Core Features & Use Cases
- AOT Migration Workflow: Measure the managed behavior contract, define eligibility allowlists, reuse shared managed sources, and extend AotSourceFiles.props and AotDependencies.props without duplicating command definitions.
- Review Rubric: Reconstruct both execution paths, attack the allowlist with unknown options and ambiguous operands, audit closure and binary size, and challenge claims against the validation matrix.
- Validation Ladder: Run focused parser tests, clean closure builds, Native AOT publish, native-published test suites, dn integration with Compare mode, separated SDK-root layouts, and size/platform evidence.
- Use Case: When enabling a new command in the Native AOT CLI, follow the workflow to add sources to the props files, write fallback predicates before any mutation, and prove parity with run-dn.ps1 in Compare mode.
Quick Start
Ask the AI to migrate a specific dotnet CLI command to the Native AOT CLI and validate it with the dn harness in Compare mode.