docs: document todo plugin behavior
This commit is contained in:
parent
16e1407440
commit
077de94e61
|
|
@ -1,5 +1,5 @@
|
||||||
# verstak-official-plugins
|
# verstak-official-plugins
|
||||||
|
|
||||||
Official Verstak plugins monorepo — files, trash, notes, markdown-editor, preview, activity, journal, browser-inbox, search, secrets, templates + shared packages.
|
Official Verstak plugins monorepo — files, trash, notes, markdown-editor, preview, activity, journal, todos, browser-inbox, search, secrets, templates + shared packages.
|
||||||
|
|
||||||
`Files` shows live workspace files and folders. Global `Trash` contains deleted items from every workspace; restoring never overwrites an existing item, and permanent deletion is confirmed before it runs.
|
`Files` shows live workspace files and folders. Global `Trash` contains deleted items from every workspace; restoring never overwrites an existing item, and permanent deletion is confirmed before it runs.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Todos
|
||||||
|
|
||||||
|
Todos are stored by the official `verstak.todo` plugin under the canonical
|
||||||
|
`todos:global` settings key. A todo is global when `workspaceRootPath` is empty;
|
||||||
|
otherwise that field identifies the top-level workspace folder that owns it.
|
||||||
|
|
||||||
|
The global Todos view aggregates all records and supports workspace, status, text,
|
||||||
|
and due/reminder/updated sorting filters. The workspace Todos view shows only
|
||||||
|
records whose `workspaceRootPath` exactly matches the current workspace. This
|
||||||
|
keeps unassigned and other-workspace records out of a workspace tab and its
|
||||||
|
Overview signals.
|
||||||
|
|
||||||
|
## Stored fields
|
||||||
|
|
||||||
|
Each record has a stable `id`, `title`, optional `description`, optional
|
||||||
|
`workspaceRootPath` and `workspaceName`, `status` (`open`, `done`, or
|
||||||
|
`cancelled`), `priority`, optional `dueAt` and `reminderAt`, `createdAt`,
|
||||||
|
`updatedAt`, and optional `completedAt`. The model also reserves `sourceUrl` and
|
||||||
|
`linkedJournalEntryId` for future source/link integrations.
|
||||||
|
|
||||||
|
## Reminders
|
||||||
|
|
||||||
|
The plugin stores reminder metadata and renders clear indicators for overdue,
|
||||||
|
due-soon, and reminder-due todos. Verstak does not yet have a notification
|
||||||
|
scheduler, so a reminder does not create a native desktop notification or run in
|
||||||
|
the background.
|
||||||
|
|
||||||
|
## Completed Todo to Journal
|
||||||
|
|
||||||
|
From a workspace Todo tab, a completed todo exposes **Create Journal Entry**. It
|
||||||
|
opens the current workspace Journal with a normal, editable form. The form copies
|
||||||
|
only factual data from the todo: title, description, completion date, and zero
|
||||||
|
minutes. It never generates a summary, duration, or billable status.
|
||||||
|
|
||||||
|
The user can edit the Journal form before saving. The saved Journal entry records
|
||||||
|
`sourceTodoId`, which prevents a second Journal entry from being created from the
|
||||||
|
same todo. The Journal plugin owns that link; Todo does not write into Journal
|
||||||
|
storage and therefore does not currently populate `linkedJournalEntryId` on its
|
||||||
|
own record.
|
||||||
|
|
||||||
|
## Visibility
|
||||||
|
|
||||||
|
The Plugin Manager can globally enable or disable the Todo plugin. The current
|
||||||
|
workspace host has no per-workspace or template-level contribution filter yet, so
|
||||||
|
a globally enabled Todo plugin contributes its tab to every workspace. Template
|
||||||
|
visibility will be handled with the workspace/template model rather than by a
|
||||||
|
Todo-specific exception.
|
||||||
Loading…
Reference in New Issue