Deploy Now

SaaS Alternative

Paprika Plan to Eat AnyList Mealime

Stars

1,417

Forks

117

Watchers

10

CookCLI

Plain-text recipes in, a phone-friendly recipe site out: CookCLI reads Cooklang files and serves them with scaling, search, shopping lists, meal plans, and pantry tracking. Write ingredients, cookware, and timers inline. Open any recipe from a phone or laptop on your network. Change the serving count and the quantities recalculate. Search by ingredient or by text. Plan a week in a .menu file and get one shopping list, merged across recipes, grouped by store aisle from your own aisle configuration, with pantry items already subtracted. The pantry file holds quantities, expiry dates, and low-stock thresholds. Ask which items are depleted or expiring, or which dishes you can cook right now, near matches included. In the terminal, print any recipe as Cooklang, JSON, or Markdown, run template-driven reports, and let a doctor command check your files. Import a recipe from a web page with an OpenAI API key. Switch on sign-in so everyone can browse but only signed-in users can edit recipes, the pantry, or the shopping list. A documented HTTP API feeds other tools. The whole collection also builds into a static website. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

CookCLI
CookCLI
CookCLI
CookCLI
CookCLI
CookCLI
CookCLI

Benefits

  • Keep recipes as plain text
  • Recipes live in ordinary .cook files that you can version with Git, edit in any editor, and back up like code, so your collection never depends on a proprietary app.
  • Shop once for the week
  • Combine ingredients from several recipes or a weekly .menu plan into one list grouped by store aisle, with pantry items already subtracted, so you buy only what is missing.
  • Know what you can cook tonight
  • The pantry tracker flags depleted and expiring items and lists recipes you can make with what is on hand, including partial matches above a threshold you choose.
  • Share recipes with the whole household
  • Serve the collection to every phone and laptop on your network from a VPS, and require sign-in so only chosen users can change recipes, the pantry, or shopping lists.

Features

  • Cooklang recipe parsing
  • Reads .cook files with inline ingredients, cookware, and timers, prints them as Cooklang, JSON, or Markdown, and scales servings with a suffix such as Pizza.cook:2.
  • Responsive web interface
  • The cook server command serves recipe browsing, search, scaling, and shopping list management on port 9080, with a mobile-friendly layout and optional sign-in for edits.
  • Menus and shopping lists
  • Weekly .menu files reference recipes by day and meal, and shopping lists merge quantities, organize items with aisle.conf, and exclude pantry items automatically.
  • Pantry tracking
  • The pantry.conf file stores quantities, expiry dates, and low-stock thresholds, and cook pantry depleted, expiring, and recipes report shortages and dishes you can cook.
  • HTTP API and static site
  • Documented endpoints under /api cover recipes, menus, shopping lists, pantry, and search, while cook build web exports the whole collection as a self-contained static website.
  • Docker deployment
  • The official ghcr.io/cooklang/cookcli image runs cook server on port 9080 and mounts recipe and config folders, with COOK_CONFIG_DIR holding user accounts.

Apps Similar to CookCLI