Files
git.stella-ops.org/docs/features/unchecked/cli/cli-deprecation-warning-system.md

1.5 KiB

CLI Deprecation Warning System

Module

Cli

Status

IMPLEMENTED

Description

Deprecation warnings displayed when users invoke old command paths, guiding them to the new consolidated equivalents.

Implementation Details

  • Route Mapping: src/Cli/StellaOps.Cli/cli-routes.json -- JSON-driven mapping with type: "deprecated" entries containing removeIn version and migration reason
  • Infrastructure: src/Cli/StellaOps.Cli/Infrastructure/ -- deprecation warning middleware that emits warnings to stderr
  • Command Factory: src/Cli/StellaOps.Cli/Commands/CommandFactory.cs -- integrates deprecation checks into command resolution
  • Warning format: "WARNING: 'stella ' is deprecated and will be removed in . Use 'stella ' instead. Reason: "
  • Tests: src/Cli/__Tests/StellaOps.Cli.Tests/Integration/DeprecationWarningTests.cs

E2E Test Plan

  • Run a deprecated command (e.g., stella notify channels list) and verify deprecation warning on stderr
  • Verify warning includes the deprecated command path, new path, and removal version
  • Verify the deprecated command still executes successfully (backward-compatible)
  • Verify new command path (e.g., stella config notify channels list) shows no warning
  • Verify warnings go to stderr (not stdout) so they don't break JSON output parsing
  • Verify --quiet or --no-warnings suppresses deprecation warnings
  • Verify all route mappings with type: "deprecated" emit warnings