Cook MD

Getting Started

A five-step walkthrough, from a fresh install to a planned week of meals.

1. Open a folder

On first launch Cook Editor asks you to pick a folder. Pick an empty folder to start from scratch, or point it at an existing Cooklang collection. You can switch folders any time from File → Open Folder.

Cook Editor watches the folder you opened. Anything you add, rename, or delete from Finder / Explorer / the terminal shows up in the sidebar within a second.

2. Write your first recipe

Create a new file called pancakes.cook. Cooklang is plain text with three special markers — @ingredient, #cookware, and ~timer{duration}:

---
servings: 2
time: 20 min
---

Whisk @flour{200%g}, @eggs{3}, and @whole milk{300%ml} in a #bowl{}.

Heat a #non-stick pan{} until hot. Pour batter and cook ~{2%minutes} per side.

As you type, ingredients and cookware get coloured, amounts are validated, and autocomplete offers items you've used before.

3. Preview and scale

Click the preview toggle in the top right to see the recipe rendered — ingredients split out as chips, instructions laid out cleanly, timers visible at a glance. Change the servings selector and every quantity scales with you.

The preview is for reading and cooking from. The text editor is where you write. Most people work with both open side-by-side.

4. Build a shopping list

Select one or more recipes from the sidebar (hold Cmd / Ctrl to pick several) and open the Shopping panel. Cook Editor combines the ingredients, deduplicates where units match, and groups them by aisle.

If you're heading to the store, open the same list on your phone via the Cook.md mobile apps — they share the collection, so you can tick items off at the shelves.

5. Plan a week

Create a file called my-week.menu. A .menu file is a list of days, each with meal-labelled bullets that reference recipes in your collection:

---
servings: 2
---

==Day 1 (2026-04-21)==

Breakfast: \
- @./Breakfast/Pancakes{2%servings} \
- @filter coffee{1%cup}

Dinner: \
- @./Dinners/Ramen{2%servings}

==Day 2 (2026-04-22)==

Breakfast: \
- @eggs{4} with @toast{2%slices}

Dinner: \
- @./Salads/Caprese{2}

== Snacks ==

- @apples
- @yogurt{2}

Day headers are wrapped in ==. Adding a date in (YYYY-MM-DD) lets Cook Editor recognise it and highlight today's meals. Each meal block starts with a label like Breakfast: followed by - bullets; end every line in the block with a trailing \ (except the last) so the whole meal reads as one step in the preview.

Recipe references use the same @ syntax as ingredients, with a relative path to the .cook file. Standalone ingredient lines like @apples or @eggs{4} work too, so you can capture snacks and one-off items without making a recipe for them.

The preview for a .menu file shows the whole week at a glance and produces a combined shopping list for the plan. If you're cooking for a different household size, scale the menu and every recipe scales with it.

What next? Explore the full Features page for the CookBot AI sidebar, keyboard shortcuts, and more.