Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Cupboard

WallWayWallWay327 downloads

Plan your meals for the week, scale recipes to the number of eaters and turn them into a grocery list.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

Plan the week's meals, scale recipes to the people who are eating, keep track of what is in the house, and walk into the shop with a list that is already sorted by shelf. Everything lives in plain Markdown notes in your vault: recipes, products, shops, weekly plans and shopping lists. No accounts, no servers, no network requests.

The meal planner: a week of dinners with the recipe list beside it

What it does

Plan the week. Drag recipes onto the days. Tick who is eating, and Cupboard works out the servings: a child can count as half an adult portion, guests count as a full one. A note per day holds what the calendar says, and grocery stops mark when a shop's goods arrive.

Cook from the note. Cook mode shows the ingredients scaled to tonight's servings, step by step, with checkboxes and timers. Each cooking session is a note, so it survives a restart and syncs to the phone.

Cook mode: the ingredients scaled to three servings, ticked off per step

Shop per trip. A shopping list is one trip to one or more shops. Pick the day and the meals it covers, check what is in the house, then shop. The list is sorted in the order you walk through the shop.

Checking stock before a trip: the counter per product, what to buy in red

The shopping step: products grouped by shelf, in walking order

Know what is in the house. Each product is a note: how it is bought, where it lives, how many to keep in stock. Counting is a tap. Tick a meal as eaten and the stock goes down by what the recipe used.

All stock: every product with its count and what to buy

Keep recipes and products in step. The cleanup screen shows every recipe line that does not yet point at a product and helps you fix it in one place.

Cleanup: a recipe ingredient with no product yet, and the ways to resolve it

Works on the phone. Every screen fits a narrow window, so the list you made on the desktop is the one you tick off in the shop. In the shop, tapping a row ticks it off and holding it opens the product; the tick boxes can move to the right edge for a one-handed thumb.

Home screen on a phone-sized window Shopping list on a phone-sized window Cook mode on a phone-sized window

Your notes stay yours

Cupboard reads and writes ordinary Markdown. Nothing is stored anywhere else, and you can edit every note by hand.

  • Recipes are notes in a folder you choose; New recipe (in the recipe list or the command palette) starts one with the right headings. Ingredients are a bulleted list under an ## Ingredients heading; a [[wikilink]] in a line points it at a product. A servings field in the frontmatter says how many the recipe is written for. Any other frontmatter field can be shown on the recipe card and used as a filter.

    ---
    servings: 4
    time: 35
    type: [curry]
    ---
    
    # Chickpea curry
    
    ## Ingredients
    
    - 2 cans [[Chickpeas]] (400 g each), drained
    - 1 can [[Coconut milk]] (400 ml)
    - 2 [[Onions]], chopped
    - 300 g [[Rice]]
    
    ## Method
    
    1. ...
    
  • Products are notes too, one per thing you keep in the house. The frontmatter says how it is bought and where it lives; the body is yours.

    minimum: 2        # keep at least this many
    unit: can
    size: 400 g
    shop: Supermarket
    storage: Cupboard
    shelf: Canned goods
    count: 1
    counted: 2026-09-21
    

    Something you never run out of and never measure, such as salt, gets amount: any instead of a size.

  • Shops are notes with pantry: shop and a list of shelves in the order you walk past them. Add one with + Shop on the Shelves screen or the New shop command.

  • Weekly plans are one note per week. The plan is a meal-plan code block in the note, and the block renders as the planner itself, so the note and the planner tab are the same thing.

    A weekly plan note, with the planner rendered inside it

  • Shopping lists are one note per trip in Cupboard/Shopping/. The choices go in the frontmatter; the body is the checklist, kept in step with the product notes. Tick a box in the note and the product counts as full again.

Every note Cupboard writes carries a format number. A device running an older build reads newer notes but never overwrites them, so two devices on different versions cannot lose each other's work.

Getting started

  1. Install the plugin and enable it.
  2. Click the chef's hat in the ribbon, or run Cupboard: Open home. The setup walks you through the recipe folder, the meals you plan (dinner only, or breakfast, lunch and dinner), and who eats along.
  3. Put recipes in the recipe folder. Link ingredients to products with [[wikilinks]], or run Create products from recipes to make a product note for every linked ingredient at once.
  4. Open the meal planner and drag a recipe onto a day.

The setup wizard

Commands

Command What it does
Open home The overview with the week and every other screen
Open meal planner This week's plan
Open shopping lists Every open list
New shopping list Start a trip
Open all stock Count anything, without a list
Open products The base list of what you keep in the house
Open shop shelves Sort products onto shelves, per shop
Open cleanup Recipe lines that do not yet point at a product
New product Add a product
New recipe A recipe note with the headings Cupboard reads
New shop A shop note with the usual shelves
Create products from recipes A product note for every linked ingredient that has none
Cook this recipe Cook mode for the open recipe note
Continue this cooking session Pick up an open session note
Run setup The first-run walkthrough, again

Settings

Folders for recipes, plans, products, shops, shopping lists and cooking sessions; the day the week starts; how many days ahead a shopping list looks; the meals you plan; the household and each person's portion factor; which recipe fields to show on the cards; how long finished cooking sessions and shopping lists are kept; and which side of a shopping row the tick box sits on.

Development

npm install
npm run dev            # watch build
npm run build          # tests, type check, minified main.js
npm run lint
node scripts/screenshots.mjs   # README screenshots from the demo vault (macOS)

The demo/ folder holds a small sample vault: a household of four, eleven recipes, the products they use, two shops and a planned week. The screenshot script copies it into a throwaway vault and drives Obsidian to take the pictures, so no real vault is ever photographed.

License

MIT

HealthExcellent
ReviewPassed
About
Plan weekly meals by dragging recipes onto days and auto-scale servings by who is eating. Track pantry with product notes that decrement when meals are eaten, build shelf-sorted shopping lists per trip, cook from notes with scaled ingredients and timers, and store everything as plain Markdown in your vault.
CalendarTasksMarkdown
Details
Current version
1.1.0
Last updated
5 days ago
Created
2 months ago
Updates
5 releases
Downloads
327
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
WallWayWallWaydriekeerj
GitHubdriekeerj
  1. Community
  2. Plugins
  3. Calendar
  4. Cupboard

Related plugins

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Operon

Task and project management system that unifies inline tasks and file-based tasks in the same workflows with Tables, Filters, Calendars, Kanban boards, Gantt views, Canvas, and time tracking.

Tasks Calendar Wrapper

Simple wrapper for Tasks Calendar and Tasks Timeline.

Abyss Tasks

A task management interface for Markdown tasks.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Consistent Attachments and Links

Move note attachments and update links automatically.

Full Calendar Remastered

Complete Calendar HUB experience. Work with all your calendars in one place. Analyze your time and take action!