TaskValidator.Config (TaskValidator v0.9.5)
View SourceConfiguration module for TaskValidator.
Provides a centralized way to access and validate configuration options for the TaskValidator library. All configuration is read from the Application environment under the :task_validator key.
Configuration Options
Validation Rules
:valid_statuses- List of valid task statuses. Default:["Planned", "In Progress", "Review", "Completed", "Blocked"]:valid_priorities- List of valid task priorities. Default:["Critical", "High", "Medium", "Low"]:id_regex- Regular expression for validating task IDs. Default:~r/^[A-Z]{2,4}\d{3,4}(-\d+|[a-z])?$/:rating_regex- Regular expression for validating review ratings. Default:~r/^([1-5](\.)?) *((partial))?$/
Code Quality KPIs
:max_functions_per_module- Maximum allowed functions per module. Default:8:max_lines_per_function- Maximum allowed lines per function. Default:15:max_call_depth- Maximum allowed call depth. Default:3
Elixir-Specific Code Quality KPIs
:max_pattern_match_depth- Maximum allowed pattern matching depth. Default:4:max_dialyzer_warnings- Maximum allowed Dialyzer warnings. Default:0:min_credo_score- Minimum required Credo score (out of 10). Default:8.0:max_genserver_state_complexity- Maximum GenServer state fields. Default:5:max_phoenix_context_boundaries- Maximum contexts per feature. Default:3:max_ecto_query_complexity- Maximum Ecto query depth. Default:4
Task Categories
:category_ranges- Map of category names to number ranges. Default (Elixir/Phoenix-specific):%{ "otp_genserver" => {1, 99}, "phoenix_web" => {100, 199}, "business_logic" => {200, 299}, "data_layer" => {300, 399}, "infrastructure" => {400, 499}, "testing" => {500, 599} }
Example Configuration
# config/config.exs
config :task_validator,
valid_statuses: ["Planning", "Active", "Done", "Paused"],
max_functions_per_module: 7,
category_ranges: %{
"otp_genserver" => {1, 99},
"phoenix_web" => {100, 199},
"business_logic" => {200, 299},
"data_layer" => {300, 399},
"infrastructure" => {400, 499},
"testing" => {500, 599}
}
Summary
Functions
Gets a configuration value with validation.
Gets all configuration as a map.
Validates a configuration value.
Functions
Gets a configuration value with validation.
Returns the configured value or the default if not set. Validates the configuration value matches expected type and constraints.
Examples
iex> TaskValidator.Config.get(:valid_statuses)
["Planned", "In Progress", "Review", "Completed", "Blocked"]
iex> TaskValidator.Config.get(:max_functions_per_module)
5
@spec get_all() :: map()
Gets all configuration as a map.
Returns a map with all configuration values, using defaults for any unconfigured options.
Validates a configuration value.
Returns :ok if valid, or {:error, reason} if invalid.