Initial formulation application

This commit is contained in:
2026-08-13 15:39:57 -05:00
commit 3e81d54262
709 changed files with 41144 additions and 0 deletions
@@ -0,0 +1,98 @@
name: Build & Push Astro Site Image
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build:
name: 'Build & Push Image'
env:
REGISTRY_USERNAME: nicholas
IMAGE_REGISTRY: git.uuard.com
IMAGE_NAME: nicholas/recipe-book
IMAGE_TAG: ${{ github.sha }}
runs-on: shared-ci
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⚙️ Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
cache: npm
- name: ✅ Validate recipe data
run: |
python3 -m pip install --user -r requirements-dev.txt
scripts/validate-content
- name: 🏗️ Build Astro site
run: |
npm ci
npm run build
- name: 🔐 Gitea Registry Login
uses: docker/login-action@v3
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ env.REGISTRY_USERNAME }}
password: ${{ secrets.CD_CD_BUILD_PUSH }}
- name: 🐋 Build Docker image
run: docker build -t $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_TAG .
- name: 🚀 Push Docker image
run: docker push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_TAG
- name: 🧹 Prune images
if: always()
run: docker image prune -f
deploy:
needs: build
runs-on: recipe-book-deploy
env:
IMAGE_TAG: ${{ github.sha }}
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: Install kubectl
env:
KUBECTL_VERSION: v1.36.2
run: |
set -euo pipefail
curl -fsSLO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
curl -fsSLO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256"
printf '%s %s\n' "$(cat kubectl.sha256)" kubectl | sha256sum -c
mkdir -p "$HOME/.local/bin"
install -m 0755 kubectl "$HOME/.local/bin/kubectl"
printf '%s\n' "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Configure Kubernetes access
env:
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
run: |
set -euo pipefail
mkdir -p ~/.kube
printf '%s' "$KUBE_CONFIG" | base64 -d > ~/.kube/config
chmod 600 ~/.kube/config
kubectl auth can-i update deployments --namespace nicholas
- name: Deploy recipe-book
run: |
set -euo pipefail
sed -E -i "s#newTag: [0-9a-f]+#newTag: ${IMAGE_TAG}#" k8s/kustomization.yaml
grep -q "newTag: ${IMAGE_TAG}$" k8s/kustomization.yaml
kubectl apply --kustomize k8s
if ! kubectl rollout status deployment/recipe-book \
--namespace nicholas --timeout=180s; then
kubectl rollout undo deployment/recipe-book --namespace nicholas
kubectl rollout status deployment/recipe-book \
--namespace nicholas --timeout=180s
exit 1
fi
+63
View File
@@ -0,0 +1,63 @@
name: Sync Knowledge
on:
workflow_dispatch:
push:
branches:
- master
paths:
- .gitea/workflows/sync-knowledge.yml
- container/schemas/**
- culinary/**
- scripts/corpus-export
- scripts/validate-content
- requirements-dev.txt
env:
OIKB_VERSION: 0.4.0
jobs:
sync:
runs-on: recipe-book-deploy
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check configuration
env:
OPEN_WEBUI_URL: ${{ vars.OPEN_WEBUI_URL }}
OPEN_WEBUI_API_KEY: ${{ secrets.KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY }}
GOURMAND_KB_ID: ${{ vars.GOURMAND_KB_ID }}
run: |
set -euo pipefail
: "${OPEN_WEBUI_URL:?Missing Actions variable OPEN_WEBUI_URL}"
: "${OPEN_WEBUI_API_KEY:?Missing Actions secret KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY}"
: "${GOURMAND_KB_ID:?Missing Actions variable GOURMAND_KB_ID}"
command -v python3 >/dev/null ||
{ echo "python3 is required on the Actions runner" >&2; exit 1; }
- name: Export recipe corpus
run: |
python3 -m pip install --user -r requirements-dev.txt
scripts/validate-content
scripts/corpus-export
- name: Install official Open WebUI sync client
run: |
set -euo pipefail
python3 -m venv .venv-oikb
. .venv-oikb/bin/activate
pip install "oikb==$OIKB_VERSION"
- name: Sync knowledge base
env:
OPEN_WEBUI_URL: ${{ vars.OPEN_WEBUI_URL }}
OPEN_WEBUI_API_KEY: ${{ secrets.KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY }}
GOURMAND_KB_ID: ${{ vars.GOURMAND_KB_ID }}
run: |
set -euo pipefail
. .venv-oikb/bin/activate
oikb sync generated/open-webui/recipes \
--kb-id "$GOURMAND_KB_ID" \
--concurrency 2
+38
View File
@@ -0,0 +1,38 @@
# Node and Astro
/node_modules/
/dist/
/.astro/
/.env
/.env.*
!.env.example
# All reproducible exports and migration artifacts
/generated/
# Python
__pycache__/
*.py[cod]
/.venv/
/venv/
# Editors and operating systems
/.vscode/
/.idea/
.DS_Store
Thumbs.db
*.swp
*~
# Logs and test output
*.log
/coverage/
# Local UI reference captures
/ui-reference*.html
/ui-reference*_files/
/ui-reference*.png
# Local application databases and SQLite sidecars
/var/*.sqlite
/var/*.sqlite-shm
/var/*.sqlite-wal
+7
View File
@@ -0,0 +1,7 @@
FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY dist /usr/share/nginx/html/
EXPOSE 80
+91
View File
@@ -0,0 +1,91 @@
# advanced-food-making
A recipe collection
Canonical version 2 culinary data lives in `culinary/` and is defined by the
vendor-neutral schemas in `container/schemas/v2/`. Two independent Astro applications
consume the shared data and libraries;
see [the culinary data model](docs/culinary-data-model.md) for entity boundaries,
density and unit semantics, and USDA provenance.
## Knowledge Sync
The Gitea Actions workflow at
`.gitea/workflows/sync-knowledge.yml` exports the recipes as clean
Markdown and synchronizes them to the Gourmand Open WebUI knowledge base. It
runs when recipe content, ingredient data, or the corpus exporter changes on
`master`, and it can also be started manually.
Configure these Actions variables in this repository:
```text
OPEN_WEBUI_URL
GOURMAND_KB_ID
```
Configure this Actions secret:
```text
KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY
```
The existing knowledge-sync account and API key may be reused if the account
has permission to manage files in the Gourmand knowledge base.
To inspect the generated corpus locally, run:
```bash
scripts/corpus-export
```
Validate canonical entities, schema conformance, and cross-references before
building or committing changes:
```bash
python3 -m pip install --user -r requirements-dev.txt
scripts/validate-content
```
To review purchasing products extracted from the sibling `ledger` receipt
archive, run `scripts/receipt-products propose` and open
`/tools/purchasing-review/`. Export the decisions and apply them with:
```bash
scripts/receipt-products apply ~/Downloads/purchasing-decisions.json
scripts/validate-content
```
Build both applications:
```bash
npm ci
npm run db:reset # initial setup only; do not use over an edited database
npm run build
```
The frontend requires Node.js 22.12 or newer. The public cooking site is a fully
static build in `dist/site`; the SQLite-backed management application is a Node
server build in `dist/app`. They share components and culinary calculation code,
but neither artifact contains the other application's routes. The site build
generates a read-only projection from SQLite before Astro renders its pages.
Run them independently during development:
```bash
npm run dev:site # http://localhost:4321
npm run dev:app # http://localhost:4322/app/
```
The generated files are written to `generated/open-webui/recipes/` and are not
committed.
Search USDA FoodData Central and import a candidate mapping with:
```bash
USDA_FDC_API_KEY=... scripts/usda-fdc search "all-purpose flour"
USDA_FDC_API_KEY=... scripts/usda-fdc import flour_all_purpose 790018
```
Add `--reviewed` only after confirming that the USDA description matches the
canonical ingredient. An official USDA JSON download can be supplied with
`--dataset` instead. Never commit the API key.
+13
View File
@@ -0,0 +1,13 @@
import { defineConfig } from "astro/config";
import preact from "@astrojs/preact";
import node from "@astrojs/node";
export default defineConfig({
output: "server",
srcDir: "./src/application",
publicDir: "./public",
outDir: "./dist/app",
adapter: node({ mode: "standalone" }),
integrations: [preact()],
vite: { server: { fs: { allow: ["."] } } },
});
+14
View File
@@ -0,0 +1,14 @@
import { defineConfig } from "astro/config";
import preact from "@astrojs/preact";
export default defineConfig({
site: "https://recipes.uuard.com",
output: "static",
srcDir: "./src/site",
publicDir: "./public",
outDir: "./dist/site",
integrations: [preact()],
vite: {
server: { fs: { allow: ["."] } },
},
});
+43
View File
@@ -0,0 +1,43 @@
{
"decisions": {
"walmart:10452376": "cheddar_cheese",
"walmart:19400150": "parmesan_cheese",
"walmart:10448316": "salt",
"walmart:12512024": "lemon_juice",
"walmart:426222521": "butter_flavored_shortening",
"walmart:10450340": "heavy_cream",
"walmart:10315395": "rice",
"walmart:705601418": "onion_powder",
"walmart:676979470": "garlic_powder",
"walmart:13424766": "chipotle_pepper_adobo",
"walmart:36120978": "mayonnaise",
"walmart:10315545": "mustard_dijon",
"walmart:15716793": "white_chocolate",
"walmart:43236036": "butter",
"walmart:44001602": "ground_beef_73_27_raw",
"walmart:55014398": "garlic",
"walmart:12166183": "bbq_sauce_hickory_smoke",
"walmart:10315054": "butter",
"walmart:10403017": "flour_all_purpose",
"walmart:664106906": "cornstarch",
"walmart:288194636": "semisweet_chocolate_chips",
"walmart:10315278": "corn_syrup_light",
"walmart:10315012": "light_brown_sugar",
"walmart:10415512": "tomato_puree",
"walmart:41592222": "cream_cheese",
"walmart:10452385": "sharp_cheddar_cheese",
"walmart:10415230": "tomato_crushed_in_juice",
"walmart:10415519": "tomato_paste",
"walmart:10450119": "milk",
"walmart:34186943": "cheddar_cheese",
"walmart:10535480": "vinegar_balsamic",
"walmart:10315088": "bread_crumbs",
"walmart:111156738": "italian_sausage",
"walmart:15136790": "ground_beef_73_27_raw",
"walmart:10295081": "tomato_paste",
"walmart:10295176": "tomato_paste",
"walmart:10315402": "parmesan_cheese",
"walmart:10452370": "cheddar_cheese",
"sams_club:0980250647": "sugar"
}
}
+15
View File
@@ -0,0 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/allergen.schema.json",
"title": "Allergen",
"type": "object",
"required": ["schema_version", "id", "name", "jurisdictions"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"aliases": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
"jurisdictions": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true }
}
}
@@ -0,0 +1,31 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/collection.schema.json",
"title": "Menu or recipe collection",
"type": "object",
"required": ["schema_version", "id", "type", "name", "entries"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"type": { "type": "string", "enum": ["menu", "collection"] },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"description": { "type": "string" },
"entries": {
"type": "array",
"items": {
"type": "object",
"required": ["recipe_id", "order"],
"additionalProperties": false,
"properties": {
"recipe_id": { "$ref": "common.schema.json#/$defs/id" },
"recipe_revision": { "$ref": "common.schema.json#/$defs/revision" },
"order": { "type": "integer", "minimum": 1 },
"servings": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
"section": { "type": "string" },
"notes": { "type": "string" }
}
}
}
}
}
+79
View File
@@ -0,0 +1,79 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/common.schema.json",
"title": "Recipe Book common types",
"$defs": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+(?:_[a-z0-9]+)*$"
},
"nonEmptyString": { "type": "string", "minLength": 1 },
"schemaVersion": { "const": 2 },
"revision": { "type": "integer", "minimum": 1 },
"date": { "type": "string", "format": "date" },
"dateTime": { "type": "string", "format": "date-time" },
"decimal": { "type": "number", "minimum": 0 },
"positiveDecimal": { "type": "number", "exclusiveMinimum": 0 },
"localizedText": {
"type": "object",
"required": ["text"],
"additionalProperties": false,
"properties": {
"text": { "$ref": "#/$defs/nonEmptyString" },
"language": { "type": "string", "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$" }
}
},
"amount": {
"type": "object",
"required": ["quantity", "unit_id"],
"additionalProperties": false,
"properties": {
"quantity": { "$ref": "#/$defs/decimal" },
"unit_id": { "$ref": "#/$defs/id" },
"quantity_max": { "$ref": "#/$defs/decimal" },
"display": { "$ref": "#/$defs/nonEmptyString" }
}
},
"sourceReference": {
"type": "object",
"required": ["source_type", "reviewed"],
"additionalProperties": false,
"properties": {
"source_type": {
"type": "string",
"enum": ["usda_fdc", "manufacturer", "supplier", "publication", "laboratory", "observation", "manual", "calculated"]
},
"external_id": { "$ref": "#/$defs/nonEmptyString" },
"url": { "type": "string", "format": "uri" },
"title": { "$ref": "#/$defs/nonEmptyString" },
"publisher": { "$ref": "#/$defs/nonEmptyString" },
"retrieved_at": { "$ref": "#/$defs/date" },
"effective_at": { "$ref": "#/$defs/date" },
"reviewed": { "type": "boolean" },
"reviewed_at": { "$ref": "#/$defs/date" },
"notes": { "type": "string" }
},
"allOf": [
{
"if": { "properties": { "source_type": { "const": "usda_fdc" } }, "required": ["source_type"] },
"then": {
"required": ["external_id", "title", "retrieved_at"],
"properties": { "external_id": { "pattern": "^[1-9][0-9]*$" } }
}
}
]
},
"media": {
"type": "object",
"required": ["type", "uri"],
"additionalProperties": false,
"properties": {
"type": { "type": "string", "enum": ["image", "video", "audio", "document"] },
"uri": { "$ref": "#/$defs/nonEmptyString" },
"alt": { "type": "string" },
"caption": { "type": "string" },
"credit": { "type": "string" }
}
}
}
}
@@ -0,0 +1,58 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/derived-recipe.schema.json",
"title": "Disposable derived recipe values",
"description": "Calculated output. This document is never canonical culinary or purchasing input.",
"type": "object",
"required": ["schema_version", "recipe_id", "recipe_revision", "calculation_version", "calculated_at", "input_fingerprint"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"recipe_id": { "$ref": "common.schema.json#/$defs/id" },
"recipe_revision": { "$ref": "common.schema.json#/$defs/revision" },
"calculation_version": { "type": "integer", "minimum": 1 },
"calculated_at": { "$ref": "common.schema.json#/$defs/dateTime" },
"input_fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
"cost": {
"type": "object",
"required": ["currency", "batch"],
"additionalProperties": false,
"properties": {
"currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
"batch": { "$ref": "common.schema.json#/$defs/decimal" },
"per_serving": { "$ref": "common.schema.json#/$defs/decimal" },
"per_100g": { "$ref": "common.schema.json#/$defs/decimal" }
}
},
"nutrition": {
"type": "object",
"properties": {
"batch": { "type": "object", "additionalProperties": { "type": "number" } },
"per_serving": { "type": "object", "additionalProperties": { "type": "number" } },
"per_100g": { "type": "object", "additionalProperties": { "type": "number" } }
},
"additionalProperties": false
},
"allergens": {
"type": "array",
"items": {
"type": "object",
"required": ["allergen_id", "presence"],
"additionalProperties": false,
"properties": {
"allergen_id": { "$ref": "common.schema.json#/$defs/id" },
"presence": { "type": "string", "enum": ["contains", "may_contain", "unknown"] }
}
}
},
"completeness": {
"type": "object",
"additionalProperties": false,
"properties": {
"nutrition_weight_fraction": { "type": "number", "minimum": 0, "maximum": 1 },
"cost_weight_fraction": { "type": "number", "minimum": 0, "maximum": 1 }
}
},
"warnings": { "type": "array", "items": { "type": "string" } }
}
}
@@ -0,0 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/equipment.schema.json",
"title": "Equipment type",
"type": "object",
"required": ["schema_version", "id", "name"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"category": { "$ref": "common.schema.json#/$defs/id" },
"notes": { "type": "string" }
}
}
@@ -0,0 +1,81 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/ingredient.schema.json",
"title": "Canonical ingredient",
"type": "object",
"required": ["schema_version", "id", "name", "status", "categories"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"description": { "type": "string" },
"status": { "type": "string", "enum": ["active", "deprecated", "archived"] },
"categories": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"tags": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
"aliases": {
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"language": { "type": "string" },
"region": { "type": "string" },
"kind": { "type": "string", "enum": ["common", "alternate_spelling", "trade", "search", "merged"] }
}
}
},
"default_purchase_item_id": { "$ref": "common.schema.json#/$defs/id" },
"density_measurements": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "mass", "volume", "source"],
"additionalProperties": false,
"properties": {
"id": { "$ref": "common.schema.json#/$defs/id" },
"mass": { "$ref": "common.schema.json#/$defs/amount" },
"volume": { "$ref": "common.schema.json#/$defs/amount" },
"temperature_c": { "type": "number" },
"state": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"source": { "$ref": "common.schema.json#/$defs/sourceReference" }
}
}
},
"measure_conversions": {
"description": "Ingredient-specific measures such as a packed cup or one clove; these are not universal unit conversions.",
"type": "array",
"items": {
"type": "object",
"required": ["id", "from", "to", "source"],
"additionalProperties": false,
"properties": {
"id": { "$ref": "common.schema.json#/$defs/id" },
"from": { "$ref": "common.schema.json#/$defs/amount" },
"to": { "$ref": "common.schema.json#/$defs/amount" },
"state": { "type": "string" },
"source": { "$ref": "common.schema.json#/$defs/sourceReference" }
}
}
},
"prep_actions": {
"type": "array",
"items": {
"type": "object",
"required": ["action_id", "yield_factor"],
"additionalProperties": false,
"properties": {
"action_id": { "$ref": "common.schema.json#/$defs/id" },
"yield_factor": { "description": "Prepared output divided by raw input; may exceed 1 when hydration or cooking adds mass.", "type": "number", "exclusiveMinimum": 0 },
"notes": { "type": "string" }
}
}
},
"nutrition_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"allergen_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"notes": { "type": "array", "items": { "type": "string" } },
"extensions": { "type": "object", "additionalProperties": true }
}
}
@@ -0,0 +1,16 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/prep-action.schema.json",
"title": "Preparation action",
"type": "object",
"required": ["schema_version", "id", "name", "action_type"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"action_type": { "type": "string", "enum": ["trim", "peel", "cut", "grind", "drain", "cook", "cool", "other"] },
"default_yield_factor": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
"notes": { "type": "string" }
}
}
@@ -0,0 +1,47 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/purchase-item.schema.json",
"title": "Purchasing item and price observations",
"type": "object",
"required": ["schema_version", "id", "ingredient_id", "name", "package", "prices", "status"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"ingredient_id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"brand": { "type": "string" },
"supplier_id": { "$ref": "common.schema.json#/$defs/id" },
"supplier_sku": { "type": "string" },
"gtin_upc": { "type": "string" },
"status": { "type": "string", "enum": ["active", "discontinued", "unavailable"] },
"package": {
"type": "object",
"required": ["quantity", "unit_id"],
"additionalProperties": false,
"properties": {
"quantity": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
"unit_id": { "$ref": "common.schema.json#/$defs/id" },
"units_per_case": { "type": "integer", "minimum": 1 },
"usable_yield_factor": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 }
}
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": ["amount", "currency", "effective_at", "source"],
"additionalProperties": false,
"properties": {
"amount": { "$ref": "common.schema.json#/$defs/decimal" },
"currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
"effective_at": { "$ref": "common.schema.json#/$defs/date" },
"expires_at": { "$ref": "common.schema.json#/$defs/date" },
"source": { "$ref": "common.schema.json#/$defs/sourceReference" }
}
}
},
"nutrition_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"allergen_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true }
}
}
+143
View File
@@ -0,0 +1,143 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/recipe.schema.json",
"title": "Canonical recipe",
"type": "object",
"required": ["schema_version", "id", "revision", "status", "title", "yield", "components", "steps", "categories", "tags"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"revision": { "$ref": "common.schema.json#/$defs/revision" },
"status": { "type": "string", "enum": ["draft", "testing", "active", "retired", "archived"] },
"title": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"summary": { "type": "string" },
"categories": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
"tags": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
"yield": {
"type": "object",
"required": ["amount"],
"additionalProperties": false,
"properties": {
"amount": { "$ref": "common.schema.json#/$defs/amount" },
"servings": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
"serving_size": { "$ref": "common.schema.json#/$defs/amount" },
"description": { "type": "string" },
"yield_factor": { "type": "number", "exclusiveMinimum": 0 },
"basis": { "type": "string", "enum": ["measured", "estimated", "theoretical"] }
}
},
"scaling": {
"type": "object",
"required": ["mode"],
"additionalProperties": false,
"properties": {
"mode": { "type": "string", "enum": ["amount", "percentage", "hybrid"] },
"basis_id": { "$ref": "common.schema.json#/$defs/id" },
"basis_amount": { "$ref": "common.schema.json#/$defs/amount" }
}
},
"components": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "name", "items"],
"additionalProperties": false,
"properties": {
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"yield": { "$ref": "common.schema.json#/$defs/amount" },
"items": {
"type": "array",
"minItems": 1,
"items": { "$ref": "#/$defs/componentItem" }
},
"notes": { "type": "array", "items": { "type": "string" } }
}
}
},
"steps": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "order", "instruction"],
"additionalProperties": false,
"properties": {
"id": { "$ref": "common.schema.json#/$defs/id" },
"order": { "type": "integer", "minimum": 1 },
"instruction": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"component_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"item_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"equipment_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"duration": { "$ref": "common.schema.json#/$defs/amount" },
"temperature": { "$ref": "common.schema.json#/$defs/amount" },
"critical_control_point": { "type": "boolean" }
}
}
},
"equipment_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
"shelf_life": {
"type": "object",
"required": ["duration"],
"additionalProperties": false,
"properties": {
"duration": { "$ref": "common.schema.json#/$defs/amount" },
"storage_condition": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"notes": { "type": "string" }
}
},
"media": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/media" } },
"notes": { "type": "array", "items": { "type": "string" } },
"extensions": { "type": "object", "additionalProperties": true }
},
"$defs": {
"componentItem": {
"type": "object",
"required": ["id", "reference", "amount"],
"additionalProperties": false,
"properties": {
"id": { "$ref": "common.schema.json#/$defs/id" },
"reference": {
"oneOf": [
{
"type": "object",
"required": ["ingredient_id"],
"additionalProperties": false,
"properties": { "ingredient_id": { "$ref": "common.schema.json#/$defs/id" } }
},
{
"type": "object",
"required": ["recipe_id"],
"additionalProperties": false,
"properties": {
"recipe_id": { "$ref": "common.schema.json#/$defs/id" },
"revision": { "$ref": "common.schema.json#/$defs/revision" },
"component_id": { "$ref": "common.schema.json#/$defs/id" }
}
}
]
},
"amount": { "$ref": "common.schema.json#/$defs/amount" },
"percentage": { "type": "number", "minimum": 0 },
"basis_member": { "type": "boolean" },
"prep": {
"type": "array",
"items": {
"type": "object",
"required": ["action_id"],
"additionalProperties": false,
"properties": {
"action_id": { "$ref": "common.schema.json#/$defs/id" },
"yield_factor": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
"notes": { "type": "string" }
}
}
},
"optional": { "type": "boolean", "default": false },
"notes": { "type": "string" }
}
}
}
}
@@ -0,0 +1,64 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/source-mapping.schema.json",
"title": "Nutrition or allergen source mapping",
"type": "object",
"required": ["schema_version", "id", "subject", "mapping_type", "source", "status"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"subject": {
"type": "object",
"required": ["type", "id"],
"additionalProperties": false,
"properties": {
"type": { "type": "string", "enum": ["ingredient", "purchase_item", "recipe"] },
"id": { "$ref": "common.schema.json#/$defs/id" }
}
},
"mapping_type": { "type": "string", "enum": ["nutrition", "allergen"] },
"status": { "type": "string", "enum": ["candidate", "reviewed", "rejected", "superseded"] },
"source": { "$ref": "common.schema.json#/$defs/sourceReference" },
"usda": {
"type": "object",
"required": ["fdc_id", "data_type", "description"],
"additionalProperties": false,
"properties": {
"fdc_id": { "type": "integer", "minimum": 1 },
"data_type": { "type": "string", "enum": ["Foundation", "SR Legacy", "FNDDS", "Branded", "Experimental"] },
"description": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"brand_owner": { "type": "string" },
"gtin_upc": { "type": "string" }
}
},
"nutrition_per_100g": {
"type": "object",
"additionalProperties": { "type": ["number", "null"], "minimum": 0 },
"propertyNames": { "pattern": "^[a-z][a-z0-9_]*_(?:g|mg|mcg|kcal|kj)$" }
},
"allergens": {
"type": "array",
"items": {
"type": "object",
"required": ["allergen_id", "presence"],
"additionalProperties": false,
"properties": {
"allergen_id": { "$ref": "common.schema.json#/$defs/id" },
"presence": { "type": "string", "enum": ["contains", "may_contain", "free_from", "unknown"] }
}
}
}
},
"allOf": [
{
"if": { "properties": { "source": { "properties": { "source_type": { "const": "usda_fdc" } } } } },
"then": { "required": ["usda"] }
},
{
"if": { "properties": { "mapping_type": { "const": "nutrition" } } },
"then": { "required": ["nutrition_per_100g"] },
"else": { "required": ["allergens"] }
}
]
}
+16
View File
@@ -0,0 +1,16 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/supplier.schema.json",
"title": "Supplier",
"type": "object",
"required": ["schema_version", "id", "name", "status"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"status": { "type": "string", "enum": ["active", "inactive"] },
"website": { "type": "string", "format": "uri" },
"notes": { "type": "array", "items": { "type": "string" } }
}
}
+27
View File
@@ -0,0 +1,27 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://recipes.uuard.com/schemas/v2/unit.schema.json",
"title": "Normalized unit",
"type": "object",
"required": ["schema_version", "id", "name", "symbol", "dimension", "system"],
"additionalProperties": false,
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/id" },
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"symbol": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
"aliases": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
"dimension": { "type": "string", "enum": ["mass", "volume", "count", "temperature", "time", "length"] },
"system": { "type": "string", "enum": ["metric", "us_customary", "imperial", "universal"] },
"base_conversion": {
"type": "object",
"required": ["base_unit_id", "factor"],
"additionalProperties": false,
"properties": {
"base_unit_id": { "$ref": "common.schema.json#/$defs/id" },
"factor": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
"offset": { "type": "number", "default": 0 }
}
}
}
}
+14
View File
@@ -0,0 +1,14 @@
# Canonical culinary data
This directory contains portable, presentation-neutral schema-version 2 data.
Astro reads these records at build time, but its pages and components are not
canonical culinary storage.
The records in this directory are the sole canonical culinary source. Do not
create an ingredient for a prepared component when it can be represented as a
recipe reference.
Directories correspond to entity types and, later, relational tables. Objects
that are edited as one aggregate (recipe components, lines, and steps) remain
embedded in a recipe document. Independently reusable facts use stable IDs and
normalized references.
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: blender
name: Blender
category: powered
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: food_processor
name: Food processor
category: powered
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: griddle
name: Griddle
category: cooking
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: kitchen_scale
name: Kitchen scale
category: measuring
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: mixing_bowl
name: Mixing bowl
category: preparation
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: oven
name: Oven
category: cooking
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: saucepan
name: Saucepan
category: cooking
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: sheet_pan
name: Sheet pan
category: bakeware
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: skillet
name: Skillet
category: cooking
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: stand_mixer
name: Stand mixer
category: powered
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: stockpot
name: Stockpot
category: cooking
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: thermometer
name: Thermometer
category: measuring
+4
View File
@@ -0,0 +1,4 @@
schema_version: 2
id: whisk
name: Whisk
category: utensil
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: agar
name: Seaweed, agar, dried
status: active
categories:
- unknown
aliases:
- name: agar
kind: search
nutrition_mapping_ids:
- usda_fdc_agar_170090
allergen_mapping_ids: []
+47
View File
@@ -0,0 +1,47 @@
schema_version: 2
id: allspice
name: Spices, allspice, ground
status: active
categories:
- flavoring
aliases:
- name: allspice
kind: search
nutrition_mapping_ids:
- usda_fdc_allspice_171315
allergen_mapping_ids: []
measure_conversions:
- id: usda_171315_88417
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 1.9
unit_id: gram
source:
source_type: usda_fdc
external_id: '171315'
url: https://fdc.nal.usda.gov/food-details/171315/measures
title: Spices, allspice, ground
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88417.
reviewed_at: '2026-08-12'
- id: usda_171315_88418
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 6.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '171315'
url: https://fdc.nal.usda.gov/food-details/171315/measures
title: Spices, allspice, ground
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88418.
reviewed_at: '2026-08-12'
+9
View File
@@ -0,0 +1,9 @@
schema_version: 2
id: almond_extract
name: almond extract
status: active
categories:
- flavoring
aliases: []
nutrition_mapping_ids: []
allergen_mapping_ids: []
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: apricot_jam
name: Jams and preserves, apricot
status: active
categories:
- unknown
aliases:
- name: apricot jam
kind: search
nutrition_mapping_ids:
- usda_fdc_apricot_jam_170645
allergen_mapping_ids: []
measure_conversions:
- id: usda_170645_87021
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 20.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '170645'
url: https://fdc.nal.usda.gov/food-details/170645/measures
title: Jams and preserves, apricot
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87021.
reviewed_at: '2026-08-12'
+9
View File
@@ -0,0 +1,9 @@
schema_version: 2
id: ascorbic_acid
name: ascorbic acid
status: active
categories:
- acid
aliases: []
nutrition_mapping_ids: []
allergen_mapping_ids: []
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: avocado
name: Avocado, Hass, peeled, raw
status: active
categories:
- produce
aliases:
- name: avocado
kind: search
nutrition_mapping_ids:
- usda_fdc_avocado_2710824
allergen_mapping_ids: []
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: bacon
name: Pork, cured, bacon, unprepared
status: active
categories:
- meat
aliases:
- name: regular salted pork bacon
kind: common
- name: bacon, pork, cured, raw
kind: search
nutrition_mapping_ids:
- usda_fdc_bacon_168277
allergen_mapping_ids: []
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: baking_powder
name: Leavening agents, baking powder, double-acting, sodium aluminum sulfate
status: active
categories:
- leavening
aliases:
- name: baking powder
kind: search
nutrition_mapping_ids:
- usda_fdc_baking_powder_172803
allergen_mapping_ids: []
measure_conversions:
- id: usda_172803_91438
from:
quantity: 0.5
unit_id: teaspoon_us
to:
quantity: 2.3
unit_id: gram
source:
source_type: usda_fdc
external_id: '172803'
url: https://fdc.nal.usda.gov/food-details/172803/measures
title: Leavening agents, baking powder, double-acting, sodium aluminum sulfate
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 91438.
reviewed_at: '2026-08-12'
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: baking_soda
name: Leavening agents, baking soda
status: active
categories:
- leavening
aliases:
- name: baking soda
kind: search
nutrition_mapping_ids:
- usda_fdc_baking_soda_175040
allergen_mapping_ids: []
measure_conversions:
- id: usda_175040_95485
from:
quantity: 0.5
unit_id: teaspoon_us
to:
quantity: 2.3
unit_id: gram
source:
source_type: usda_fdc
external_id: '175040'
url: https://fdc.nal.usda.gov/food-details/175040/measures
title: Leavening agents, baking soda
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 95485.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: banana
name: Bananas, ripe and slightly ripe, raw
status: active
categories:
- other
aliases:
- name: banana
kind: search
nutrition_mapping_ids:
- usda_fdc_banana_1105314
allergen_mapping_ids: []
@@ -0,0 +1,12 @@
schema_version: 2
id: barley_malt_powder
name: BARLEY MALT POWDER
status: active
categories:
- baking
aliases:
- name: malted barley powder
kind: common
nutrition_mapping_ids:
- usda_fdc_barley_malt_powder_2027592
allergen_mapping_ids: []
@@ -0,0 +1,47 @@
schema_version: 2
id: barley_malt_syrup
name: Syrups, malt
status: active
categories:
- sweetener
aliases:
- name: barley malt syrup
kind: search
nutrition_mapping_ids:
- usda_fdc_barley_malt_syrup_169660
allergen_mapping_ids: []
measure_conversions:
- id: usda_169660_85302
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 21.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '169660'
url: https://fdc.nal.usda.gov/food-details/169660/measures
title: Syrups, malt
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85302.
reviewed_at: '2026-08-12'
- id: usda_169660_85301
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 332.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '169660'
url: https://fdc.nal.usda.gov/food-details/169660/measures
title: Syrups, malt
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85301.
reviewed_at: '2026-08-12'
+49
View File
@@ -0,0 +1,49 @@
schema_version: 2
id: basil
name: Spices, basil, dried
status: active
categories:
- unknown
aliases:
- name: basil
kind: search
nutrition_mapping_ids:
- usda_fdc_basil_171317
allergen_mapping_ids: []
measure_conversions:
- id: usda_171317_88422
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 2.1
unit_id: gram
state: leaves
source:
source_type: usda_fdc
external_id: '171317'
url: https://fdc.nal.usda.gov/food-details/171317/measures
title: Spices, basil, dried
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88422.
reviewed_at: '2026-08-12'
- id: usda_171317_88421
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 0.7
unit_id: gram
state: leaves
source:
source_type: usda_fdc
external_id: '171317'
url: https://fdc.nal.usda.gov/food-details/171317/measures
title: Spices, basil, dried
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88421.
reviewed_at: '2026-08-12'
@@ -0,0 +1,14 @@
schema_version: 2
id: bbq_sauce_hickory_smoke
name: SWEET BABY RAY'S, HICKORY & BROWN SUGAR BARBECUE SAUCE
status: active
categories:
- sauce
aliases:
- name: Sweet Baby Ray's Hickory and Brown Sugar BBQ sauce
kind: common
- name: Sweet Baby Ray's Hickory & Brown Sugar Barbecue Sauce
kind: search
nutrition_mapping_ids:
- usda_fdc_bbq_sauce_hickory_smoke_2020420
allergen_mapping_ids: []
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: beef_base
name: BEEF BASE, BEEF
status: active
categories:
- seasoning
aliases:
- name: Member's Mark beef soup base
kind: common
- name: Member's Mark Beef Base
kind: search
nutrition_mapping_ids:
- usda_fdc_beef_base_2422131
allergen_mapping_ids: []
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: beer
name: Alcoholic beverage, beer, regular, all
status: active
categories:
- unknown
aliases:
- name: beer
kind: search
nutrition_mapping_ids:
- usda_fdc_beer_168746
allergen_mapping_ids: []
measure_conversions:
- id: usda_168746_83686
from:
quantity: 1.0
unit_id: fluid_ounce_us
to:
quantity: 29.7
unit_id: gram
source:
source_type: usda_fdc
external_id: '168746'
url: https://fdc.nal.usda.gov/food-details/168746/measures
title: Alcoholic beverage, beer, regular, all
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 83686.
reviewed_at: '2026-08-12'
@@ -0,0 +1,49 @@
schema_version: 2
id: black_pepper_ground
name: Spices, pepper, black
status: active
categories:
- spice
aliases:
- name: black pepper, ground
kind: search
nutrition_mapping_ids:
- usda_fdc_black_pepper_ground_170931
allergen_mapping_ids: []
measure_conversions:
- id: usda_170931_87561
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 6.9
unit_id: gram
state: ground
source:
source_type: usda_fdc
external_id: '170931'
url: https://fdc.nal.usda.gov/food-details/170931/measures
title: Spices, pepper, black
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87561.
reviewed_at: '2026-08-12'
- id: usda_170931_87560
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.3
unit_id: gram
state: ground
source:
source_type: usda_fdc
external_id: '170931'
url: https://fdc.nal.usda.gov/food-details/170931/measures
title: Spices, pepper, black
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87560.
reviewed_at: '2026-08-12'
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: blueberry
name: Blueberries, raw
status: active
categories:
- fruit
aliases:
- name: blueberry
kind: common
- name: blueberries
kind: search
nutrition_mapping_ids:
- usda_fdc_blueberry_2346411
allergen_mapping_ids: []
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: bread_crumbs
name: Bread, crumbs, dry, grated, plain
status: active
categories:
- unknown
aliases:
- name: bread crumbs
kind: search
nutrition_mapping_ids:
- usda_fdc_bread_crumbs_174928
allergen_mapping_ids: []
measure_conversions:
- id: usda_174928_95194
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 108.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '174928'
url: https://fdc.nal.usda.gov/food-details/174928/measures
title: Bread, crumbs, dry, grated, plain
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 95194.
reviewed_at: '2026-08-12'
+51
View File
@@ -0,0 +1,51 @@
schema_version: 2
id: brown_sugar
name: Sugars, brown
status: active
categories:
- sweetener
aliases:
- name: brown sugar
kind: search
- name: light brown sugar
kind: search
nutrition_mapping_ids:
- usda_fdc_brown_sugar_168833
allergen_mapping_ids: []
measure_conversions:
- id: usda_168833_83855
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 220.0
unit_id: gram
state: packed
source:
source_type: usda_fdc
external_id: '168833'
url: https://fdc.nal.usda.gov/food-details/168833/measures
title: Sugars, brown
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 83855.
reviewed_at: '2026-08-12'
- id: usda_168833_83857
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 4.6
unit_id: gram
state: packed
source:
source_type: usda_fdc
external_id: '168833'
url: https://fdc.nal.usda.gov/food-details/168833/measures
title: Sugars, brown
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 83857.
reviewed_at: '2026-08-12'
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: butter
name: Butter, stick, unsalted
status: active
categories:
- fat
aliases:
- name: unsalted butter
kind: common
- name: butter, unsalted
kind: search
nutrition_mapping_ids:
- usda_fdc_butter_789828
allergen_mapping_ids: []
+9
View File
@@ -0,0 +1,9 @@
schema_version: 2
id: butter_extract
name: butter extract
status: active
categories:
- flavoring
aliases: []
nutrition_mapping_ids: []
allergen_mapping_ids: []
@@ -0,0 +1,14 @@
schema_version: 2
id: butter_flavored_shortening
name: Crisco Shortening, All Vegetable, Butter Flavor
status: active
categories:
- fat
aliases:
- name: Crisco butter-flavor shortening
kind: common
- name: Crisco Butter Flavor All-Vegetable Shortening
kind: search
nutrition_mapping_ids:
- usda_fdc_butter_flavored_shortening_2756254
allergen_mapping_ids: []
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: buttermilk
name: Buttermilk, low fat
status: active
categories:
- liquid
aliases:
- name: low-fat buttermilk
kind: common
- name: buttermilk, low-fat
kind: search
nutrition_mapping_ids:
- usda_fdc_buttermilk_2259792
allergen_mapping_ids: []
@@ -0,0 +1,47 @@
schema_version: 2
id: buttermilk_powder
name: Milk, buttermilk, dried
status: active
categories:
- liquid
aliases:
- name: buttermilk powder
kind: search
nutrition_mapping_ids:
- usda_fdc_buttermilk_powder_171274
allergen_mapping_ids: []
measure_conversions:
- id: usda_171274_88339
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 120.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '171274'
url: https://fdc.nal.usda.gov/food-details/171274/measures
title: Milk, buttermilk, dried
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88339.
reviewed_at: '2026-08-12'
- id: usda_171274_88340
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 6.5
unit_id: gram
source:
source_type: usda_fdc
external_id: '171274'
url: https://fdc.nal.usda.gov/food-details/171274/measures
title: Milk, buttermilk, dried
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88340.
reviewed_at: '2026-08-12'
+32
View File
@@ -0,0 +1,32 @@
schema_version: 2
id: canola_oil
name: Oil, canola
status: active
categories:
- oil
aliases:
- name: rapeseed oil, low erucic acid
kind: common
- name: canola oil
kind: search
nutrition_mapping_ids:
- usda_fdc_canola_oil_748278
allergen_mapping_ids: []
measure_conversions:
- id: usda_748278_192340
from:
quantity: 100.0
unit_id: milliliter
to:
quantity: 90.9
unit_id: gram
source:
source_type: usda_fdc
external_id: '748278'
url: https://fdc.nal.usda.gov/food-details/748278/measures
title: Oil, canola
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 192340.
reviewed_at: '2026-08-12'
+49
View File
@@ -0,0 +1,49 @@
schema_version: 2
id: cardamom
name: Spices, cardamom
status: active
categories:
- unknown
aliases:
- name: cardamom
kind: search
nutrition_mapping_ids:
- usda_fdc_cardamom_170919
allergen_mapping_ids: []
measure_conversions:
- id: usda_170919_87536
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.0
unit_id: gram
state: ground
source:
source_type: usda_fdc
external_id: '170919'
url: https://fdc.nal.usda.gov/food-details/170919/measures
title: Spices, cardamom
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87536.
reviewed_at: '2026-08-12'
- id: usda_170919_87537
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 5.8
unit_id: gram
state: ground
source:
source_type: usda_fdc
external_id: '170919'
url: https://fdc.nal.usda.gov/food-details/170919/measures
title: Spices, cardamom
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87537.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: carrot
name: Carrots, mature, raw
status: active
categories:
- unknown
aliases:
- name: carrot
kind: search
nutrition_mapping_ids:
- usda_fdc_carrot_2258586
allergen_mapping_ids: []
+47
View File
@@ -0,0 +1,47 @@
schema_version: 2
id: cayenne
name: Spices, pepper, red or cayenne
status: active
categories:
- unknown
aliases:
- name: cayenne
kind: search
nutrition_mapping_ids:
- usda_fdc_cayenne_170932
allergen_mapping_ids: []
measure_conversions:
- id: usda_170932_87565
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 5.3
unit_id: gram
source:
source_type: usda_fdc
external_id: '170932'
url: https://fdc.nal.usda.gov/food-details/170932/measures
title: Spices, pepper, red or cayenne
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87565.
reviewed_at: '2026-08-12'
- id: usda_170932_87564
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 1.8
unit_id: gram
source:
source_type: usda_fdc
external_id: '170932'
url: https://fdc.nal.usda.gov/food-details/170932/measures
title: Spices, pepper, red or cayenne
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87564.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: cheddar_cheese
name: Cheese, cheddar
status: active
categories:
- unknown
aliases:
- name: cheddar cheese
kind: search
nutrition_mapping_ids:
- usda_fdc_cheddar_cheese_328637
allergen_mapping_ids: []
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: chicken_base
name: CHICKEN BASE
status: active
categories:
- seasoning
aliases:
- name: Member's Mark chicken soup base
kind: common
- name: Member's Mark Chicken Base
kind: search
nutrition_mapping_ids:
- usda_fdc_chicken_base_1948045
allergen_mapping_ids: []
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: chicken_breast
name: Chicken, breast, boneless, skinless, raw
status: active
categories:
- unknown
aliases:
- name: boneless skinless chicken breast
kind: common
- name: chicken breast, boneless skinless, raw
kind: search
nutrition_mapping_ids:
- usda_fdc_chicken_breast_2646170
allergen_mapping_ids: []
+9
View File
@@ -0,0 +1,9 @@
schema_version: 2
id: chili_crisp
name: chili crisp, generic
status: active
categories:
- condiment
aliases: []
nutrition_mapping_ids: []
allergen_mapping_ids: []
+47
View File
@@ -0,0 +1,47 @@
schema_version: 2
id: chili_powder
name: Spices, chili powder
status: active
categories:
- spice
aliases:
- name: chili powder
kind: search
nutrition_mapping_ids:
- usda_fdc_chili_powder_171319
allergen_mapping_ids: []
measure_conversions:
- id: usda_171319_88428
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 8.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '171319'
url: https://fdc.nal.usda.gov/food-details/171319/measures
title: Spices, chili powder
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88428.
reviewed_at: '2026-08-12'
- id: usda_171319_88427
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.7
unit_id: gram
source:
source_type: usda_fdc
external_id: '171319'
url: https://fdc.nal.usda.gov/food-details/171319/measures
title: Spices, chili powder
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88427.
reviewed_at: '2026-08-12'
@@ -0,0 +1,14 @@
schema_version: 2
id: chipotle_pepper_adobo
name: CHIPOTLES PEPPERS IN ADOBO SAUCE, CHIPOTLES PEPPERS IN ADOBO
status: active
categories:
- unknown
aliases:
- name: canned chipotles in adobo
kind: common
- name: "La Coste\xF1a chipotle peppers in adobo sauce"
kind: search
nutrition_mapping_ids:
- usda_fdc_chipotle_pepper_adobo_2420526
allergen_mapping_ids: []
@@ -0,0 +1,30 @@
schema_version: 2
id: chipotle_pepper_sauce_tobasco
name: Sauce, ready-to-serve, pepper, TABASCO
status: active
categories:
- unknown
aliases:
- name: chipotle pepper sauce, tobasco
kind: search
nutrition_mapping_ids:
- usda_fdc_chipotle_pepper_sauce_tobasco_174528
allergen_mapping_ids: []
measure_conversions:
- id: usda_174528_94522
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 4.7
unit_id: gram
source:
source_type: usda_fdc
external_id: '174528'
url: https://fdc.nal.usda.gov/food-details/174528/measures
title: Sauce, ready-to-serve, pepper, TABASCO
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 94522.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: chipotle_powder
name: GROUND CHIPOTLE CHILE
status: active
categories:
- spice
aliases:
- name: chipotle powder
kind: search
nutrition_mapping_ids:
- usda_fdc_chipotle_powder_2545016
allergen_mapping_ids: []
+36
View File
@@ -0,0 +1,36 @@
schema_version: 2
id: cilantro
name: Coriander (cilantro) leaves, raw
status: active
categories:
- produce
aliases:
- name: cilantro
kind: common
- name: fresh coriander leaves
kind: common
- name: cilantro, fresh
kind: search
- name: cilantro, chopped
kind: search
nutrition_mapping_ids:
- usda_fdc_cilantro_169997
allergen_mapping_ids: []
measure_conversions:
- id: usda_169997_85844
from:
quantity: 0.25
unit_id: cup_us
to:
quantity: 4.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '169997'
url: https://fdc.nal.usda.gov/food-details/169997/measures
title: Coriander (cilantro) leaves, raw
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85844.
reviewed_at: '2026-08-12'
+47
View File
@@ -0,0 +1,47 @@
schema_version: 2
id: cinnamon
name: Spices, cinnamon, ground
status: active
categories:
- flavoring
aliases:
- name: cinnamon
kind: search
nutrition_mapping_ids:
- usda_fdc_cinnamon_171320
allergen_mapping_ids: []
measure_conversions:
- id: usda_171320_88429
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.6
unit_id: gram
source:
source_type: usda_fdc
external_id: '171320'
url: https://fdc.nal.usda.gov/food-details/171320/measures
title: Spices, cinnamon, ground
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88429.
reviewed_at: '2026-08-12'
- id: usda_171320_88430
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 7.8
unit_id: gram
source:
source_type: usda_fdc
external_id: '171320'
url: https://fdc.nal.usda.gov/food-details/171320/measures
title: Spices, cinnamon, ground
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88430.
reviewed_at: '2026-08-12'
+9
View File
@@ -0,0 +1,9 @@
schema_version: 2
id: citric_acid
name: citric acid
status: active
categories:
- other
aliases: []
nutrition_mapping_ids: []
allergen_mapping_ids: []
+49
View File
@@ -0,0 +1,49 @@
schema_version: 2
id: cloves
name: Spices, cloves, ground
status: active
categories:
- other
aliases:
- name: clove
kind: common
- name: cloves
kind: search
nutrition_mapping_ids:
- usda_fdc_cloves_171321
allergen_mapping_ids: []
measure_conversions:
- id: usda_171321_88431
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.1
unit_id: gram
source:
source_type: usda_fdc
external_id: '171321'
url: https://fdc.nal.usda.gov/food-details/171321/measures
title: Spices, cloves, ground
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88431.
reviewed_at: '2026-08-12'
- id: usda_171321_88432
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 6.5
unit_id: gram
source:
source_type: usda_fdc
external_id: '171321'
url: https://fdc.nal.usda.gov/food-details/171321/measures
title: Spices, cloves, ground
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88432.
reviewed_at: '2026-08-12'
+47
View File
@@ -0,0 +1,47 @@
schema_version: 2
id: cocoa_powder
name: Cocoa, dry powder, unsweetened
status: active
categories:
- other
aliases:
- name: cocoa powder
kind: search
nutrition_mapping_ids:
- usda_fdc_cocoa_powder_169593
allergen_mapping_ids: []
measure_conversions:
- id: usda_169593_85187
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 5.4
unit_id: gram
source:
source_type: usda_fdc
external_id: '169593'
url: https://fdc.nal.usda.gov/food-details/169593/measures
title: Cocoa, dry powder, unsweetened
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85187.
reviewed_at: '2026-08-12'
- id: usda_169593_85186
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 86.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '169593'
url: https://fdc.nal.usda.gov/food-details/169593/measures
title: Cocoa, dry powder, unsweetened
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85186.
reviewed_at: '2026-08-12'
+49
View File
@@ -0,0 +1,49 @@
schema_version: 2
id: coconut_milk
name: Nuts, coconut milk, canned (liquid expressed from grated meat and water)
status: active
categories:
- unknown
aliases:
- name: canned coconut milk
kind: common
- name: coconut milk, canned
kind: search
nutrition_mapping_ids:
- usda_fdc_coconut_milk_170173
allergen_mapping_ids: []
measure_conversions:
- id: usda_170173_86171
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 226.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '170173'
url: https://fdc.nal.usda.gov/food-details/170173/measures
title: Nuts, coconut milk, canned (liquid expressed from grated meat and water)
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 86171.
reviewed_at: '2026-08-12'
- id: usda_170173_86172
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 15.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '170173'
url: https://fdc.nal.usda.gov/food-details/170173/measures
title: Nuts, coconut milk, canned (liquid expressed from grated meat and water)
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 86172.
reviewed_at: '2026-08-12'
@@ -0,0 +1,66 @@
schema_version: 2
id: confectioners_sugar
name: Sugars, powdered
status: active
categories:
- unknown
aliases:
- name: confectioners' sugar
kind: search
nutrition_mapping_ids:
- usda_fdc_confectioners_sugar_169656
allergen_mapping_ids: []
measure_conversions:
- id: usda_169656_85291
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 100.0
unit_id: gram
state: sifted
source:
source_type: usda_fdc
external_id: '169656'
url: https://fdc.nal.usda.gov/food-details/169656/measures
title: Sugars, powdered
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85291.
reviewed_at: '2026-08-12'
- id: usda_169656_85293
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.5
unit_id: gram
source:
source_type: usda_fdc
external_id: '169656'
url: https://fdc.nal.usda.gov/food-details/169656/measures
title: Sugars, powdered
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85293.
reviewed_at: '2026-08-12'
- id: usda_169656_85292
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 8.0
unit_id: gram
state: unsifted
source:
source_type: usda_fdc
external_id: '169656'
url: https://fdc.nal.usda.gov/food-details/169656/measures
title: Sugars, powdered
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85292.
reviewed_at: '2026-08-12'
@@ -0,0 +1,49 @@
schema_version: 2
id: cooked_pinto_beans_drained
name: Beans, pinto, mature seeds, cooked, boiled, without salt
status: active
categories:
- unknown
aliases:
- name: home-cooked pinto beans
kind: common
- name: pinto beans, cooked from dry, drained
kind: search
nutrition_mapping_ids:
- usda_fdc_cooked_pinto_beans_drained_175200
allergen_mapping_ids: []
measure_conversions:
- id: usda_175200_95833
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 10.6
unit_id: gram
source:
source_type: usda_fdc
external_id: '175200'
url: https://fdc.nal.usda.gov/food-details/175200/measures
title: Beans, pinto, mature seeds, cooked, boiled, without salt
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 95833.
reviewed_at: '2026-08-12'
- id: usda_175200_95832
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 171.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '175200'
url: https://fdc.nal.usda.gov/food-details/175200/measures
title: Beans, pinto, mature seeds, cooked, boiled, without salt
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 95832.
reviewed_at: '2026-08-12'
+47
View File
@@ -0,0 +1,47 @@
schema_version: 2
id: coriander
name: Spices, coriander seed
status: active
categories:
- unknown
aliases:
- name: coriander
kind: search
nutrition_mapping_ids:
- usda_fdc_coriander_170922
allergen_mapping_ids: []
measure_conversions:
- id: usda_170922_87543
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 5.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '170922'
url: https://fdc.nal.usda.gov/food-details/170922/measures
title: Spices, coriander seed
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87543.
reviewed_at: '2026-08-12'
- id: usda_170922_87542
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 1.8
unit_id: gram
source:
source_type: usda_fdc
external_id: '170922'
url: https://fdc.nal.usda.gov/food-details/170922/measures
title: Spices, coriander seed
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87542.
reviewed_at: '2026-08-12'
@@ -0,0 +1,47 @@
schema_version: 2
id: corn_syrup_light
name: Syrups, corn, light
status: active
categories:
- unknown
aliases:
- name: corn syrup, light
kind: search
nutrition_mapping_ids:
- usda_fdc_corn_syrup_light_168837
allergen_mapping_ids: []
measure_conversions:
- id: usda_168837_83865
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 22.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '168837'
url: https://fdc.nal.usda.gov/food-details/168837/measures
title: Syrups, corn, light
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 83865.
reviewed_at: '2026-08-12'
- id: usda_168837_83864
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 341.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '168837'
url: https://fdc.nal.usda.gov/food-details/168837/measures
title: Syrups, corn, light
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 83864.
reviewed_at: '2026-08-12'
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: cornstarch
name: Cornstarch
status: active
categories:
- starch
aliases:
- name: corn starch
kind: search
nutrition_mapping_ids:
- usda_fdc_cornstarch_169698
allergen_mapping_ids: []
measure_conversions:
- id: usda_169698_85370
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 128.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '169698'
url: https://fdc.nal.usda.gov/food-details/169698/measures
title: Cornstarch
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85370.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: cream_cheese
name: Cream cheese, full fat, block
status: active
categories:
- liquid
aliases:
- name: cream cheese
kind: search
nutrition_mapping_ids:
- usda_fdc_cream_cheese_2346385
allergen_mapping_ids: []
+49
View File
@@ -0,0 +1,49 @@
schema_version: 2
id: cumin
name: Spices, cumin seed
status: active
categories:
- spice
aliases:
- name: cumin
kind: search
nutrition_mapping_ids:
- usda_fdc_cumin_170923
allergen_mapping_ids: []
measure_conversions:
- id: usda_170923_87544
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.1
unit_id: gram
state: whole
source:
source_type: usda_fdc
external_id: '170923'
url: https://fdc.nal.usda.gov/food-details/170923/measures
title: Spices, cumin seed
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87544.
reviewed_at: '2026-08-12'
- id: usda_170923_87545
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 6.0
unit_id: gram
state: whole
source:
source_type: usda_fdc
external_id: '170923'
url: https://fdc.nal.usda.gov/food-details/170923/measures
title: Spices, cumin seed
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 87545.
reviewed_at: '2026-08-12'
+14
View File
@@ -0,0 +1,14 @@
schema_version: 2
id: dark_chocolate
name: Chocolate, dark, 70-85% cacao solids
status: active
categories:
- inclusion
aliases:
- name: "70\u201385% dark chocolate"
kind: common
- name: "dark chocolate, 70\u201385% cacao"
kind: search
nutrition_mapping_ids:
- usda_fdc_dark_chocolate_170273
allergen_mapping_ids: []
@@ -0,0 +1,47 @@
schema_version: 2
id: dark_cocoa_powder
name: Cocoa, dry powder, unsweetened, processed with alkali
status: active
categories:
- unknown
aliases:
- name: dark cocoa powder
kind: search
nutrition_mapping_ids:
- usda_fdc_dark_cocoa_powder_169594
allergen_mapping_ids: []
measure_conversions:
- id: usda_169594_85189
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 5.4
unit_id: gram
source:
source_type: usda_fdc
external_id: '169594'
url: https://fdc.nal.usda.gov/food-details/169594/measures
title: Cocoa, dry powder, unsweetened, processed with alkali
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85189.
reviewed_at: '2026-08-12'
- id: usda_169594_85188
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 86.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '169594'
url: https://fdc.nal.usda.gov/food-details/169594/measures
title: Cocoa, dry powder, unsweetened, processed with alkali
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85188.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: dextrose
name: DEXTROSE PURE AND NATURAL SWEETENER, DEXTROSE
status: active
categories:
- unknown
aliases:
- name: dextrose
kind: search
nutrition_mapping_ids:
- usda_fdc_dextrose_1991846
allergen_mapping_ids: []
+31
View File
@@ -0,0 +1,31 @@
schema_version: 2
id: dill
name: Dill weed, fresh
status: active
categories:
- unknown
aliases:
- name: dill
kind: search
nutrition_mapping_ids:
- usda_fdc_dill_172233
allergen_mapping_ids: []
measure_conversions:
- id: usda_172233_90129
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 8.9
unit_id: gram
state: sprigs
source:
source_type: usda_fdc
external_id: '172233'
url: https://fdc.nal.usda.gov/food-details/172233/measures
title: Dill weed, fresh
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 90129.
reviewed_at: '2026-08-12'
+34
View File
@@ -0,0 +1,34 @@
schema_version: 2
id: dried_chilis
name: Peppers, hot chile, sun-dried
status: active
categories:
- unknown
aliases:
- name: dried Chinese red chiles
kind: common
- name: dried hot red chiles
kind: search
- name: Tien Tsin chile peppers, dried whole
kind: search
nutrition_mapping_ids:
- usda_fdc_dried_chilis_168570
allergen_mapping_ids: []
measure_conversions:
- id: usda_168570_83346
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 37.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '168570'
url: https://fdc.nal.usda.gov/food-details/168570/measures
title: Peppers, hot chile, sun-dried
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 83346.
reviewed_at: '2026-08-12'
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: egg_whites
name: Egg, white, raw, fresh
status: active
categories:
- unknown
aliases:
- name: egg whites
kind: search
nutrition_mapping_ids:
- usda_fdc_egg_whites_172183
allergen_mapping_ids: []
measure_conversions:
- id: usda_172183_90044
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 243.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '172183'
url: https://fdc.nal.usda.gov/food-details/172183/measures
title: Egg, white, raw, fresh
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 90044.
reviewed_at: '2026-08-12'
+31
View File
@@ -0,0 +1,31 @@
schema_version: 2
id: egg_whole
name: Egg, whole, raw, fresh
status: active
categories:
- egg
aliases:
- name: egg, whole
kind: search
nutrition_mapping_ids:
- usda_fdc_egg_whole_171287
allergen_mapping_ids: []
measure_conversions:
- id: usda_171287_88377
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 243.0
unit_id: gram
state: (4.86 large eggs)
source:
source_type: usda_fdc
external_id: '171287'
url: https://fdc.nal.usda.gov/food-details/171287/measures
title: Egg, whole, raw, fresh
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88377.
reviewed_at: '2026-08-12'
+30
View File
@@ -0,0 +1,30 @@
schema_version: 2
id: egg_yolk
name: Egg, yolk, raw, fresh
status: active
categories:
- unknown
aliases:
- name: egg yolk
kind: search
nutrition_mapping_ids:
- usda_fdc_egg_yolk_172184
allergen_mapping_ids: []
measure_conversions:
- id: usda_172184_90046
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 243.0
unit_id: gram
source:
source_type: usda_fdc
external_id: '172184'
url: https://fdc.nal.usda.gov/food-details/172184/measures
title: Egg, yolk, raw, fresh
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 90046.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: espresso_powder
name: ESPRESSO INSTANT POWDER, ESPRESSO
status: active
categories:
- other
aliases:
- name: espresso powder
kind: search
nutrition_mapping_ids:
- usda_fdc_espresso_powder_2059824
allergen_mapping_ids: []
+49
View File
@@ -0,0 +1,49 @@
schema_version: 2
id: fennel_seed
name: Spices, fennel seed
status: active
categories:
- unknown
aliases:
- name: fennel seed
kind: search
nutrition_mapping_ids:
- usda_fdc_fennel_seed_171323
allergen_mapping_ids: []
measure_conversions:
- id: usda_171323_88436
from:
quantity: 1.0
unit_id: tablespoon_us
to:
quantity: 5.8
unit_id: gram
state: whole
source:
source_type: usda_fdc
external_id: '171323'
url: https://fdc.nal.usda.gov/food-details/171323/measures
title: Spices, fennel seed
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88436.
reviewed_at: '2026-08-12'
- id: usda_171323_88435
from:
quantity: 1.0
unit_id: teaspoon_us
to:
quantity: 2.0
unit_id: gram
state: whole
source:
source_type: usda_fdc
external_id: '171323'
url: https://fdc.nal.usda.gov/food-details/171323/measures
title: Spices, fennel seed
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 88435.
reviewed_at: '2026-08-12'
@@ -0,0 +1,17 @@
schema_version: 2
id: flour_all_purpose
name: Flour, wheat, all-purpose, unenriched, unbleached
status: active
categories:
- flour
aliases:
- name: plain flour
region: GB
kind: common
- name: all-purpose flour
kind: search
nutrition_mapping_ids:
- usda_fdc_flour_all_purpose_790018
allergen_mapping_ids: []
notes:
- USDA nutrition mapping and ingredient-specific volume measures remain to be reviewed.
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: flour_bread
name: Flour, bread, white, enriched, unbleached
status: active
categories:
- flour
aliases:
- name: bread flour
kind: search
nutrition_mapping_ids:
- usda_fdc_flour_bread_790146
allergen_mapping_ids: []
+31
View File
@@ -0,0 +1,31 @@
schema_version: 2
id: flour_cake
name: Wheat flour, white, cake, enriched
status: active
categories:
- flour
aliases:
- name: cake flour
kind: search
nutrition_mapping_ids:
- usda_fdc_flour_cake_169723
allergen_mapping_ids: []
measure_conversions:
- id: usda_169723_85397
from:
quantity: 1.0
unit_id: cup_us
to:
quantity: 137.0
unit_id: gram
state: unsifted, dipped
source:
source_type: usda_fdc
external_id: '169723'
url: https://fdc.nal.usda.gov/food-details/169723/measures
title: Wheat flour, white, cake, enriched
publisher: USDA Agricultural Research Service
retrieved_at: '2026-08-12'
reviewed: true
notes: FoodData Central portion ID 85397.
reviewed_at: '2026-08-12'
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: flour_corn
name: Corn flour, masa harina, white or yellow, dry, raw
status: active
categories:
- unknown
aliases:
- name: corn flour
kind: search
nutrition_mapping_ids:
- usda_fdc_flour_corn_2710835
allergen_mapping_ids: []
+12
View File
@@ -0,0 +1,12 @@
schema_version: 2
id: flour_pastry
name: Flour, pastry, unenriched, unbleached
status: active
categories:
- unknown
aliases:
- name: pastry flour
kind: search
nutrition_mapping_ids:
- usda_fdc_flour_pastry_1104913
allergen_mapping_ids: []
@@ -0,0 +1,12 @@
schema_version: 2
id: flour_whole_wheat
name: Flour, whole wheat, unenriched
status: active
categories:
- flour
aliases:
- name: whole wheat flour
kind: search
nutrition_mapping_ids:
- usda_fdc_flour_whole_wheat_790085
allergen_mapping_ids: []

Some files were not shown because too many files have changed in this diff Show More