* Create CLI help text automatically to prevent drift between help text and actual options (missing options in help, different default values, etc.) * Use a single options interface/type if possible for all methods of passing in options (function parameters, CLI, config file) * Create a schema to validate options and set defaults * Define and apply defaults in one place only