Make aisle aliases (A|B) work globally, not just for shopping-list grouping
- 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
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