| Name | taskfile-help JSON |
| Version |
0.3.4
JSON |
| download |
| home_page | None |
| Summary | Dynamic Taskfile help generator with automatic grouping and namespace support |
| upload_time | 2025-11-03 22:17:11 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.11 |
| license | None |
| keywords |
cli
help
task
taskfile
yaml
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# taskfile_help
[](https://github.com/royw/taskfile_help/actions/workflows/ci.yml)
[](https://github.com/royw/taskfile_help/actions/workflows/docs.yml)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://badge.fury.io/py/taskfile-help)
Dynamic Taskfile help generator.
Parses Taskfile YAML files and outputs organized, colored help text similar to
`task --list`, but with automatic grouping and namespace support.
**Links:**
- [Documentation](https://royw.github.io/taskfile_help/)
- [GitHub Repository](https://github.com/royw/taskfile_help)
- [Issue Tracker](https://github.com/royw/taskfile_help/issues)
## Why Taskfile Help?
The built-in `task --list` command is useful, but has limitations:
- No automatic grouping of related tasks
- No namespace support for multiple Taskfiles
- Limited customization options
**taskfile-help** solves these problems by providing:
- Automatic task grouping using comment markers
- Support for multiple Taskfiles with namespaces
- Flexible search paths and configuration
- JSON output for integration with other tools
- Consistent color handling (respects TTY detection)
## Integration with Taskfiles
Designed to be called from Taskfile help tasks. Here's how to integrate it into your workflow:
### Basic Setup
Add a help task to your main Taskfile:
```yaml
version: '3'
tasks:
# === Main Tasks ===
build:
desc: Build the project
cmds: [...]
# === Help ===
help:
desc: Show available tasks from this Taskfile
cmd: taskfile-help main
silent: true # Suppress task command echo
```
Now you can run:
```bash
task help # Show available tasks from your main Taskfile nicely grouped and formatted
```
### Multi-Taskfile Setup
The real advantage comes when you have multiple Taskfiles with namespaces.
Start by adding a wildcard help task (help:\*): to your main Taskfile:
```yaml
version: '3'
tasks:
# ... main tasks ...
# === Help ===
help:
desc: Show available tasks from this main Taskfile
summary: Displays tasks from this main Taskfile, nicely grouped and formatted
cmd: taskfile-help main
silent: true # Suppress task command echo
help:*:
desc: Show available tasks for the given namespace(s)
summary: |
Displays tasks from for the given namespace or all Taskfiles if "all" is specified
or list available namespaces if "?" is specified
help:<namespace> - Displays tasks from the given namespace
help:all - Displays tasks from all Taskfiles
help:? - Lists available namespaces
vars:
NAMESPACE: '{{index .MATCH 0}}'
cmd: taskfile-help {{.NAMESPACE}}
silent: true # Suppress task command echo
```
Now you can run:
```bash
task help # Main tasks only
task help:all # All tasks from all namespaces (Main + Dev + ...)
task help:<namespace> # Tasks from the given namespace
task help:? # List all namespaces (Dev, Test, ...)
```
### Search Integration
You can also add a search wrapper task for convenient searching:
```yaml
# === Search ===
search:*:
desc: Search for tasks
summary: Search for tasks in all Taskfiles
vars:
PATTERN: '{{index .MATCH 0}}'
cmd: taskfile-help search {{.PATTERN}}
silent: true
```
Now you can search using the task command:
```bash
task search:python # Search for "python"
task search:"version minor" # Search for both "version" AND "minor"
task search:test # Search for "test"
```
### Example Output

## Usage
### Namespace Command
Display tasks from a specific namespace or all namespaces:
```bash
# Show help for main Taskfile
taskfile-help namespace
taskfile-help namespace main
# Show help for a specific namespace
taskfile-help namespace dev
taskfile-help namespace rag
# Show help for all Taskfiles
taskfile-help namespace all
# List available namespaces
taskfile-help namespace ?
# With global options (can appear after subcommand)
taskfile-help namespace dev --no-color --verbose
taskfile-help namespace all --json
taskfile-help namespace --search-dirs /path/to/project
```
### Search Command
Search for tasks across namespaces, groups, task names, and descriptions:
```bash
# Search by single pattern (case-insensitive substring)
taskfile-help search test
taskfile-help search build
# Search with multiple patterns (AND logic - all must match)
taskfile-help search version bump
taskfile-help search minor version
taskfile-help search test coverage
# Search with regex filter
taskfile-help search --regex "^test"
taskfile-help search --regex ".*fix$"
# Search with multiple regexes (AND logic - all must match)
taskfile-help search --regex "test" --regex "unit"
# Combine patterns and regexes (all must match)
taskfile-help search version --regex "bump"
taskfile-help search test unit --regex "coverage"
# With global options
taskfile-help search build --no-color
taskfile-help search deploy --regex "^deploy" --json --verbose
```
### Search Behavior
- **Pattern matching**: Case-insensitive substring search
- **Regex matching**: Full regular expression support
- **Multiple patterns**: All patterns must match (AND logic)
- **Multiple regexes**: All regexes must match (AND logic)
- **Combined matching**: All patterns AND all regexes must match somewhere in the task's combined text
- **Search scope**: Searches across namespace names, group names, task names, AND descriptions
- **At least one filter required**: Must provide at least one pattern or regex
- **Results**: Shows tasks where all search criteria match in any combination of fields
### Global Options
Global options can be placed after any subcommand:
- `--no-color` - Disable colored output
- `-s, --search-dirs DIRS` - Colon-separated list of directories to search for taskfiles
- `-v, --verbose` - Show verbose output including search directories
- `--json` - Output tasks in JSON format
- `--completion SHELL` - Generate completion script for specified shell (bash, zsh, fish, tcsh, ksh)
- `--install-completion [SHELL]` - Install completion script (auto-detects shell if not specified)
- `-h, --help` - Show help message
## Shell Completion
`taskfile-help` supports tab completion for namespaces, task names, and command-line flags in multiple shells.
### Quick Install
```bash
# Auto-detect shell and install
taskfile-help --install-completion
# Or specify shell explicitly
taskfile-help --install-completion bash
```
### What Gets Completed
- **Namespaces**: `taskfile-help <TAB>` shows all available namespaces
- **Task names**: `taskfile-help test:<TAB>` shows tasks in the test namespace
- **Flags**: `taskfile-help --<TAB>` shows all command-line options
Completions are dynamic and automatically update when you add or remove Taskfiles.
For detailed installation instructions and troubleshooting, see the [Shell Completion Documentation](https://royw.github.io/taskfile_help/setup/completion/).
## Configuration
taskfile-help supports multiple configuration methods with a clear priority order.
### Configuration Files
taskfile-help supports two configuration file formats:
1. **`taskfile_help.yml`** - Dedicated YAML configuration file (takes precedence)
1. **`pyproject.toml`** - Python project configuration file (fallback)
If both files exist, `taskfile_help.yml` takes precedence.
### Configuration Matrix
| Option | CLI Flag | Environment Variable(s) | Config File | .env File | Default |
|--------|----------|------------------------|-------------|-----------|---------|
| **search-dirs** | `--search-dirs`, `-s` | `TASKFILE_HELP_SEARCH_DIRS` | `search-dirs` | ✓ | Current directory |
| **no-color** | `--no-color` | `NO_COLOR`, `TASKFILE_HELP_NO_COLOR` | `no-color` | ✓ | Auto-detect TTY |
| **group-pattern** | `--group-pattern` | `TASKFILE_HELP_GROUP_PATTERN` | `group-pattern` | ✓ | `\s*#\s*===\s*(.+?)\s*===` |
| **verbose** | `--verbose`, `-v` | - | - | - | `false` |
| **json** | `--json` | - | - | - | `false` |
**Priority Order:** Command-line > Environment Variables > Config File (taskfile_help.yml or pyproject.toml) > Defaults
### Configuration Examples
```bash
# Using command-line arguments
taskfile-help --no-color --search-dirs /path/to/project
# Using environment variables
export TASKFILE_HELP_SEARCH_DIRS=.:../shared
export NO_COLOR=1
taskfile-help
# Using .env file
cat > .env << EOF
TASKFILE_HELP_SEARCH_DIRS=.:../shared
NO_COLOR=1
EOF
taskfile-help
# Using taskfile_help.yml (recommended)
cat > taskfile_help.yml << EOF
search-dirs:
- "."
- "../shared"
no-color: false
group-pattern: "\\\\s*#\\\\s*===\\\\s*(.+?)\\\\s*==="
EOF
taskfile-help
# Using pyproject.toml (alternative)
[tool.taskfile-help]
search-dirs = [".", "../shared"]
no-color = true
group-pattern = "\\\\s*##\\\\s*(.+?)\\\\s*##"
```
For detailed configuration options, see the [Configuration Documentation](https://royw.github.io/taskfile_help/setup/configuration/).
## File Naming Conventions
### Main Taskfile
Supported names (matches regex `[Tt]askfile\.ya?ml`):
- `Taskfile.yml`, `Taskfile.yaml` (preferred)
- `taskfile.yml`, `taskfile.yaml`
### Namespace Taskfiles
Supported patterns (matches regex `[Tt]askfile[-_](?P<namespace>\w+)\.ya?ml`):
- `Taskfile-<namespace>.yml`, `Taskfile-<namespace>.yaml` (preferred)
- `Taskfile_<namespace>.yml`, `Taskfile_<namespace>.yaml`
- `taskfile-<namespace>.yml`, `taskfile-<namespace>.yaml`
- `taskfile_<namespace>.yml`, `taskfile_<namespace>.yaml`
Examples: `Taskfile-dev.yml`, `Taskfile_test.yaml`, `taskfile-rag.yml`
## Taskfile Discovery
- By default, searches for taskfiles in the current working directory
- Use --search-dirs (or -s) to search in one or more directories (first match wins)
- Paths can be absolute (/path/to/dir) or relative (../dir, ./subdir)
- Relative paths are resolved from the current working directory
- Taskfiles can be located anywhere in the search path(s)
## Task Organization
Tasks are automatically grouped using comment markers in the Taskfile:
```yaml
# === Group Name ===
task-name:
desc: Task description
cmds: [...]
task2-name:
desc: Task2 description
cmds: [...]
# === Group2 Name ===
```
Example groups: "Service Management", "Testing", "Build and Release"
The output preserves the order of groups and tasks as they appear in the file.
## Task Visibility
- **Public tasks**: Have a 'desc' field and no 'internal: true' flag
- **Internal tasks**: Marked with 'internal: true' (excluded from help)
- Tasks without descriptions are excluded from help output
## Taskfile Validation
taskfile-help automatically validates Taskfiles to ensure they conform to Task version 3 specification.
Validation runs on every parse and produces helpful warnings for issues, but processing continues (non-fatal).
### What is Validated
- **Version field**: Must exist and equal `'3'` (string, not number)
- **Tasks section**: Must exist and be a dictionary
- **Task structure**: Each task must be a dictionary
- **Field types**: Validates types for common fields:
- `desc`: must be a string
- `internal`: must be a boolean
- `cmds`: must be a list or string
- `deps`: must be a list
### Example Warnings
```bash
$ taskfile-help
Warning: Invalid version '2', expected '3'
Warning: Task 'build': 'desc' must be a string, got int
Warning: Task 'test': 'internal' must be a boolean, got str
# Tasks are still shown despite warnings
MAIN Task Commands:
Build:
task build - 123
```
### Validation Behavior
- **Always enabled**: No opt-in flag required
- **Non-fatal**: Warnings are displayed but processing continues
- **Helpful**: Clear messages explain what's wrong and where
- **Fast**: Minimal performance impact (~1-2ms per file)
All warnings are written to stderr, so they won't interfere with JSON output or piped commands.
## Output Behavior
- **Colors enabled**: When output is to a terminal (TTY) and --no-color is not specified
- **Colors disabled**: When output is piped, redirected, captured, or --no-color is used
- Matches the behavior of 'task --list'
Raw data
{
"_id": null,
"home_page": null,
"name": "taskfile-help",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "cli, help, task, taskfile, yaml",
"author": null,
"author_email": "Roy Wright <roy@wright.org>",
"download_url": "https://files.pythonhosted.org/packages/27/f7/1df874db55d15729e3f1ba248b6ca4ae775886f1eda76e85337c246ae60f/taskfile_help-0.3.4.tar.gz",
"platform": null,
"description": "# taskfile_help\n\n[](https://github.com/royw/taskfile_help/actions/workflows/ci.yml)\n[](https://github.com/royw/taskfile_help/actions/workflows/docs.yml)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://badge.fury.io/py/taskfile-help)\n\nDynamic Taskfile help generator.\n\nParses Taskfile YAML files and outputs organized, colored help text similar to\n`task --list`, but with automatic grouping and namespace support.\n\n**Links:**\n\n- [Documentation](https://royw.github.io/taskfile_help/)\n- [GitHub Repository](https://github.com/royw/taskfile_help)\n- [Issue Tracker](https://github.com/royw/taskfile_help/issues)\n\n## Why Taskfile Help?\n\nThe built-in `task --list` command is useful, but has limitations:\n\n- No automatic grouping of related tasks\n- No namespace support for multiple Taskfiles\n- Limited customization options\n\n**taskfile-help** solves these problems by providing:\n\n- Automatic task grouping using comment markers\n- Support for multiple Taskfiles with namespaces\n- Flexible search paths and configuration\n- JSON output for integration with other tools\n- Consistent color handling (respects TTY detection)\n\n## Integration with Taskfiles\n\nDesigned to be called from Taskfile help tasks. Here's how to integrate it into your workflow:\n\n### Basic Setup\n\nAdd a help task to your main Taskfile:\n\n```yaml\nversion: '3'\n\ntasks:\n # === Main Tasks ===\n build:\n desc: Build the project\n cmds: [...]\n\n # === Help ===\n help:\n desc: Show available tasks from this Taskfile\n cmd: taskfile-help main\n silent: true # Suppress task command echo\n```\n\nNow you can run:\n\n```bash\ntask help # Show available tasks from your main Taskfile nicely grouped and formatted\n```\n\n### Multi-Taskfile Setup\n\nThe real advantage comes when you have multiple Taskfiles with namespaces.\n\nStart by adding a wildcard help task (help:\\*): to your main Taskfile:\n\n```yaml\nversion: '3'\n\ntasks:\n # ... main tasks ...\n\n # === Help ===\n help:\n desc: Show available tasks from this main Taskfile\n summary: Displays tasks from this main Taskfile, nicely grouped and formatted\n cmd: taskfile-help main\n silent: true # Suppress task command echo\n\n help:*:\n desc: Show available tasks for the given namespace(s)\n summary: |\n Displays tasks from for the given namespace or all Taskfiles if \"all\" is specified\n or list available namespaces if \"?\" is specified\n help:<namespace> - Displays tasks from the given namespace\n help:all - Displays tasks from all Taskfiles\n help:? - Lists available namespaces\n vars:\n NAMESPACE: '{{index .MATCH 0}}'\n cmd: taskfile-help {{.NAMESPACE}}\n silent: true # Suppress task command echo\n```\n\nNow you can run:\n\n```bash\ntask help # Main tasks only\ntask help:all # All tasks from all namespaces (Main + Dev + ...)\ntask help:<namespace> # Tasks from the given namespace\ntask help:? # List all namespaces (Dev, Test, ...)\n```\n\n### Search Integration\n\nYou can also add a search wrapper task for convenient searching:\n\n```yaml\n # === Search ===\n search:*:\n desc: Search for tasks\n summary: Search for tasks in all Taskfiles\n vars:\n PATTERN: '{{index .MATCH 0}}'\n cmd: taskfile-help search {{.PATTERN}}\n silent: true\n```\n\nNow you can search using the task command:\n\n```bash\ntask search:python # Search for \"python\"\ntask search:\"version minor\" # Search for both \"version\" AND \"minor\"\ntask search:test # Search for \"test\"\n```\n\n### Example Output\n\n\n\n## Usage\n\n### Namespace Command\n\nDisplay tasks from a specific namespace or all namespaces:\n\n```bash\n# Show help for main Taskfile\ntaskfile-help namespace\ntaskfile-help namespace main\n\n# Show help for a specific namespace\ntaskfile-help namespace dev\ntaskfile-help namespace rag\n\n# Show help for all Taskfiles\ntaskfile-help namespace all\n\n# List available namespaces\ntaskfile-help namespace ?\n\n# With global options (can appear after subcommand)\ntaskfile-help namespace dev --no-color --verbose\ntaskfile-help namespace all --json\ntaskfile-help namespace --search-dirs /path/to/project\n```\n\n### Search Command\n\nSearch for tasks across namespaces, groups, task names, and descriptions:\n\n```bash\n# Search by single pattern (case-insensitive substring)\ntaskfile-help search test\ntaskfile-help search build\n\n# Search with multiple patterns (AND logic - all must match)\ntaskfile-help search version bump\ntaskfile-help search minor version\ntaskfile-help search test coverage\n\n# Search with regex filter\ntaskfile-help search --regex \"^test\"\ntaskfile-help search --regex \".*fix$\"\n\n# Search with multiple regexes (AND logic - all must match)\ntaskfile-help search --regex \"test\" --regex \"unit\"\n\n# Combine patterns and regexes (all must match)\ntaskfile-help search version --regex \"bump\"\ntaskfile-help search test unit --regex \"coverage\"\n\n# With global options\ntaskfile-help search build --no-color\ntaskfile-help search deploy --regex \"^deploy\" --json --verbose\n```\n\n### Search Behavior\n\n- **Pattern matching**: Case-insensitive substring search\n- **Regex matching**: Full regular expression support\n- **Multiple patterns**: All patterns must match (AND logic)\n- **Multiple regexes**: All regexes must match (AND logic)\n- **Combined matching**: All patterns AND all regexes must match somewhere in the task's combined text\n- **Search scope**: Searches across namespace names, group names, task names, AND descriptions\n- **At least one filter required**: Must provide at least one pattern or regex\n- **Results**: Shows tasks where all search criteria match in any combination of fields\n\n### Global Options\n\nGlobal options can be placed after any subcommand:\n\n- `--no-color` - Disable colored output\n- `-s, --search-dirs DIRS` - Colon-separated list of directories to search for taskfiles\n- `-v, --verbose` - Show verbose output including search directories\n- `--json` - Output tasks in JSON format\n- `--completion SHELL` - Generate completion script for specified shell (bash, zsh, fish, tcsh, ksh)\n- `--install-completion [SHELL]` - Install completion script (auto-detects shell if not specified)\n- `-h, --help` - Show help message\n\n## Shell Completion\n\n`taskfile-help` supports tab completion for namespaces, task names, and command-line flags in multiple shells.\n\n### Quick Install\n\n```bash\n# Auto-detect shell and install\ntaskfile-help --install-completion\n\n# Or specify shell explicitly\ntaskfile-help --install-completion bash\n```\n\n### What Gets Completed\n\n- **Namespaces**: `taskfile-help <TAB>` shows all available namespaces\n- **Task names**: `taskfile-help test:<TAB>` shows tasks in the test namespace\n- **Flags**: `taskfile-help --<TAB>` shows all command-line options\n\nCompletions are dynamic and automatically update when you add or remove Taskfiles.\n\nFor detailed installation instructions and troubleshooting, see the [Shell Completion Documentation](https://royw.github.io/taskfile_help/setup/completion/).\n\n## Configuration\n\ntaskfile-help supports multiple configuration methods with a clear priority order.\n\n### Configuration Files\n\ntaskfile-help supports two configuration file formats:\n\n1. **`taskfile_help.yml`** - Dedicated YAML configuration file (takes precedence)\n1. **`pyproject.toml`** - Python project configuration file (fallback)\n\nIf both files exist, `taskfile_help.yml` takes precedence.\n\n### Configuration Matrix\n\n| Option | CLI Flag | Environment Variable(s) | Config File | .env File | Default |\n|--------|----------|------------------------|-------------|-----------|---------|\n| **search-dirs** | `--search-dirs`, `-s` | `TASKFILE_HELP_SEARCH_DIRS` | `search-dirs` | \u2713 | Current directory |\n| **no-color** | `--no-color` | `NO_COLOR`, `TASKFILE_HELP_NO_COLOR` | `no-color` | \u2713 | Auto-detect TTY |\n| **group-pattern** | `--group-pattern` | `TASKFILE_HELP_GROUP_PATTERN` | `group-pattern` | \u2713 | `\\s*#\\s*===\\s*(.+?)\\s*===` |\n| **verbose** | `--verbose`, `-v` | - | - | - | `false` |\n| **json** | `--json` | - | - | - | `false` |\n\n**Priority Order:** Command-line > Environment Variables > Config File (taskfile_help.yml or pyproject.toml) > Defaults\n\n### Configuration Examples\n\n```bash\n# Using command-line arguments\ntaskfile-help --no-color --search-dirs /path/to/project\n\n# Using environment variables\nexport TASKFILE_HELP_SEARCH_DIRS=.:../shared\nexport NO_COLOR=1\ntaskfile-help\n\n# Using .env file\ncat > .env << EOF\nTASKFILE_HELP_SEARCH_DIRS=.:../shared\nNO_COLOR=1\nEOF\ntaskfile-help\n\n# Using taskfile_help.yml (recommended)\ncat > taskfile_help.yml << EOF\nsearch-dirs:\n - \".\"\n - \"../shared\"\nno-color: false\ngroup-pattern: \"\\\\\\\\s*#\\\\\\\\s*===\\\\\\\\s*(.+?)\\\\\\\\s*===\"\nEOF\ntaskfile-help\n\n# Using pyproject.toml (alternative)\n[tool.taskfile-help]\nsearch-dirs = [\".\", \"../shared\"]\nno-color = true\ngroup-pattern = \"\\\\\\\\s*##\\\\\\\\s*(.+?)\\\\\\\\s*##\"\n```\n\nFor detailed configuration options, see the [Configuration Documentation](https://royw.github.io/taskfile_help/setup/configuration/).\n\n## File Naming Conventions\n\n### Main Taskfile\n\nSupported names (matches regex `[Tt]askfile\\.ya?ml`):\n\n- `Taskfile.yml`, `Taskfile.yaml` (preferred)\n- `taskfile.yml`, `taskfile.yaml`\n\n### Namespace Taskfiles\n\nSupported patterns (matches regex `[Tt]askfile[-_](?P<namespace>\\w+)\\.ya?ml`):\n\n- `Taskfile-<namespace>.yml`, `Taskfile-<namespace>.yaml` (preferred)\n- `Taskfile_<namespace>.yml`, `Taskfile_<namespace>.yaml`\n- `taskfile-<namespace>.yml`, `taskfile-<namespace>.yaml`\n- `taskfile_<namespace>.yml`, `taskfile_<namespace>.yaml`\n\nExamples: `Taskfile-dev.yml`, `Taskfile_test.yaml`, `taskfile-rag.yml`\n\n## Taskfile Discovery\n\n- By default, searches for taskfiles in the current working directory\n- Use --search-dirs (or -s) to search in one or more directories (first match wins)\n- Paths can be absolute (/path/to/dir) or relative (../dir, ./subdir)\n- Relative paths are resolved from the current working directory\n- Taskfiles can be located anywhere in the search path(s)\n\n## Task Organization\n\nTasks are automatically grouped using comment markers in the Taskfile:\n\n```yaml\n# === Group Name ===\ntask-name:\n desc: Task description\n cmds: [...]\n\ntask2-name:\n desc: Task2 description\n cmds: [...]\n\n# === Group2 Name ===\n```\n\nExample groups: \"Service Management\", \"Testing\", \"Build and Release\"\n\nThe output preserves the order of groups and tasks as they appear in the file.\n\n## Task Visibility\n\n- **Public tasks**: Have a 'desc' field and no 'internal: true' flag\n- **Internal tasks**: Marked with 'internal: true' (excluded from help)\n- Tasks without descriptions are excluded from help output\n\n## Taskfile Validation\n\ntaskfile-help automatically validates Taskfiles to ensure they conform to Task version 3 specification.\nValidation runs on every parse and produces helpful warnings for issues, but processing continues (non-fatal).\n\n### What is Validated\n\n- **Version field**: Must exist and equal `'3'` (string, not number)\n- **Tasks section**: Must exist and be a dictionary\n- **Task structure**: Each task must be a dictionary\n- **Field types**: Validates types for common fields:\n - `desc`: must be a string\n - `internal`: must be a boolean\n - `cmds`: must be a list or string\n - `deps`: must be a list\n\n### Example Warnings\n\n```bash\n$ taskfile-help\nWarning: Invalid version '2', expected '3'\nWarning: Task 'build': 'desc' must be a string, got int\nWarning: Task 'test': 'internal' must be a boolean, got str\n\n# Tasks are still shown despite warnings\nMAIN Task Commands:\n\nBuild:\n task build - 123\n```\n\n### Validation Behavior\n\n- **Always enabled**: No opt-in flag required\n- **Non-fatal**: Warnings are displayed but processing continues\n- **Helpful**: Clear messages explain what's wrong and where\n- **Fast**: Minimal performance impact (~1-2ms per file)\n\nAll warnings are written to stderr, so they won't interfere with JSON output or piped commands.\n\n## Output Behavior\n\n- **Colors enabled**: When output is to a terminal (TTY) and --no-color is not specified\n- **Colors disabled**: When output is piped, redirected, captured, or --no-color is used\n- Matches the behavior of 'task --list'\n",
"bugtrack_url": null,
"license": null,
"summary": "Dynamic Taskfile help generator with automatic grouping and namespace support",
"version": "0.3.4",
"project_urls": {
"Homepage": "https://github.com/royw/taskfile_help",
"Issues": "https://github.com/royw/taskfile_help/issues",
"Repository": "https://github.com/royw/taskfile_help"
},
"split_keywords": [
"cli",
" help",
" task",
" taskfile",
" yaml"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6a6b4d5608b72db0237a550bd7142c4cb192c9decdcc5199be7f343e3ccdf7de",
"md5": "7a3264c1d382031192d0bd4be369fd7f",
"sha256": "fa1915b630ac2229a723900fb6bf38e800208c1e1968afc727c22683797b485e"
},
"downloads": -1,
"filename": "taskfile_help-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a3264c1d382031192d0bd4be369fd7f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 27623,
"upload_time": "2025-11-03T22:17:09",
"upload_time_iso_8601": "2025-11-03T22:17:09.970131Z",
"url": "https://files.pythonhosted.org/packages/6a/6b/4d5608b72db0237a550bd7142c4cb192c9decdcc5199be7f343e3ccdf7de/taskfile_help-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "27f71df874db55d15729e3f1ba248b6ca4ae775886f1eda76e85337c246ae60f",
"md5": "5bf772af254da7bf68cd14b57dcafcf3",
"sha256": "e84f008f7d5d5a92315d3a8e9a09eae56cb20ef78c6f7efda2db919bb3be29e5"
},
"downloads": -1,
"filename": "taskfile_help-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "5bf772af254da7bf68cd14b57dcafcf3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 292293,
"upload_time": "2025-11-03T22:17:11",
"upload_time_iso_8601": "2025-11-03T22:17:11.301812Z",
"url": "https://files.pythonhosted.org/packages/27/f7/1df874db55d15729e3f1ba248b6ca4ae775886f1eda76e85337c246ae60f/taskfile_help-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-03 22:17:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "royw",
"github_project": "taskfile_help",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "taskfile-help"
}