TaskValidator
View SourceA library for validating Markdown task lists against a structured format specification.
Installation
Add task_validator
to your list of dependencies in mix.exs
:
def deps do
[
{:task_validator, "~> 0.1.0"}
]
end
Usage
Command Line
# Validate the default TaskList.md file
mix validate_tasklist
# Validate a custom file path
mix validate_tasklist --path ./path/to/custom/TaskList.md
Programmatic
case TaskValidator.validate_file("path/to/tasklist.md") do
{:ok, message} ->
IO.puts("Success: #{message}")
{:error, reason} ->
IO.puts("Error: #{reason}")
end
Format Specification
The TaskValidator enforces a specific format for task lists:
- Task IDs must follow the SSH#### pattern
- Each task must have required sections (Description, Status, Priority, etc.)
- Tasks marked as "In Progress" must have subtasks
- Review ratings must follow the specified format (1-5 scale)
License
MIT License
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/task_validator.