cooklang / cooklang/cookcli

Make aisle aliases (A|B) work globally, not just for shopping-list grouping

Open
#435 0 comments 0 reactions 0 assignees View on GitHub
feature request
Dominant language
Rust
Stars
1.4k
Forks
109
Avg merge
1d 22h
Merged PRs (30d)
19

Description

From a trialing user (Discord, 2026-08-11). Today, `A|B` in the aisle config only affects shopping-list grouping. The user expected `B` to act as a workspace-wide alias for `A` — across ingredients, search, shopping list, and pantry.

Their motivating example:

> Bell Peppers and Capsicum are just 2 different names for the same item, used in different regions of the world. Say you're importing a recipe from India or Australia, you would see Capsicum. But you wouldn't want that to be any different from Bell Pepper.
> For example for commands like `cook pantry recipes`... You wouldn't want to think you don't have the items only to realise you had them, just under a different name.

So: aisle aliases should be resolved wherever ingredient names are matched — pantry matching (`pantry recipes`), search, shopping-list merging — not only when grouping the shopping list by aisle.

Related: #417 notes the two Context implementations diverge on aisle/pantry fallback, which would matter for wherever this resolution lives.

Contributor guide

Open the contributing guide

Research direction

Trace how aisle aliases are parsed and used for shopping-list grouping, then compare the two Context implementations mentioned in #417. Follow the ingredient-matching paths for pantry recipes, search, and shopping-list merging; done means A|B aliases work consistently in all of them, not only during aisle grouping.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, search
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.