Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/viet2811/ocipe/llms.txt

Use this file to discover all available pages before exploring further.

Recipes are the core of Ocipe. Every other feature — the fridge, the grocery planner, the randomizer — revolves around the recipes you save. This page covers the data model, how recipes are displayed, how to search and filter them, and the multiple ways you can add new ones.

Recipe Data

Each recipe in Ocipe stores exactly what you need and nothing more — no embedded stories, no comment sections.
FieldTypeDescription
namestring (max 100 chars)The name of the dish.
meat_typestring (max 30 chars)Category used to organise and group recipes. Can be anything: meat type, meal time, cuisine, etc.
longevityintegerHow long this recipe lasts — interpreted as portions or days, depending on how you define it.
frequencyenumHow often you typically cook this dish. One of weekday, weekend, or rarely.
notetext (optional)Personal notes and step-by-step cooking instructions.
stateenumWhether this recipe has already been planned in the current cycle. Either active or used.
ingredientsarray of {name, quantity}The ingredient list. Each ingredient has a name (max 50 chars) and an optional free-form quantity string.

Frequency values

ValueWhat it means
weekdayQuick and straightforward enough to cook on any day of the week.
weekendTime-consuming or effort-intensive — better suited for days when you have more time.
rarelySomething you cook once in a while, as a treat or for a special occasion.

Recipe state and the refresh cycle

A recipe’s state is either active (not yet cooked or planned in the current cycle) or used (already added to a grocery plan and marked done). When you generate a grocery list, all selected recipes automatically transition to used.
At the start of a new meal planning cycle, use the Refresh All action on the recipes page to reset every recipe’s state back to active. This clears the slate so you can plan fresh without manually editing each recipe.

Ingredients

Each recipe holds a list of ingredient objects. The quantity field is intentionally free-form — you can write "200g", "1 tbsp", "a handful", or leave it blank entirely. This flexibility makes it easy to capture recipes the way you actually cook them.
{
  "ingredients": [
    { "name": "chicken thighs", "quantity": "500g" },
    { "name": "soy sauce", "quantity": "2 tbsp" },
    { "name": "garlic" }
  ]
}

Viewing Recipes

Recipes are displayed in a table view — the most information-dense layout for a library with many fields. Each column header is clickable for sorting:
  • Click once → sort ascending
  • Click twice → sort descending
  • Default → newest recipes first (sorted by added_date)

Quick-view drawer

The table can’t display the full ingredient list inline. To see all details without leaving the page, click a recipe’s name — a drawer slides in from the side showing all fields including the complete ingredient list and notes.

Searching & Filtering

Three search modes help you find the right recipe for any situation.

Adding Recipes

Fill in the recipe form field by field: name, category (meat_type), longevity, frequency, an optional note, and your ingredient list. You can add as many ingredients as you like, each with an optional quantity.

Editing & Deleting

To edit or delete any recipe, click the three-dot menu (⋯) at the far right of its row in the table. From there you can open the edit form (all fields are editable) or permanently delete the recipe.

Build docs developers (and LLMs) love