GenerateMermaidDiagramSettings.cs 1.0 KB

123456789101112131415161718192021222324252627282930
  1. using System.ComponentModel;
  2. using Spectre.Console.Cli;
  3. namespace Shared.Rcl.Commands.Exporters;
  4. public sealed class GenerateMermaidDiagramSettings : CommandSettings {
  5. [CommandOption("--include-tags")]
  6. [Description("Comma-separated list of tags to include (e.g. prod,linux)")]
  7. public string? IncludeTags { get; init; }
  8. [CommandOption("--diagram-type")]
  9. [Description("Mermaid diagram type (default: \"flowchart TD\")")]
  10. public string? DiagramType { get; init; }
  11. [CommandOption("--no-labels")]
  12. [Description("Disable resource label annotations")]
  13. public bool NoLabels { get; init; }
  14. [CommandOption("--no-edges")]
  15. [Description("Disable relationship edges")]
  16. public bool NoEdges { get; init; }
  17. [CommandOption("--label-whitelist")]
  18. [Description("Comma-separated list of label keys to include")]
  19. public string? LabelWhitelist { get; init; }
  20. [CommandOption("-o|--output")]
  21. [Description("Write Mermaid diagram to file instead of stdout")]
  22. public string? OutputPath { get; init; }
  23. }