Skip to content

Commit 1039f8e

Browse files
Internalize Fallout.Cli types that aren't external contracts
The migrated commands are all `internal sealed`, but three types were still `public` with no consumer outside the assembly and no PublicAPI tracking: RunCommand (the lone public command), ProjectUpdater, and Program (the tool entry point). None are part of a public surface — there is no public command SDK yet (that's milestone #7). Make them internal to match the rest of the command set. Fallout.Cli.Specs already has InternalsVisibleTo, so the specs are unaffected; DI registration works unchanged with internal types. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c0021df commit 1039f8e

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

‎src/Fallout.Cli/Commands/RunCommand.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Fallout.Cli.Commands;
1515
/// <c>fallout :run</c> (and the default, command-less invocation): builds the build project and
1616
/// runs it, forwarding any remaining arguments to the build.
1717
/// </summary>
18-
public sealed class RunCommand : IFalloutCommand
18+
internal sealed class RunCommand : IFalloutCommand
1919
{
2020
public string Name => "run";
2121

‎src/Fallout.Cli/Program.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
namespace Fallout.Cli;
1515

16-
public partial class Program
16+
internal partial class Program
1717
{
1818
private static async Task<int> Main(string[] args)
1919
{

‎src/Fallout.Cli/ProjectUpdater.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
namespace Fallout.Cli;
1111

12-
public static class ProjectUpdater
12+
internal static class ProjectUpdater
1313
{
1414
public static async Task UpdateAsync(string projectFile)
1515
{

0 commit comments

Comments
 (0)