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

Bonsai Almanac

Knut Hagane-LundenKnut Hagane-Lunden62 downloads

Track bonsai care windows (repotting, feeding, pruning, wiring, and more) from species notes written in Markdown with frontmatter, right inside your vault.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

An Obsidian community plugin that ports dotknewt/bonsai's "on the bench" care-window tracking into your vault. Species care schedules live as plain Markdown notes — frontmatter plus one ## Heading per care task — so you can read and edit them like any other note, including in Obsidian itself.

What it does

  • Reads species notes from a folder you choose (Settings → Bonsai Almanac → Species folder).
  • Shows an Almanac view (ribbon icon or the Open almanac command):
    • On the bench — every upcoming care window across your species, grouped into Open now, Coming up and Completed.
    • A per-species care plan with check-offs, persisted in the plugin's data file (not written back to your notes).
  • Adds an Import bundled species examples command to copy built-in species templates into your configured species folder.
  • Automatically refreshes when species notes are created, edited, renamed, or deleted.

Species note format

Each species is one Markdown note. Frontmatter carries the species' identity; each ## Heading is a care task.

---
id: juniper-juniperus-procumbens
order: 1
name: Juniper
botanicalName: Juniperus procumbens
---

Optional free-text notes on sourcing/provenance for the care data below.

## Spring health check
- id: j1
- category: other
- start: 04-20
- end: 05-10

Junipers wake late, and a dead one can hold normal foliage colour for weeks
after the roots have died...
  • Frontmatter: id (stable — completion check-offs key on it), order (display order), name, botanicalName.
  • Task sections: title is the heading text, followed by - key: value metadata lines (id, category, start/end as MM-DD), then a blank line and the task's free-text description.
  • category is one of repot, feed, prune, wire, propagate, seed, pest, or anything else (treated as other).
  • end may be omitted — it defaults to the category's typical span (~3 weeks for repotting, ~1 month for pruning, ~2 months for wiring, ~3 months for feeding/pest watch), same as the original bonsai app.

See species/ for canonical ready-to-copy species templates generated from the upstream dotknewt/bonsai seed data.

How to use

  • Clone this repo.
  • Make sure your NodeJS is at least v18 (node --version).
  • npm i to install dependencies.
  • npm run dev to start compilation in watch mode.

Manually installing the plugin

  • Copy over main.js, styles.css, manifest.json to your vault VaultFolder/.obsidian/plugins/bonsai-almanac/.
  • Reload Obsidian and enable Bonsai Almanac under Settings → Community plugins.
  • Set your species folder in the plugin's settings tab, then add species notes (see the format above), or run Import bundled species examples from the command palette to prefill the folder.

Improve code quality with eslint

  • ESLint is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code.
  • This project already has eslint preconfigured, you can invoke a check by running npm run lint.
  • Together with a custom eslint plugin for Obsidian-specific code guidelines.
  • A GitHub action is preconfigured to automatically lint every commit on all branches.

Credits

Ported from the dotknewt/bonsai PWA, including its Markdown+frontmatter species format (PR #29).

API Documentation

See https://docs.obsidian.md

HealthExcellent
ReviewPassed
About
Track species care windows as plain Markdown notes with frontmatter and a heading per task. View an Almanac listing every upcoming care window grouped into Open now, Coming up, and Completed, and manage per-species care plans with persistent check-offs. Refresh on note changes.
CalendarTasks
Details
Current version
0.1.5
Last updated
2 months ago
Created
2 months ago
Updates
4 releases
Downloads
62
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
0BSD
Report bugRequest featureReport plugin
Author
Knut Hagane-LundenKnut Hagane-Lundendotknewt
GitHubdotknewt
  1. Community
  2. Plugins
  3. Calendar
  4. Bonsai Almanac

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.

Gantt Calendar

A powerful visual task management plugin. Visualize and manage tasks created by the Tasks plugin, supporting both emoji and Dataview task formats. Support Feishu Task syncing.

TaskChute Plus

Execute TaskChute that slots today's tasks, tracks projects, adds comments, and keeps you focused on now.

Tasks CalDAV Sync

Bidirectional sync between tasks and CalDAV servers.

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.

Full Calendar Remastered

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