Self-hosted recipe manager and meal planner that imports recipes from URLs and builds shopping lists.
cooklang/cookcli
Command-line tool and self-hosted web server for managing Cooklang plain-text recipes, shopping lists, menus and pantry inventory.
Open-source alternative to:Paprika Recipe Manager
- Stars
- 1,430
- Forks
- 122
- Open issues
- 30
- Last commit
- 3 days ago
What is it?
CookCLI is a single binary that works with recipes written in Cooklang, a plain-text markup format where ingredients, cookware and timers are marked inline in the steps. It parses and displays recipes, scales quantities, and converts them to JSON or Markdown. It also builds shopping lists from one or more recipes, grouped by store aisle, and reads menu files to plan meals across days.
The same binary runs a web server that lets you browse your recipe folder from any device on a network, with search and pantry tracking. Pantry and aisle settings live in simple config files, and pantry items are excluded from generated shopping lists. Users can also generate a static recipe website from the folder, which can be hosted anywhere or opened locally.
Optional features include importing recipes from websites, a language server for editors, and sign-in for the web server so that only authenticated users can change recipes. Prebuilt binaries are available for Linux, macOS, Windows and FreeBSD, and it can be installed with Homebrew, Cargo, or as RPM and DEB packages.
Key features
- 01Parses and displays Cooklang recipes, with scaling and JSON or Markdown output.
- 02Generates shopping lists from multiple recipes, grouped by store aisle.
- 03Plans meals with menu files and combines them into one shopping list.
- 04Runs a web interface to browse, search and manage recipes from any device.
- 05Tracks pantry stock and expiration dates, excluding owned items from shopping lists.
- 06Builds a static recipe website that can be hosted or opened locally.
Use cases
- Keeping a version-controlled recipe collection in plain text files.
- Generating shopping lists for a week of meals from a menu file.
- Hosting a family recipe site on a home server or Raspberry Pi.
- Tracking pantry inventory and finding recipes you can make with what you have.
Quick start
- 1
Install CookCLI with Homebrew (macOS/Linux)
brew install cookcli - 2
Create a folder for recipes and fill it with sample recipes
mkdir my-recipes && cd my-recipes && cook seed ./ - 3
Start the web server and open it in your browser
cook server --open
Things to know
- Sync with Cook Cloud requires the Cook Basic plan.
In collections
Topics
FAQ
- What is cookcli?
- Command-line tool and self-hosted web server for managing Cooklang plain-text recipes, shopping lists, menus and pantry inventory. CookCLI is a single binary that works with recipes written in Cooklang, a plain-text markup format where ingredients, cookware and timers are marked inline in the steps. It parses and displays recipes, scales quantities, and converts them to JSON or Markdown. It also builds shopping lists from one or more recipes, grouped by store aisle, and reads menu files to plan meals across days.
- Is cookcli free to use? What license does it have?
- cookcli is open source under the MIT license. Check the license terms before using it in commercial products.
- Is cookcli still maintained?
- Actively maintained. The last commit to cookcli was on Nov 4, 2026.
- What can I use cookcli for?
- Keeping a version-controlled recipe collection in plain text files. Generating shopping lists for a week of meals from a menu file. Hosting a family recipe site on a home server or Raspberry Pi. Tracking pantry inventory and finding recipes you can make with what you have.
- How do I install cookcli?
- Install CookCLI with Homebrew (macOS/Linux): brew install cookcli Create a folder for recipes and fill it with sample recipes: mkdir my-recipes && cd my-recipes && cook seed ./ Start the web server and open it in your browser: cook server --open
- Where can I get cookcli?
- The source code and installation instructions are on GitHub: https://github.com/cooklang/cookcli
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted grocery list and recipe manager with native mobile, web and desktop apps and real-time sync between users.
Self-hosted web app for managing groceries, stock, shopping lists, meal plans and household chores, built on PHP and SQLite.
A collaborative recipe keeper, meal planner, and shopping list organizer, delivered as a PWA that works offline and syncs across devices.
A self-hosted recipe manager web app for saving, importing, and organizing family recipes, written in Go.
A self-hosted recipe manager web app built with Python and Flask, covering recipes, shopping lists and meal planning.