id = "pueue"
name = "Pueue"
homepage = "https://github.com/Nukesor/pueue"
description = "Pueue is a command-line task management tool for sequential and parallel execution of long-running tasks."
executables = ["pueue", "pueued"]
[dotfiles]
paths = [
"[appData]/pueue/pueue.yml",
"[appData]/pueue/pueue_aliases.yml",
]
exclude = ["[dataHome]/pueue/"]
secret = [
"[dataHome]/pueue/shared_secret",
"[dataHome]/pueue/certs/daemon.key",
]
[commands]
format = 1
label = "pueue"
description = "Queue a shell command with pueue add. Other subcommands, groups, dependencies and delays are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["add"]
label = "Queue a command"
description = "Add a command to the pueue queue. The daemon must be running."
[[commands.subcommand.source]]
id = "changelog"
kind = "manual"
url = "https://github.com/Nukesor/pueue/blob/main/CHANGELOG.md"
revision = "2026-10-27"
evidence = """
- `pueue add` Canonicalize `--working-directory` paths.
`pueue add --immediate install_something && pueue send 0 'y\\n'`
- Add `add --follow` flag that may be called in combination with `--immediate`
- Add the `--working-directory` parameter to the `pueue add` command
`task add --label $LABEL` option, which will be displayed when calling `pueue status`.
`--start-immediately` and `--stashed` collided.
"""
[[commands.subcommand.field]]
id = "command"
label = "Command"
description = "The command to queue, as one shell string (quote it)."
type = "string"
position = 0
min = 1
sources = ["changelog"]
[[commands.subcommand.field]]
id = "label"
label = "Label"
description = "Shown in pueue status."
type = "string"
option = ["--label"]
sources = ["changelog"]
[[commands.subcommand.field]]
id = "working_directory"
label = "Working directory"
type = "path"
option = ["--working-directory"]
path = { kind = "directory", role = "input" }
sources = ["changelog"]
[[commands.subcommand.field]]
id = "immediate"
label = "Start immediately"
type = "boolean"
option = ["--immediate"]
sources = ["changelog"]
[[commands.subcommand.field]]
id = "follow"
label = "Follow output (with immediate)"
type = "boolean"
option = ["--follow"]
sources = ["changelog"]
[[commands.subcommand.field]]
id = "stashed"
label = "Add as stashed"
type = "boolean"
option = ["--stashed"]
sources = ["changelog"]
[[commands.subcommand.task]]
id = "queue"
label = "Queue a command"
fields = ["command", "label"]
required = ["command"]
[[commands.subcommand.task]]
id = "run_now"
label = "Run now and follow"
fields = ["command", "immediate", "follow"]
required = ["command"]
set = { immediate = [true], follow = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["command", "label", "working_directory"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["immediate", "follow", "stashed"]