0libots77 downloadsBuild daily notes, roll over tasks, manage reminders, and turn consistent productivity into visible progress.
ProdLife turns Obsidian into one coherent daily productivity system. It replaces the built-in Daily notes workflow, rolls unfinished work forward without flattening its structure, handles reminders in the formats you already use, and makes progress visible through streaks, achievements, and a GitHub-style heatmap.
Everything stays local in your vault. ProdLife has no account, analytics, network requests, or paid service.
Once ProdLife is accepted into the Obsidian Community directory:
Download main.js, manifest.json, and styles.css from a matching GitHub release and place them in:
<your-vault>/.obsidian/plugins/prodlife/
Reload Obsidian and enable ProdLife under Community plugins. BRAT users can add 0libote/ProdLife.
Daily/YYYY-MM-DD.md with its built-in template.The first-run setup guide can apply a safe recommended workflow or preserve imported settings. Reopen it any time with ProdLife: Open setup guide.
If you already use Daily Notes and Reminder, run ProdLife: Import Daily Notes and Reminder settings before changing either plugin. ProdLife imports their compatible settings without modifying any notes.
ProdLife understands four common formats on Markdown tasks:
- [ ] Send the proposal (@2026-07-12 14:30)
- [ ] Review the release @{2026-07-13}
- [ ] Book the train ⏰ 2026-07-14 09:00
- [ ] Pay the invoice 📅 2026-07-15
A date without a time uses the Default reminder time setting. 📆 and 🗓 work like 📅. Checked tasks do not notify. Completing from ProdLife also writes a small synced completion record, so a stale copy or moved line on another device cannot repeatedly alert. Obsidian cannot provide system notifications on every mobile platform, so ProdLife shows reminders inside the app.
Use Set reminder on current line to open ProdLife's calendar. Choose a day, optionally set a time, or enable All day. Reminder checks wait for the configurable startup delay so Obsidian Sync and third-party sync tools can settle first.
Available variables:
| Variable | Result |
|---|---|
{{date}} |
ISO date, such as 2026-07-10 |
{{time}} |
Current local time |
{{title}} |
Daily note title using your date format |
{{previous_note}} |
Vault path to the previous daily note |
{{rollover}} |
Insert rolled tasks at this exact location |
Formatted Daily Notes variables are also supported, including {{date:YYYY-MM-DD}}, {{date:dddd, D MMMM}}, and {{time:HH:mm}}. Unknown placeholders such as {{daily-five}} are preserved for the plugin that owns them.
Without {{rollover}}, carried work appears under a Rolled forward heading at the end of the template.
The settings page also includes an Add task builder beside the default and weekday template controls. It writes the correct {{date:YYYY-MM-DD}} formula for you, so ordinary template setup does not require memorizing syntax.
Put a schedule macro immediately before the line it controls:
{{schedule * * 1-5}}
- [ ] Weekday planning
{{schedule 1 1,4,7,10 *}}
- [ ] Quarterly review
The three fields are day of month, month, and day of week (0 is Sunday). Each accepts *, comma-separated values, or ranges. The legacy {{obligate ...}} spelling is also supported for easy migration from Obligator.
Archiving never overwrites an existing file. Files with a destination conflict remain in the daily folder.
ProdLife records editor changes as they happen, including typing and paste. It keeps added and removed totals for words, characters, and lines; reducing or deleting a note does not erase historical activity. On first run, existing notes are approximately backfilled using daily-note dates when available and file modification dates otherwise.
The heatmap supports month and year views, metric switching, keyboard navigation, and a selected-day breakdown of added, removed, and net activity. On narrow screens the readable year grid scrolls horizontally instead of shrinking into tiny targets. Set a daily word goal to control intensity. Restrict tracking with Writing folders, or leave it blank for the whole vault.
For cross-device safety, each device writes monotonic counters under a device-local identifier. Obsidian Sync carries the plugin data file, and ProdLife merges the largest counter from each device instead of blindly adding conflicting copies. History remains compact and idempotent.
Select the dashboard layout button beside the ProdLife wordmark to show, hide, reset, or reorder sections. Select the achievement counter to open the full collection with category, progress, target, and unlock date.
Run Import Daily Notes and Reminder settings, verify the imported folder, format, and template, then open today's note through ProdLife. Existing notes and template frontmatter are preserved. ProdLife understands the core plugin's formatted date/time variables.
If you use Daily Five, it currently reads the core Daily Notes configuration. Either leave the core plugin enabled while using ProdLife's commands, or set Daily Five's Fallback Daily Note folder and date format to the same values before disabling Daily Notes. This keeps {{daily-five}} insertion working.
Existing (@date), linked (@[[date]]), Kanban, and Obsidian Tasks reminders continue to work. The import command carries over the default time, linked-date mode, scan interval, and snooze choices. Confirm the ProdLife reminder list before disabling Reminder to prevent missed or duplicate alerts.
ProdLife supports {{obligate ...}}, structured task rollover, previous-note links, nested date formats, empty-heading cleanup, and manual archiving. Select your former Obligator template and note folder in ProdLife settings.
ProdLife enumerates Markdown files because vault-wide Reminder compatibility and optional whole-vault writing history require finding activity outside the daily folder. You can restrict these separately under Reminder folders and Writing folders; for example, Daily, FTL. Persistent history stores dates, aggregate writing counters, device identifiers, and current per-file word baselines in ProdLife's plugin data. ProdLife writes notes only when creating a daily note, adding or completing a reminder, linking adjacent daily notes, or archiving. There is no telemetry or external communication.
Before adopting any new workflow plugin, back up or version-control your vault. ProdLife uses Obsidian's vault and file-manager APIs so changes participate in normal Obsidian file handling.
Requires Bun 1.3.14 or newer.
bun install --frozen-lockfile
bun run check
bun run check runs the Bun test suite, Obsidian-specific lint rules, TypeScript checks, and the production build. To release, run bun pm version patch|minor|major and push the generated version commit and exact numeric tag. GitHub Actions builds and prepares a draft release containing the three Marketplace assets.
ProdLife builds on ideas pioneered by Obsidian Reminder, Obligator, Daily Writing Stats, and Keep the Rhythm. Attribution and license details are in NOTICE.md.