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

# Tomato Scrambled Eggs (西红柿炒鸡蛋) ⭐

## Ingredients
- 2 eggs (100g)
- 2 tomatoes (300g)
- 3g salt (1/2 teaspoon)
- 5g sugar (1 teaspoon)
- 10ml cooking oil
- 2g green onion (optional)

## Equipment
- Frying pan
- Spatula
- Bowl

## Time
- Prep: 5 minutes
- Cook: 5 minutes
- Total: 10 minutes

## Steps
1. Crack eggs into bowl, add 1g salt, beat until uniform
2. Wash tomatoes, cut into 2cm chunks
3. Heat pan to medium-high (180°C)
4. Add oil, wait 10 seconds
5. Pour eggs, stir constantly for 30 seconds
6. Remove eggs when 80% solid (slightly runny)
7. Add tomatoes to same pan, cook 2 minutes
8. Add remaining salt and sugar
9. Return eggs to pan, mix 20 seconds
10. Serve immediately

## Tips
- Don't overcook eggs - they continue cooking after removal
- If tomatoes are too acidic, add 1g more sugar
- 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

# Deploy locally
docker pull ghcr.io/anduin2017/how-to-cook:latest
docker run -d -p 5000:5000 ghcr.io/anduin2017/how-to-cook:latest

# Access at http://localhost:5000

NPM Package

Install as a Node.js package:

npm install how-to-cook

Use programmatically:

const recipes = require('how-to-cook');

// Search recipes
const tomatoRecipes = recipes.search('tomato');

// Get by difficulty
const easyRecipes = recipes.filterByStars(1);

// Get random recipe
const 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.