What is HowToCook?

HowToCook () is an open-source cookbook project created by programmer Anduin2017. It contains 297 recipes written with the precision and clarity that developers expect from documentation.

The project’s philosophy is simple: cooking recipes should be as clear as code. No ambiguous instructions like “a little salt” or “cook until done.” Every recipe uses precise measurements, exact timings, and step-by-step procedures.

GitHub: https://github.com/Anduin2017/HowToCook
Stars: 70K+
Contributors: 200+
License: Unlicense


Why Programmers Need This

The Problem with Traditional Recipes

IssueExampleHowToCook Solution
Ambiguous quantities“a little salt”“3g salt (1/2 teaspoon)”
Vague timing“cook until golden”“fry for 90 seconds per side”
Missing stepsIngredients appear mid-recipeComplete ingredient list upfront
No difficulty ratingAll recipes look equally hard1-5 star difficulty system
No equipment listAssume you have everythingRequired tools listed first

Features Designed for Developers

  • Structured format: Like functions with parameters
  • Difficulty levels: 1-5 stars (from instant noodles to Peking Duck)
  • Equipment requirements: Listed before ingredients
  • Exact measurements: Grams, milliliters, not “a pinch”
  • Time tracking: Prep time, cook time, total time
  • Error handling: Common mistakes and how to avoid them

Recipe Categories

By Difficulty

StarsCountExamples
45Tomato scrambled eggs, instant noodles upgrade
⭐⭐78Kung Pao chicken, braised pork
⭐⭐⭐89Sweet and sour pork ribs, mapo tofu
⭐⭐⭐⭐56Peking duck, hot pot base
⭐⭐⭐⭐⭐29Shark fin soup, abalone porridge

By Type

  • Vegetables: 85 recipes (stir-fried, braised, steamed)
  • Meat: 92 recipes (pork, beef, chicken, lamb)
  • Seafood: 34 recipes (fish, shrimp, crab)
  • Soups: 46 recipes (quick soups, slow-cooked broths)
  • Breakfast: 23 recipes (congee, pancakes, sandwiches)
  • Desserts: 17 recipes (cakes, puddings, sweet soups)

Sample Recipe: Tomato Scrambled Eggs

 1# Tomato Scrambled Eggs () ⭐
 2
 3## Ingredients
 4- 2 eggs (100g)
 5- 2 tomatoes (300g)
 6- 3g salt (1/2 teaspoon)
 7- 5g sugar (1 teaspoon)
 8- 10ml cooking oil
 9- 2g green onion (optional)
10
11## Equipment
12- Frying pan
13- Spatula
14- Bowl
15
16## Time
17- Prep: 5 minutes
18- Cook: 5 minutes
19- Total: 10 minutes
20
21## Steps
221. Crack eggs into bowl, add 1g salt, beat until uniform
232. Wash tomatoes, cut into 2cm chunks
243. Heat pan to medium-high (180°C)
254. Add oil, wait 10 seconds
265. Pour eggs, stir constantly for 30 seconds
276. Remove eggs when 80% solid (slightly runny)
287. Add tomatoes to same pan, cook 2 minutes
298. Add remaining salt and sugar
309. Return eggs to pan, mix 20 seconds
3110. Serve immediately
32
33## Tips
34- Don't overcook eggs - they continue cooking after removal
35- If tomatoes are too acidic, add 1g more sugar
36- For softer texture, add 10ml milk to eggs

Community & Contributions

How to Contribute

  1. Fork the repository
  2. Copy the template recipe
  3. Write your recipe following the format
  4. Submit a Pull Request

Contribution Stats

  • 200+ contributors worldwide
  • 297 recipes and growing
  • Multiple languages: Chinese, English, Japanese
  • Docker support: Run locally with one command

Web Deployment

1# Deploy locally
2docker pull ghcr.io/anduin2017/how-to-cook:latest
3docker run -d -p 5000:5000 ghcr.io/anduin2017/how-to-cook:latest
4
5# Access at http://localhost:5000

NPM Package

Install as a Node.js package:

1npm install how-to-cook

Use programmatically:

 1const recipes = require('how-to-cook');
 2
 3// Search recipes
 4const tomatoRecipes = recipes.search('tomato');
 5
 6// Get by difficulty
 7const easyRecipes = recipes.filterByStars(1);
 8
 9// Get random recipe
10const dinner = recipes.random();

Learning Path

Beginner (Week 1-2)

  • Kitchen preparation
  • Basic knife skills
  • 1-star recipes
  • Rice cooking

Intermediate (Week 3-4)

  • 2-3 star recipes
  • Meat preparation
  • Stir-fry techniques
  • Soup basics

Advanced (Week 5+)

  • 4-5 star recipes
  • Multi-dish coordination
  • Flavor balancing
  • Presentation

Why This Matters for SEO

HowToCook is a perfect example of:

  1. Community-driven content: 200+ contributors create authentic content
  2. Structured data: Recipes follow schema.org format
  3. Long-tail keywords: “”, “how to cook for developers”
  4. Evergreen content: Cooking never goes out of style
  5. Multi-language: Chinese, English, Japanese versions


Disclaimer: This article introduces an open-source project. All recipe content belongs to the HowToCook community. Please follow food safety guidelines when cooking.