Skip to content

Phase 6: Error handling, validation, and success messages #8

Description

@markdav-is

Summary

Add robust error handling, user-friendly messages, and overall UX polish to the CLI.

Depends On

  • All previous phases (1-5)

Tasks

  • Implement all specified error messages:
    • No solution file found
    • Module already exists (suggest --force)
    • Invalid owner/module name (must be alphanumeric)
    • Template not found (suggest oqtane module list)
  • Implement success message with summary:
    Module created successfully!
    
      Owner: MarkDav
      Name: WeatherArbitrage
      Template: Internal
      Location: ./MarkDav.WeatherArbitrage.Client
               ./MarkDav.WeatherArbitrage.Server
               ./MarkDav.WeatherArbitrage.Shared
    
      Next steps:
      1. Build the solution: dotnet build
      2. Run the application: cd AppHost && dotnet run
      3. Navigate to your module in the Oqtane admin dashboard
    
  • Add exit codes (0 = success, 1 = validation error, 2 = runtime error)
  • Ensure no unhandled exceptions leak to the user
  • Add --verbose or --debug flag for troubleshooting (nice-to-have)

Acceptance Criteria

  • Every error scenario from the spec produces a clear, actionable message
  • Successful creation prints the formatted summary with next steps
  • Non-zero exit codes on failure
  • No stack traces shown to users in normal operation

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions