Configuration Guide
View SourceThis guide explains how to configure and use the TaskValidator in your project.
Installation
Add task_validator
to your list of dependencies in mix.exs
:
def deps do
[
{:task_validator, "~> 0.9.0"}
]
end
Configuration Options
TaskValidator can be configured through your application's config:
# config/config.exs
config :task_validator,
default_path: "docs/TaskList.md",
strict_mode: true,
categories: [
:otp_genserver,
:phoenix_web,
:business_logic,
:data_layer,
:infrastructure,
:testing
]
Configuration Parameters
- default_path - Default file path for task lists (default: "docs/TaskList.md")
- strict_mode - Enable strict validation rules (default: true)
- categories - List of valid task categories for your project
Environment-Specific Configuration
You can override configuration for different environments:
# config/dev.exs
config :task_validator,
strict_mode: false # More lenient validation in development
CLI Configuration
The Mix tasks support command-line options that override configuration:
# Override default path
mix validate_tasklist --path custom/TaskList.md
# Use semantic prefixes
mix task_validator.create_template --semantic
# Specify category
mix task_validator.create_template --category otp_genserver
Advanced Configuration
Custom Validators
You can disable specific validators if needed:
config :task_validator,
disabled_validators: [:kpi_validator]
Custom Categories
To add custom categories beyond the default Elixir/Phoenix ones:
config :task_validator,
custom_categories: [
{:machine_learning, 700..799, "ML"},
{:blockchain, 800..899, "BC"}
]
Validation Levels
TaskValidator supports different validation levels:
- Strict - All rules enforced (default)
- Standard - Common rules enforced, some flexibility
- Lenient - Basic structure validation only
config :task_validator,
validation_level: :strict
Integration with CI/CD
For CI/CD pipelines, you may want stricter validation:
# config/test.exs
config :task_validator,
strict_mode: true,
fail_on_warnings: true
Troubleshooting
If validation seems incorrect:
- Check your configuration with
mix task_validator.config
- Ensure you're using the correct environment
- Verify file paths are correct
- Check for typos in category names
See Also
- Writing Compliant Tasks
- Example Task Lists
- README for quick start