forked from janek/mostr
e7bfc720db | ||
---|---|---|
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
README.md
mostr
A nested task chat, powered by nostr!
Quickstart
First, start a nostr relay, such as
-
https://github.com/coracle-social/bucket for local development
-
rnostr for production use
cargo run
Creating a test task: nostril --envelope --content "test task" --kind 1630 | websocat ws://localhost:4736
Principles
- active task is tracked automatically
- progress through subdivision rather than guessing
- TBI: show/hide closed/done tasks
Recommendation: Flat hierarchy, using tags for filtering (TBI)
Reference
Command Syntax
TASK
creation syntax: NAME: TAG1 TAG2 ...
TASK
- create task.
- clear filters and reload.TASK
- select task by id
- match by task name prefix: if one or more tasks match, filter / activate (tries case-sensitive then case-insensitive)
- no match: create & activate task
.2
- set view depth to2
, which can be substituted for any number (how many subtask levels to show, default 1)
Dots can be repeated to move to parent tasks
:[IND][COL]
- add / remove property column COL to IND or end>[TEXT]
- Complete active task and move to parent, with optional state description<[TEXT]
- Close active task and move to parent, with optional state description|TEXT
- Set state for current task from text (also aliased to/
for now)-TEXT
- add text note (comment / description)
Property Filters:
#TAG
- filter by tag?STATE
- filter by state (type or description) - plain?
to reset
State descriptions can be used for example for Kanban columns. An active tag or state filter will also set that attribute for newly created tasks.
Available Columns
id
parentid
name
state
tags
hashtags
desc
- accumulated notes of the taskpath
- name including parent tasksrpath
- name including parent tasks up to active tasktime
- time trackedrtime
- time tracked including subtasks- TBI:
progress
- how many subtasks are complete - TBI:
progressp
- subtask completion in percent
For debugging: props
- Task Property Events
Plans
- Relay Selection, fetch most recent tasks first
- parse Hashtag tags from task name
- Personal time tracking
- Unified Filter object -> include sub
- Time tracking: Active not as task state, ability to postpone task and add planned timestamps (calendar entry)
- Web Interface, Messenger integrations
- TUI - Clear terminal?
- Expiry (no need to fetch potential years of history)
- Relay: filter out task state updates within few seconds, also on client side