
CookCLI
Open-source Rust-based CLI to parse, scale, search, import and serve Cooklang recipes; generates shopping lists, reports, and a browsable web UI.

CookCLI is a command-line program and lightweight web server for working with Cooklang recipe files. It provides parsing, rendering, shopping-list generation, pantry tracking and a browsable web UI so recipes can be managed locally and automated with standard Unix tooling.
Key Features
- CLI commands to parse and display recipes in multiple formats (text, JSON, Markdown) and to scale servings.
- Shopping-list generation that merges ingredients across recipes and organizes items by store/section.
- Embedded web server to browse and search a local recipe collection with a web UI; includes a development workflow for building the frontend.
- Importer to convert recipes from many websites into Cooklang format and tools for pantry/inventory tracking.
- Report and template support for exporting cookbooks, printable cards, and custom reports.
- Cross-platform distribution: prebuilt binaries and Homebrew packages; source build requires Rust and Node tooling.
Use Cases
- Manage a personal recipe collection as plain-text Cooklang files and generate consolidated shopping lists for a week of menus.
- Run a local recipe web UI (embedded server) to browse, search, and share recipes on a home LAN or single-board computer.
- Integrate recipe parsing and report generation into automation scripts or CI pipelines for cookbook generation.
Limitations and Considerations
- Building from source requires Rust and Node; some install paths (cargo install) have known issues noted in the project documentation, so prebuilt binaries or Homebrew are often recommended.
CookCLI is a pragmatic, Unix-friendly toolset for anyone who stores recipes as Cooklang files and wants programmatic control over shopping lists, scaling, and a local web UI. Its Rust core and small frontend build steps make it suitable for local and Raspberry Pi deployments while integrating into existing text-based workflows.




