Skip to content

feat: unified pellet CLI + YAML cook presets - #14

Merged
ctopherwilliams merged 1 commit into
mainfrom
feat/pellet-cli-presets
Jul 5, 2026
Merged

feat: unified pellet CLI + YAML cook presets#14
ctopherwilliams merged 1 commit into
mainfrom
feat/pellet-cli-presets

Conversation

@ctopherwilliams

Copy link
Copy Markdown
Owner

Summary

Test plan

  • Full smoke suite green (new tests: preset load/list/traversal-guard/size-cap, CLI preset expansion, CLI dispatch to each subcommand)
  • bandit + pip-audit clean
  • Manually verified pellet presets, pellet watch --preset brisket --speak argv expansion, and each subcommand dispatch

Adds pellet.py as a thin dispatcher to the existing scripts (poll/history/
trend/plot/export) plus --preset expansion: `pellet watch --preset brisket`
fills in --stage/--probe-name from presets/brisket.yaml instead of typing
them out every cook. Presets are just the same spec strings plan.py/
probe_names.py already parse (stage_specs/name_specs) -- no separate
schema to keep in sync.

Ships 4 presets (brisket, pork-butt, ribs, chicken) and a minimal
pyproject.toml with a console_scripts entry point for `pip install -e .`.
Preset loading is size-capped and rejects path-traversal names, same bar
as the existing plan.py/probe_names.py config-file handling.
@ctopherwilliams
ctopherwilliams force-pushed the feat/pellet-cli-presets branch from f438dab to 11e42c1 Compare July 5, 2026 01:41
@ctopherwilliams
ctopherwilliams merged commit 2de0b10 into main Jul 5, 2026
4 checks passed
@ctopherwilliams
ctopherwilliams deleted the feat/pellet-cli-presets branch July 5, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant