On this page

Your recipes are scattered across bookmarks, screenshots, and Notion pages. Cooklang showed that publishing recipes as a static site works. Wire takes it further: structured metadata, search, quality enforcement, and an AI pipeline that can enrich recipes with sourced technique explanations, ingredient substitutions, and cultural context. The same content pipeline powers a niche blog or a digital garden. Recipes are just content with different conventions. For more patterns, explore all Wire use cases.

The Pain Point

Recipe blogs are the most hated genre on the internet. Ten paragraphs of life story before the ingredients list. Ad-bloated WordPress themes that take 8 seconds to load. No search that actually works. And if you want to self-host your family recipe collection, the tools (Nyum, Cooklang) are minimal: no quality gates, no enrichment, no SEO structure.

How Wire Fits

Wire treats recipes as content pages with enforced structure:

  • Frontmatter metadata: Title, description, created date, tags (cuisine, diet, course). Validated at build time.
  • enrich: Wire's enrichment pipeline can add technique explanations, sourced nutrition context, and ingredient history from web research. A pasta recipe gains a paragraph on why you salt the water, cited from a culinary source.
  • Search: search_index.json powers instant search across your entire collection. "Recipes with tahini" returns results without scrolling.
  • crosslink: Related recipes link to each other automatically. Your hummus recipe links to your falafel recipe.
  • Build gates: No recipes without titles or descriptions. No broken links to ingredient substitution pages. No orphan recipes unreachable from the index.

What to Customize

wire.yml

nav:
  - index.md
  - Cuisines:
    - Overview: cuisines/index.md
  - Techniques:
    - Overview: techniques/index.md

Prompt Overrides

Write a _styleguide.md for recipe writing:

  • Ingredients as a clean list (this is one place where lists beat prose)
  • Technique explanations in prose (why you fold instead of stir)
  • Sourced tips from culinary authorities (Serious Eats, ATK, Kenji Lopez-Alt)
  • No life stories. No "I remember when grandma made this on a rainy Tuesday."

Components

Use :::cards for recipe grids on category pages. Use :::tabs for variations (vegan, gluten-free). Use :::stats for nutrition highlights. Use :::recent 12 on the homepage for latest additions.

Scope

Wire generates a search index, RSS feed for new recipes, sitemap, JSON-LD Article schema (extend to Recipe schema with a template override), responsive layout, reading progress, and print-friendly HTML. For recipe collections serving multiple languages, the multi-language hub pattern handles translation and per-language sitemaps.

Wire does not handle meal planning, shopping list generation, or recipe scaling. These are JavaScript features you can add on top of the static output. Wire does not parse Cooklang syntax natively. Write recipes in standard markdown.

To get started, create wire.yml with cuisine or course categories, write your first recipe with structured ingredients and method, then run python -m wire.chief enrich to add sourced technique context. Run python -m wire.chief crosslink to connect related recipes, and python -m wire.chief build --serve to cook from localhost. See all Wire use cases for more patterns.