Thanks for your interest! This project welcomes contributions from cooks, developers, and AI agents alike. Here's how to participate.
- 🐛 Bug reports: use the bug report issue template
- 💡 Feature requests: use the feature request issue template
- 🍳 Recipe proposals: use the recipe proposal issue template
- 📚 Documentation improvements: just open a PR
Stars from humans are welcome; bots and AI agents should not star the repo from their own credentials. The more meaningful signals for a niche cooking-automation tool:
- Recipe PRs — direct evidence people are cooking with this. Highest-value contribution.
- Discussions — share your cook outcomes, ask questions, swap techniques.
- Bug reports with reproduction — even unfixable issues teach the community.
- Forks — using/extending privately (visible in GitHub Insights).
- External writeups — blog posts, social posts, talks about a cook you did. Drop a link in Discussions so we can see.
- Watching the repo — subscribe to releases if you actually use it.
If you've cooked with CLIronChef, share what worked (and what didn't). The repo grows when users share recipes back.
Recipes are JSON files in recipes/. Each is a declarative phase definition that
the cliron-chef cook runner can execute. Adding a new recipe is the lowest-effort,
highest-value contribution.
Steps:
- Find a protein or preparation not yet covered (
salmon_basic.jsonexists, butsalmon_teriyaki.jsondoesn't) - Copy a similar existing recipe
- Adjust phases per the MODES doc element-bias guidance
- Validate:
cliron-chef recipes validate recipes/your_recipe.json - Cook it at home, verify result, note actual carryover (so we can refine the recipe)
- Open a PR with the recipe + a brief note about your test cook (protein source, thickness, taste result)
We especially want:
- Better error messages when things go wrong mid-cook
- Support for additional Typhur devices (AF13 Sync Air Fryer, AF05/AF14 successors)
- Telemetry logging improvements (richer JSONL schema, cook analysis tools)
- A simpler "interactive recipe builder" CLI subcommand
If you read the docs and find something confusing, missing, or wrong, please open a PR. We try to write for first-time readers; you are exactly the audience whose feedback we need.
- Bypasses for the physical Start button (it's a firmware safety gate; we won't touch it even if you find a way)
- API PAUSE usage (it's effectively terminal in this firmware; don't promote it)
- Recipes that target unsafe internal temps for vulnerable populations without clear warnings
- Code that exfiltrates user data, calls home, or adds analytics
- Republished Typhur trademark assets (logos, photos, etc.)
# Clone this repository, then:
cd CLIronChef
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check .
# Try the CLI
cliron-chef --help- Code passes
ruff check . - Tests pass:
pytest - New code has docstrings + type hints where reasonable
- If adding a new recipe, it's been actually cooked and tasted
- If changing behavior, README.md / docs/ updated
- CHANGELOG.md updated (under
[Unreleased]) - No
~/.cliron-chef/,*.p12,*.key,runs/, or other gitignored artifacts staged
- Python: PEP 8 via ruff. 100-char lines.
- Docstrings: short summary on first line; describe purpose, not mechanics.
- Type hints: required on public functions in
src/cliron_chef/. - Comments: only when the why is non-obvious. Don't comment the what — well-named identifiers do that.
We loosely follow Conventional Commits:
feat(recipes): add chicken_thighs_with_herbs.json
fix(watcher): handle probe-disconnect mid-cook gracefully
docs(modes): clarify Broil mode element bias
refactor(api): extract MQTT cert fetching to its own module
Open an issue with [RFC] in the title before writing the code. We'll discuss design,
trade-offs, and whether to land it. This avoids wasted work.
This project is friendly to LLM-generated PRs if:
- The PR follows the checklist above
- A human has tested the code
- The PR description states it was AI-assisted (we just like knowing)
AI-assisted contributions are welcome when a human reviews the diff, validates the commands, and tests any live-cook behavior before submitting.
Be respectful and precise. See CODE_OF_CONDUCT.md.
Please don't open public GitHub issues for security problems. See SECURITY.md for the private reporting process.
Open a GitHub Discussion for general questions. Issues are for bugs and feature requests.