For the stuck

Never cook the same eight dinners again.

Your collection is bigger than your rotation. Set a variety floor — the report counts it, and CookBot dusts off what you forgot you loved.

Free: Cook Editor & apps — recipes, meal plans & shopping lists
€10/mo Cook Pro: CookBot AI + nutrition reports — 7-day free trial
The loop

Set the target. The week keeps it.

Your target is a few lines in a plain-text template. The report checks the whole week against it; where it misses, CookBot proposes the fix — as a diff you approve.

Your target · variety.check.jinja
{{ ck.between(distinct_recipes, 5, 7, "Distinct dinners this week") }}
{{ ck.min(new_this_month, {"min": 1}, "Recipes not cooked this month") }}
Report
⚠ 2 of 7 dinners repeat last week
CookBot — proposed change
- dinner: ./Fast/Carbonara.cook
+ dinner: ./Dinners/Chicken Paprikash.cook
Report, re-run
✓ 7 distinct dinners — 2 you haven't cooked in a month

The counts run free on your own files. CookBot suggestions come with Cook Pro — €10/mo. First subscription includes a 7-day free trial. See pricing →

Why this works

Because your recipes are data.

Every recipe is a plain-text .cook file you own — readable in any editor, today and in fifty years. Because the whole collection is structured data, a report can check it and an AI can plan from it. No database, no lock-in.

Plain text, yours forever Every AI change is a diff you approve Open spec & open-source editor

Start with the recipes you already love.

Import them free — from URLs, photos, or text — and set your first target this week.

Questions

Is this free?

The counting is — variety checks are plain templates over your own plan files, no subscription needed. CookBot, which proposes what to swap in, is Cook Pro.

Where do the 'new' recipes come from?

Your own collection first — the corners of it you stopped visiting. And importing more is free: paste a URL, a photo, or text.

How does it know what I've cooked?

From your week plans — they're plain-text files, so your cooking history is just data you already own.