- Knownframe
- CookDex
- Docs
- Taxonomy tasks
Taxonomy tasks
Tags, categories, tools and cookbooks. Most taxonomy editing happens in Organize, which works on Mealie directly; tag-categorize assigns them to recipes. Duplicate tags and categories are merged by cleanup-duplicates.
tag-categorize
Section titled “tag-categorize”| Option | Type | Default | Description |
|---|---|---|---|
dry_run |
boolean | true |
Preview changes without writing anything. |
backup_first |
boolean | true |
Create a Mealie backup before a live run. Hidden while dry_run=true. |
method |
string | both |
both runs rules first then AI, rules uses rules only, ai skips rules. |
recat |
boolean | false |
Re-process every recipe, including recipes that already have organization data. Hidden for rules. |
provider |
string | configured default | Override AI provider for this run. Hidden for rules. |
missing_targets |
string | skip |
skip missing taxonomy targets or create them automatically. Hidden for ai. |
Cookbook filters
Section titled “Cookbook filters”Each cookbook’s queryFilterString is a list of clauses joined with AND. CookDex accepts these clauses:
| Filter | Fields | Operators | Example |
|---|---|---|---|
| Categories | recipeCategory.name, recipe_category.id |
IN, NOT IN, CONTAINS ALL |
recipeCategory.name IN ["Dinner"] |
| Tags | tags.name, tags.id |
IN, NOT IN, CONTAINS ALL |
tags.name NOT IN ["Dessert"] |
| Tools | tools.name, tools.id |
IN, NOT IN, CONTAINS ALL |
tools.name IN ["Air Fryer"] |
| Foods | recipeIngredient.food.name, recipeIngredient.food.id |
IN, NOT IN, CONTAINS ALL |
recipeIngredient.food.name IN ["Chicken"] |
| Food labels | recipeIngredient.food.label.name, recipe_ingredient.food.label_id |
IN, NOT IN, CONTAINS ALL |
recipeIngredient.food.label.name IN ["Seafood"] |
| Rating | rating |
=, <>, >, >=, <, <= |
rating >= 4 |
- Filters in an imported taxonomy file can use names. Organize resolves category, tag, tool and food-label names to Mealie ids when the change is applied, after any tags or categories created in the same batch. A name that can’t be found fails that cookbook with a message.
ratingis the recipe’s average rating across all users, from 0 to 5. Unrated recipes never match a rating clause, includingrating < 3.- Rating filters need Mealie v3.25 or later, and food-label filters need v3.28 or later. When an older Mealie rejects one of these filters, Mealie’s error is shown for that cookbook.
Example: rating >= 4 AND recipeIngredient.food.label.name IN ["Seafood"].
Retired: taxonomy-refresh and cookbook-sync
Section titled “Retired: taxonomy-refresh and cookbook-sync”Both pushed CookDex’s own copy of the taxonomy to Mealie. Organize now edits Mealie directly, so they were removed along with the Taxonomy Editor. On upgrade, CookDex saves whatever the old copy held (and any unpublished editor draft) to reports/retired-managed-taxonomy-<time>.json, which you can import in Organize, and turns off schedules that used either task with a note saying why.