OpenSource-Hub
C

CookCLI

SHA-256
1.3k stars·Developer Tools·SHA-256 checksum verified

A CLI tool for Cooklang recipes: create shopping lists, plan meals, search, import from websites, and run a web server to browse recipes on any device.

Smart Download

Download Download Version

v0.29.1 · 9.9 MB

Manage recipes, make shopping lists, and browse via web—all from the command line.

Core Features

  • Recipe viewing and scaling (2x, 3x) with Markdown/JSON export.
  • Smart shopping list merging from multiple recipes, organized by aisle.
  • Meal planning with .menu files, generate combined shopping lists.
  • Built-in web server for browsing recipes on mobile/tablet.
  • Import recipes from URLs and auto-convert to Cooklang (via OpenAI).

What It Can't Do

  • Requires familiarity with Cooklang syntax. 2. Import feature requires OpenAI API key and costs. 3. Web server runs on port 9080 by default; use --host for network access. 4. Recipe files must end with .cook, menus with .menu.

Use Cases

  • Home cooks managing personal recipe collections and weekly shopping.
  • Food bloggers exporting recipes to Markdown or hosting a local recipe site.
  • Developers integrating recipe automation into smart home or CI pipelines.
  • Restaurant kitchens standardizing recipes and scaling for bulk orders.

Detailed Introduction

CookCLI is a command-line tool that works with Cooklang recipes—a simple markup language for writing recipes as plain text. It helps you create shopping lists, plan meals, search recipes, import from websites, and even run a local web server to view your recipe collection on any device. Designed with Unix philosophy in mind, each command does one thing well, making it easy to integrate into scripts and automation workflows. It supports recipe scaling, JSON/Markdown export, pantry tracking, and custom reports via templates. Built in Rust, it's fast and cross-platform.

Troubleshooting & FAQ (1)

Troubleshooting
How to fix 'unstable library feature round_char_boundary' error when building cookcli?

This error occurs when a Rust version older than 1.73 is used, even if the system has a newer version via a different installation. Compare the output of which rustc and rustc --version from both ~/.cargo/bin/rustc (rustup) and /usr/bin/rustc (system package). If the system Rust is newer (e.g., 1.94), force its use by running export PATH="/usr/bin:$PATH" before building. Alternatively, update the rustup toolchain with rustup update stable or remove the conflicting toolchain with rustup toolchain remove stable. On Arch, if pacman reports a conflict with the rustc package, either uninstall the system package (sudo pacman -R rustc) and rely solely on rustup, or keep the system version and remove the rustup toolchain.

GitHub Issue #301

Tags

cooklangrecipe managementshopping listmeal planningCLIrust

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Install via Homebrew (macOS/Linux) or Cargo or download binary from releases.

4

Step 2: Run `cook seed` to generate sample recipes.

5

Step 3: View a recipe: `cook recipe "Neapolitan Pizza.cook"`

Install Guide
  1. Step 1: Install via Homebrew (macOS/Linux) or Cargo or download binary from releases.
  2. Step 2: Run `cook seed` to generate sample recipes.
  3. Step 3: View a recipe: `cook recipe "Neapolitan Pizza.cook"`
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

672b3c495de2cedf7af6f091ca338d283726911718ba730b6956b891e1368772

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Homebrew: brew uninstall cookcli; Cargo: cargo uninstall cookcli; Binary: delete the file.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-06-27 08:00:09
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects