This issue proposes using Clipanion for the CLI implementation instead of CAC, which was proposed in #1088.
While CAC improves upon Commander in some areas, its TypeScript experience is still fairly similar. Clipanion provides stronger typing and a more structured approach through its command class model.
Although the class-based API is less common than the function-based style used by CAC and Commander, it offers a notable advantage for testing. Commands can be tested in isolation using custom contexts (see this), making it possible to verify CLI behavior without relying heavily on mocks or process-level abstractions.
This issue proposes using Clipanion for the CLI implementation instead of CAC, which was proposed in #1088.
While CAC improves upon Commander in some areas, its TypeScript experience is still fairly similar. Clipanion provides stronger typing and a more structured approach through its command class model.
Although the class-based API is less common than the function-based style used by CAC and Commander, it offers a notable advantage for testing. Commands can be tested in isolation using custom contexts (see this), making it possible to verify CLI behavior without relying heavily on mocks or process-level abstractions.