build and deploy Formulation application
Build & Deploy Formulation / Build & Push Image (push) Successful in 15s
Build & Deploy Formulation / deploy (push) Successful in 12s

Consolidate the application, culinary data model, read-only runtime, and registry-backed deployment.
This commit is contained in:
2026-08-13 18:08:25 -05:00
parent e89d003d71
commit 816b28e179
223 changed files with 565 additions and 1243 deletions
+9
View File
@@ -0,0 +1,9 @@
.git
.astro
dist
generated
node_modules
var
.env*
*.png
*.html
+8 -12
View File
@@ -1,4 +1,4 @@
name: Build & Push Astro Site Image
name: Build & Deploy Formulation
on:
push:
@@ -12,7 +12,7 @@ jobs:
env:
REGISTRY_USERNAME: nicholas
IMAGE_REGISTRY: git.uuard.com
IMAGE_NAME: nicholas/recipe-book
IMAGE_NAME: nicholas/formulation
IMAGE_TAG: ${{ github.sha }}
runs-on: shared-ci
steps:
@@ -27,13 +27,9 @@ jobs:
- 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
python3 -m venv .venv
.venv/bin/pip install -r requirements-dev.txt
.venv/bin/python scripts/validate-content
- name: 🔐 Gitea Registry Login
uses: docker/login-action@v3
@@ -83,11 +79,11 @@ jobs:
chmod 600 ~/.kube/config
kubectl auth can-i update deployments --namespace nicholas
- name: Deploy recipe-book
- name: Deploy Formulation read-only viewer
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
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
+20 -4
View File
@@ -1,7 +1,23 @@
FROM nginx:alpine
FROM node:24-alpine AS build
RUN rm -rf /usr/share/nginx/html/*
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run db:reset && npm run build
COPY dist /usr/share/nginx/html/
FROM node:24-alpine AS runtime
EXPOSE 80
ENV NODE_ENV=production \
FORMULATION_READ_ONLY=true \
HOST=0.0.0.0 \
PORT=8080
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --omit=dev
COPY --from=build --chown=node:node /app/dist/app ./dist/app
COPY --from=build --chown=node:node /app/var/recipe-book.sqlite ./var/recipe-book.sqlite
COPY --from=build --chown=node:node /app/public ./public
USER node
EXPOSE 8080
CMD ["node", "dist/app/server/entry.mjs"]
+17 -27
View File
@@ -5,11 +5,10 @@ costing, and analyzing professional recipes. It models ingredients and
sub-recipes as reusable entities instead of embedding duplicated ingredient
data in every recipe.
The project includes two independent Astro applications:
- A SQLite-backed management application for recipes, ingredients, purchasing,
nutrition, costs, preparation actions, conversions, and recipe books.
- A read-only static cooking site generated from the same culinary data.
The Astro application can run as either the full editor or a server-enforced
read-only viewer. Both modes provide recipes, ingredients, purchasing data,
nutrition, live costs, scaling, conversions, and recipe books. Read-only mode
removes persistent editing while retaining browser-side calculations.
## Capabilities
@@ -42,8 +41,8 @@ python3 -m pip install --user -r requirements-dev.txt
## Database
SQLite is the canonical writable store. The database is located at
`var/recipe-book.sqlite` and is intentionally excluded from Git. Numbered SQL
migrations in `migrations/` define its schema.
`var/recipe-book.sqlite` and is intentionally excluded from Git. The single
baseline in `migrations/001_initial.sql` defines its complete schema.
Create a new local database from the portable culinary dataset:
@@ -51,22 +50,15 @@ Create a new local database from the portable culinary dataset:
npm run db:reset
```
This command replaces an existing local database. For an existing database,
apply pending migrations without replacing data:
```bash
npm run db:migrate
```
`npm run db:sync` is an alias for the safe migration command. YAML under
`culinary/` is retained as portable seed and interchange data; normal edits in
the management application write to SQLite.
This command replaces an existing local database. There is intentionally no
legacy upgrade chain. YAML under `culinary/` is retained as portable seed and
interchange data; normal edits in the management application write to SQLite.
See [Local application](docs/local-application.md) for more detail.
## Development
Run the management application:
Run the editor:
```bash
npm run dev:app
@@ -81,18 +73,18 @@ development server:
npm run restart:app
```
Run the static cooking site separately:
Run the same application in read-only mode:
```bash
npm run dev:site
npm run dev:readonly
```
Open <http://localhost:4321/>. The site command creates a read-only projection
at `generated/site-projection.json` before Astro starts.
Open <http://localhost:4399/app/>. The database is opened read-only, modifying
HTTP requests are rejected, and editing controls and routes are unavailable.
## Validation and builds
Run application and site type checks, unit tests, and both production builds:
Run type checks, unit tests, and the production build:
```bash
npm run check
@@ -100,10 +92,8 @@ npm test
npm run build
```
Build output is separated by application:
- `dist/app/` — standalone Node server for the management application
- `dist/site/` — static public cooking site
The standalone Node server is written to `dist/app/`. Start a production
read-only instance on port 4399 with `npm run start:readonly`.
## Culinary data tools
-14
View File
@@ -1,14 +0,0 @@
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: ["."] } },
},
});
@@ -19,7 +19,6 @@
"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" },
-1
View File
@@ -9,7 +9,6 @@
},
"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 },
@@ -4,12 +4,11 @@
"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"],
"required": ["schema_version", "recipe_id", "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}$" },
+1 -4
View File
@@ -3,13 +3,11 @@
"$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"],
"required": ["schema_version", "id", "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 },
@@ -113,7 +111,6 @@
"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" }
}
}
+24 -24
View File
@@ -1,30 +1,30 @@
schema_version: 2
id: beer
name: Alcoholic beverage, beer, regular, all
status: active
id: "beer"
name: "Alcoholic beverage, beer, regular, all"
status: "active"
categories:
- unknown
- "beer"
aliases:
- name: beer
kind: search
- name: "beer"
kind: "common"
nutrition_mapping_ids:
- usda_fdc_beer_168746
- "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'
- id: "usda_168746_83686"
from:
quantity: 1
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"
+33
View File
@@ -0,0 +1,33 @@
schema_version: 2
id: 0_recipe_test
title: 0-recipe-test
categories: []
tags: []
yield:
amount:
quantity: 1000
unit_id: gram
scaling:
mode: amount
components:
- id: component_74d895d5
name: main
items:
- id: line_7ea18d07
reference:
ingredient_id: basil
amount:
quantity: 300
unit_id: gram
percentage: 100
basis_member: true
steps:
- id: step_1
order: 1
instruction: place it into the dog shed
- id: step_3ef49eca
order: 2
instruction: assemble the lego set
- id: step_4cd4eb90
order: 3
instruction: become sad
@@ -1,13 +1,11 @@
schema_version: 2
id: alkaline_soy_meat_marinade
revision: 1
status: draft
title: Alkaline Soy Meat Marinade
categories:
- sauce
- sauce
tags:
- marinade
- chicken
- marinade
- chicken
yield:
amount:
quantity: 107.48
@@ -17,44 +15,44 @@ scaling:
mode: hybrid
basis_id: formula_basis
basis_amount:
quantity: 100.0
quantity: 100
unit_id: gram
components:
- id: main
name: Main
items:
- id: line_01_water
reference:
ingredient_id: water
amount:
quantity: 100
unit_id: gram
percentage: 100
basis_member: true
- id: line_02_soy_sauce_light
reference:
ingredient_id: soy_sauce_light
amount:
quantity: 6.38
unit_id: gram
percentage: 6.38
- id: line_03_baking_soda
reference:
ingredient_id: baking_soda
amount:
quantity: 1.1
unit_id: gram
percentage: 1.1
- id: main
name: Main
items:
- id: line_01_water
reference:
ingredient_id: water
amount:
quantity: 100
unit_id: gram
percentage: 100
basis_member: true
- id: line_02_soy_sauce_light
reference:
ingredient_id: soy_sauce_light
amount:
quantity: 6.38
unit_id: gram
percentage: 6.38
- id: line_03_baking_soda
reference:
ingredient_id: baking_soda
amount:
quantity: 1.1
unit_id: gram
percentage: 1.1
steps:
- id: step_01
order: 1
instruction: Combine.
component_ids:
- main
- id: step_02
order: 2
instruction: Mix until dissolved.
component_ids:
- main
- id: step_01
order: 1
instruction: Combine.
component_ids:
- main
- id: step_02
order: 2
instruction: Mix until dissolved.
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: amorosos_roll
revision: 1
status: draft
title: Amoroso's Roll
categories:
- bread
@@ -81,4 +79,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: apricot_glaze
revision: 1
status: draft
title: Apricot Glaze
categories:
- sauce
@@ -82,4 +80,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: auntie_annes_pretzels
revision: 1
status: draft
title: Auntie Anne's Pretzels
categories:
- bread
@@ -131,4 +129,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: bagel
revision: 1
status: draft
title: Bagel
categories:
- bread
@@ -65,4 +63,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: baileys_sourdough
revision: 1
status: draft
title: Bailey's Sourdough
categories:
- bread
@@ -170,4 +168,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: banana_bread
revision: 1
status: draft
title: Banana Bread
categories:
- dessert
@@ -114,4 +112,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: beer_cheese
revision: 1
status: draft
title: Beer Cheese
categories:
- sauce
@@ -130,4 +128,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: benihana_yum_yum_sauce
revision: 1
status: draft
title: Benihana Yum Yum Sauce
categories:
- sauce
@@ -122,4 +120,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: berry_bagel
revision: 1
status: draft
title: Berry Bagel
categories:
- bread
@@ -148,4 +146,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: berry_muffin
revision: 1
status: draft
title: Berry Muffin
categories:
- dessert
@@ -120,4 +118,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: blueberry_raspberry_blend
revision: 1
status: active
title: BlueberryRaspberry Blend
categories:
- component
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: broccoli_cheddar_soup
revision: 1
status: draft
title: Broccoli Cheddar Soup
categories:
- soup
@@ -219,4 +217,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: buttercream
revision: 1
status: draft
title: Buttercream
categories:
- sauce
@@ -82,4 +80,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: buttermilk_biscuits
revision: 1
status: draft
title: Buttermilk Biscuits
categories:
- bread
@@ -134,4 +132,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: caramel_sauce
revision: 1
status: draft
title: Caramel Sauce
categories:
- sauce
@@ -117,4 +115,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: caramelized_onion
revision: 1
status: draft
title: Caramelized Onion
categories:
- side
@@ -99,4 +97,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: carrot_soup
revision: 1
status: draft
title: Carrot Soup
categories:
- soup
@@ -69,4 +67,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cheese_danish_filling
revision: 1
status: draft
title: Cheese Danish Filling
categories:
- pastry
@@ -84,4 +82,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cheesecake
revision: 1
status: draft
title: Cheesecake
categories:
- dessert
@@ -154,4 +152,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chick_fil_a_sauce
revision: 1
status: draft
title: Chick-fil-A Sauce
categories:
- sauce
@@ -61,4 +59,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chicken_sausage
revision: 1
status: draft
title: Chicken Sausage
categories:
- meat
@@ -152,4 +150,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chicken_velvet
revision: 1
status: draft
title: Chicken Velvet
categories:
- meat
@@ -102,4 +100,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chilis_avocado_ranch
revision: 1
status: draft
title: Chili's Avocado Ranch
categories:
- sauce
@@ -54,4 +52,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chipotle_pinto_beans
revision: 1
status: draft
title: Chipotle Pinto Beans
categories:
- side
@@ -131,4 +129,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chocolate_biscotti
revision: 1
status: draft
title: Chocolate Biscotti
categories:
- dessert
@@ -164,4 +162,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chocolate_chip_cookie
revision: 1
status: draft
title: Chocolate Chip Cookie
categories:
- dessert
@@ -150,4 +148,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chocolate_ganache
revision: 1
status: draft
title: Chocolate Ganache
categories:
- sauce
@@ -50,4 +48,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: chow_mein_sauce
revision: 1
status: draft
title: Chow Mein Sauce
categories:
- sauce
@@ -100,4 +98,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cilantro_lime_rice
revision: 1
status: draft
title: Cilantro Lime Rice
categories:
- side
@@ -101,4 +99,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cinnamon_crunch_bagel
revision: 1
status: draft
title: Cinnamon Crunch Bagel
categories:
- bread
@@ -79,4 +77,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cinnamon_filling
revision: 1
status: draft
title: Cinnamon Filling
categories:
- component
@@ -79,4 +77,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cinnamon_roll
revision: 1
status: draft
title: Cinnamon Roll
categories:
- bread
@@ -196,4 +194,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cinnamon_sugar
revision: 1
status: draft
title: Cinnamon Sugar
categories:
- component
@@ -51,4 +49,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: crab_rangoon
revision: 1
status: draft
title: Crab Rangoon
categories:
- side
@@ -120,4 +118,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cream_cheese_icing
revision: 1
status: draft
title: Cream Cheese Icing
categories:
- sauce
@@ -68,4 +66,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cream_cheese_icing_2
revision: 1
status: draft
title: Cream Cheese Icing 2
categories:
- sauce
@@ -125,4 +123,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: creamed_berry_muffin
revision: 1
status: draft
title: Creamed Berry Muffin
categories:
- dessert
@@ -140,4 +138,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: creamed_chocolate_chip_muffin
revision: 1
status: draft
title: Creamed Chocolate Chip Muffin
categories:
- dessert
@@ -142,4 +140,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: cuban_mustard_mayo
revision: 1
status: draft
title: Cuban Mustard Mayo
categories:
- sauce
@@ -44,4 +42,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: dark_espresso_brownie
revision: 1
status: draft
title: Dark Espresso Brownie
categories:
- dessert
@@ -153,4 +151,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: dinner_rolls
revision: 1
status: draft
title: Dinner Rolls
categories:
- bread
@@ -133,4 +131,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_cheddar_cheese_blend
revision: 1
status: testing
title: Domino's-Style Cheddar Cheese Blend
summary: A home-scale approximation of Domino's proprietary cheddar and pizza-cheese blend.
categories: [component]
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_garlic_oil_blend
revision: 1
status: draft
title: Domino's Garlic Oil Blend
categories:
- sauce
@@ -110,4 +108,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_oregano_marjoram_blend
revision: 1
status: draft
title: Domino's-Style OreganoMarjoram Blend
categories:
- component
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_pizza
revision: 1
status: draft
title: Domino's Pizza Dough
categories:
- bread
@@ -111,4 +109,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_pizza_sauce
revision: 1
status: draft
title: Domino's Pizza Sauce
categories:
- sauce
@@ -69,4 +67,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_pizza_sauce_v2
revision: 1
status: draft
title: Domino's Pizza Sauce V2
categories:
- sauce
@@ -146,4 +144,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_pizza_sauce_v3
revision: 1
status: draft
title: Domino's Pizza Sauce V3
categories:
- sauce
@@ -153,4 +151,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: dominos_stuffed_cheesy_bread
revision: 1
status: draft
title: Domino's Stuffed Cheesy Bread
categories:
- bread
@@ -112,4 +110,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: donuts
revision: 1
status: draft
title: Donuts
categories:
- dessert
@@ -147,4 +145,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: egg_noodle
revision: 1
status: draft
title: Egg Noodle
categories:
- side
@@ -58,4 +56,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: egg_replacer
revision: 1
status: draft
title: Egg Replacer
categories:
- component
@@ -65,4 +63,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: english_muffin
revision: 1
status: draft
title: English Muffin
categories:
- bread
@@ -121,4 +119,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: focaccia
revision: 1
status: draft
title: Focaccia
categories:
- bread
@@ -124,4 +122,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: fried_rice
revision: 1
status: draft
title: Fried Rice
categories:
- side
@@ -149,4 +147,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: general_tso_sauce
revision: 1
status: draft
title: General Tso's Sauce
categories:
- sauce
@@ -135,4 +133,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: ginger_molasses_cookie
revision: 1
status: draft
title: Ginger Molasses Cookie
categories:
- dessert
@@ -143,4 +141,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: graham_cracker_crust
revision: 1
status: draft
title: Graham Cracker Crust
categories:
- pastry
@@ -70,4 +68,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: gravy
revision: 1
status: draft
title: Gravy
categories:
- sauce
@@ -89,4 +87,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: guacamole
revision: 1
status: draft
title: Guacamole
categories:
- side
@@ -91,4 +89,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: gyro_meat
revision: 1
status: draft
title: Gyro Meat
categories:
- meat
@@ -181,4 +179,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: halal_guys_white_sauce_v1
revision: 1
status: draft
title: Halal Guys White Sauce V1
categories:
- sauce
@@ -66,4 +64,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: halal_guys_white_sauce_v2
revision: 1
status: draft
title: Halal Guys White Sauce V2
categories:
- sauce
@@ -73,4 +71,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: hamburger_bun
revision: 1
status: draft
title: Hamburger Bun
categories:
- bread
@@ -115,4 +113,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: hoagie
revision: 1
status: draft
title: Hoagie
categories:
- bread
@@ -72,4 +70,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: hot_fudge_v1
revision: 1
status: draft
title: Hot Fudge V1
categories:
- sauce
@@ -88,4 +86,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: hot_fudge_v2
revision: 1
status: draft
title: Hot Fudge V2
categories:
- sauce
@@ -117,4 +115,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: imos_pizza_dough
revision: 1
status: draft
title: Imo's Pizza Dough
categories:
- bread
@@ -105,4 +103,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: jimmy_johns_kickin_ranch_sauce
revision: 1
status: draft
title: Jimmy John's Kickin' Ranch Sauce
categories:
- sauce
@@ -94,4 +92,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: korean_coater_mix
revision: 1
status: draft
title: Korean Coater Mix
categories:
- component
@@ -70,4 +68,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: korean_fry_batter
revision: 1
status: draft
title: Korean Fry Batter
categories:
- component
@@ -86,4 +84,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: lemon_curd
revision: 1
status: draft
title: Lemon Curd
categories:
- sauce
@@ -90,4 +88,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: lo_mein_sauce
revision: 1
status: draft
title: Lo Mein Sauce
categories:
- sauce
@@ -98,4 +96,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: mac_cheese_sauce
revision: 1
status: draft
title: Mac & Cheese Sauce
categories:
- sauce
@@ -63,4 +61,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: mashed_potato
revision: 1
status: draft
title: Mashed Potato
categories:
- side
@@ -78,4 +76,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: meatball
revision: 1
status: draft
title: Meatball
categories:
- meat
@@ -153,4 +151,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: mexicali_dip
revision: 1
status: draft
title: Mexicali Dip
categories:
- sauce
@@ -94,4 +92,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: mexican_rice
revision: 1
status: draft
title: Mexican Rice
categories:
- side
@@ -92,4 +90,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: mexican_white_sauce
revision: 1
status: draft
title: Mexican White Sauce
categories:
- sauce
@@ -135,4 +133,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: milk
revision: 1
status: draft
title: Milk
categories:
- component
@@ -44,4 +42,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: mod_pizza_dough
revision: 1
status: draft
title: MOD Pizza Dough
categories:
- bread
@@ -95,4 +93,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
@@ -1,7 +1,5 @@
schema_version: 2
id: mozzarella_cheese_melt_stuffed
revision: 1
status: draft
title: Mozzarella Cheese Melt Stuffed
categories:
- component
@@ -70,4 +68,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: oat_chocolate_cookie
revision: 1
status: draft
title: Oat Chocolate Cookie
categories:
- dessert
@@ -134,4 +132,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: oatmeal_raisin_cookie
revision: 1
status: draft
title: Oatmeal Raisin Cookie
categories:
- dessert
@@ -100,4 +98,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: orange_chicken_sauce
revision: 1
status: draft
title: Orange Chicken Sauce
categories:
- sauce
@@ -183,4 +181,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: orange_juice
revision: 1
status: draft
title: Orange Juice
categories:
- beverage
@@ -43,4 +41,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: p_f_changs_dark_sauce
revision: 1
status: draft
title: P. F. Chang's Dark Sauce
categories:
- sauce
@@ -93,4 +91,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.
+1 -3
View File
@@ -1,7 +1,5 @@
schema_version: 2
id: p_f_changs_honey_sauce
revision: 1
status: draft
title: P. F. Chang's Honey Sauce
categories:
- sauce
@@ -134,4 +132,4 @@ steps:
component_ids:
- main
notes:
- Formula uses a nominal 100 g basis; review yield and revision before activation.
- Formula uses a nominal 100 g basis; review the yield before use.

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