Since the creation of this bounty, Amplenote now implements task streaks to some degree on the Task Stats page. Therefore, this plugin has to do a little bit more in order that initially specced. The new requirements below.
The plugin should have feature parity with Quitly, so refer to this app for more context about each point below:
Works as a "dashboard" plugin (check plugin API documentation for what that means)
Displays a list of tasks at the top of the page, each task is like a "tab" the user can navigate into; navigating into a task will show stats for that task (See below)
Task list:
By default, the plugin does not show any task, but lets the user (A) create new tasks as well as (B) import all tasks from a note
(A) create new tasks
Creating a new task lets the user specify plaintext description and recurrence period, and whether to auto-complete this task on every recurrence (disregard, I think that makes it too complex)
The plugin will start displaying stats for this task
(B) import all tasks from a note
The plugin will prompt the user for a note:
Upon choosing a note, the plugin will identify all of the daily recurring tasks in that note, and show a list to the user
Upon confirmation, the plugin will start tracking and showing tasks for all of those tasks
The plugin will ask the user to choose which of these tasks will start being auto-completed from now on (plugin defaults to all tasks in the list)
Reset button
Somewhere visually associated to the task name, we show a "reset counter" button that lets the user either:
mark the current day as "skipped"
select a specific day to "skip" the task on; all days between that day and the current day as marked as skipped
All of these actions reflect in real task/note actions behind the scenes
Stats:
Below the selected task name/tab, the plugin shows a live counter of days, hours, minutes and seconds since the start of the oldest continuous streak for the current task
Below this, the plugin shows an interactive monthly calendar widget:
Days on which the task was completed are green, days on which it has not are default/gray
Calendar lets the user navigate or otherwise neatly scroll horizontally between months (check Quitly for their calendar - we could have that, but interactive)
Interactivity:
Clicking on a completed day offers the option to "skip the task" for that day
Clicking on a skipped day, offers the option to "complete the task" for that day
All of these actions reflect in real task/note actions behind the scenes
For non-daily-recurring tasks, we fill in the period between completed days with green
Reproduce the tiered goals functionality from Quitly
Reproduce the all time overview functionality from quitly
This plugin's requirements are open-ended; please contact us with your own ideas if you have any!
This plugin works on top of a user's recurring tasks and displays (beautiful ✨) stats
The plugin should have feature parity with Quitly
New habits can be added from within the plugin interface