mirror of
https://github.com/kuhyx/todo-app.git
synced 2026-11-10 21:27:01 +01:00
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
file-length / file length <= 250 lines (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
release-apk / release (APK) (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Four optional note fields (repo, done_check, by, evidence) in the crdt_sync record, written only when set, so editing a plain idea stays wire-identical to v3 (note_repository_sync_compat_test). The log is schemaless: no stored schema version; the legacy sqlite reader stays at v3. NoteFilter gains a sources facet (ideas / every repo task / one repo); search also matches the repo. The notes list shows only open ideas by default (no badge); the filter sheet adds Ideas, Repo tasks and one chip per repo when repo tasks exist. The per-note sheet shows the task fields read-only. BACKLOG.md markers carry the new attributes, entity-escaped. CLI: --repo --done-check --by on add, --close <id> --evidence (refused without), --list [--repo] [--status], --search, and every id flag takes a unique 8-character prefix. --list prints id8, status, priority, repo, title. install_hooks.sh: the wrapper finds pre-commit's generated hook next to itself, so commits from a git worktree (where .git is a file) work. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.8 KiB
Dart
33 lines
1.8 KiB
Dart
/// Usage text printed by `--help` and after a usage error.
|
|
const kUsage = r'''
|
|
Usage: dart run bin/todo_note.dart [options]
|
|
|
|
Adds a note to the todo app headlessly: pulls from Firebase RTDB, writes an
|
|
ordinary CRDT change as this install's own node, pushes, and prints the id.
|
|
A note with --repo is a repo task; one without is a plain idea.
|
|
|
|
--text <markdown> note text (first line = title); default: read stdin
|
|
--priority <p> low|medium|high (default medium)
|
|
--status <s> todo|in_progress|done|abandoned (default todo);
|
|
with --list/--search: show only that status
|
|
--repo <owner/name> repo task's repository, e.g. kuhyx/todo;
|
|
with --list/--search: show only that repo's tasks
|
|
--done-check <cmd> shell command, run from the repo root, exit 0 = done
|
|
--by <who> claude|kuhy
|
|
--list pull, then print live notes, one per line:
|
|
8-char id, status, priority, repo (- for none), title
|
|
--search <q> as --list, only notes whose text or repo contains q
|
|
--get <id> pull, then print one note in full (exit 1 if absent)
|
|
--delete <id> pull, tombstone the note, push
|
|
--set-status <id> <s> pull, change the note's status (as --status), push
|
|
--close <id> --evidence <s>
|
|
pull, set status done + evidence (commit sha + done
|
|
check exit code), push; refused without --evidence
|
|
--data-dir <dir> local log + node id (default
|
|
$XDG_DATA_HOME/todo-cli or ~/.local/share/todo-cli)
|
|
-h, --help this text
|
|
|
|
<id> is a full id or a unique prefix of at least 8 characters.
|
|
--list, --search and --get never push.
|
|
Exit codes: 0 ok, 1 sync/auth failure or note not found, 2 bad arguments.''';
|