Manage recipes, meal plans, and shopping lists in Tandoor Recipe Manager. Use when the user wants to create recipes, plan meals, search for recipes, or manage their shopping list.
Interact with the user's Tandoor Recipe Manager to manage recipes, meal plans, and shopping lists.
Required env vars: TANDOOR_URL (Tandoor instance URL) and TANDOOR_API_TOKEN
node ./scripts/tandoor.js <command> [args...]
Search by name:
node ./scripts/tandoor.js search-recipes "pasta"
node ./scripts/tandoor.js search-recipes "chicken" 20 # limit to 20 results
Get full recipe details:
node ./scripts/tandoor.js get-recipe 42
See available meal types (Breakfast, Lunch, Dinner, etc.):
node ./scripts/tandoor.js get-meal-types
Add a recipe to the meal plan:
node ./scripts/tandoor.js add-to-meal-plan <recipe_id> "<meal_type>" "<YYYY-MM-DD>"
# Example: Add recipe 42 as Dinner on Feb 10th
node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10"
View meal plans for a date range:
node ./scripts/tandoor.js get-meal-plans "2025-02-08" "2025-02-14"
View current shopping list:
node ./scripts/tandoor.js get-shopping-list
node ./scripts/tandoor.js get-shopping-list "true" # show checked items
node ./scripts/tandoor.js get-shopping-list "both" # show all
Add an item to the shopping list:
node ./scripts/tandoor.js add-shopping-item "<food>" "<amount>" "<unit>" "[note]"
# Example:
node ./scripts/tandoor.js add-shopping-item "Chicken Breast" "500" "g" "For stir fry"
Check off an item:
node ./scripts/tandoor.js check-shopping-item <item_id>
Remove an item:
node ./scripts/tandoor.js remove-shopping-item <item_id>
node ./scripts/tandoor.js create-recipe "<name>" "<ingredients>" "<instructions>" [servings]
Example:
node ./scripts/tandoor.js create-recipe "Grilled Cheese" \
"2 slices bread
2 slices cheese
1 tbsp butter" \
"1. Butter the bread
2. Add cheese between slices
3. Grill until golden brown" \
2
node ./scripts/tandoor.js get-keywords # all keywords
node ./scripts/tandoor.js get-keywords "italian" # search keywords
node ./scripts/tandoor.js get-foods "chicken" # search foods
node ./scripts/tandoor.js get-units # all units
node ./scripts/tandoor.js search-recipes "chicken"
node ./scripts/tandoor.js get-meal-types
node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10"
node ./scripts/tandoor.js add-to-meal-plan 15 "Dinner" "2025-02-11"
# ... continue for each day
node ./scripts/tandoor.js get-meal-plans "2025-02-08"
node ./scripts/tandoor.js get-recipe <recipe_id>
node ./scripts/tandoor.js get-recipe <recipe_id>
steps[].ingredients[])node ./scripts/tandoor.js add-shopping-item "Chicken Breast" "500" "g"
node ./scripts/tandoor.js add-shopping-item "Onion" "2" "piece"
# ... continue for each ingredient
node ./scripts/tandoor.js create-recipe "Pasta Carbonara" \
"200g spaghetti
100g pancetta
2 eggs
50g parmesan" \
"1. Cook pasta
2. Fry pancetta
3. Mix eggs with parmesan
4. Combine all and serve" \
2
node ./scripts/tandoor.js add-to-meal-plan <new_recipe_id> "Dinner" "2025-02-12"
node ./scripts/tandoor.js get-shopping-list "true"
node ./scripts/tandoor.js remove-shopping-item <item_id>
"Food not found" or "Unit not found"
Search for the correct name in Tandoor first:
node ./scripts/tandoor.js get-foods "chicken"
node ./scripts/tandoor.js get-units "gram"
"Meal type not found"
Run get-meal-types to see exact names (case-insensitive match).