Go to file
Krzysztof kuhy Rudnicki 9a8e7aefd2
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
Fix flaky image_store_io_test "without picker cop…
Todo: 2961b5ff
2026-11-09 08:37:03 +01:00
.agents/skills Add Flutter/Dart agent skills and AI rules for Claude Code 2026-06-22 22:53:03 +02:00
.github/workflows Bump Flutter to 3.47.9, Gradle to 9.8.2 2026-11-02 12:01:25 +01:00
android Bump Gradle wrapper to 9.9.0 2026-11-09 08:22:15 +01:00
assets/icon Launcher: label Todo (Android, desktop entry, PKGBUILD), icon fitted to the shared 340px ink circle 2026-10-23 14:38:14 +02:00
bin One open note per repo, merge tool 2026-11-02 14:11:21 +01:00
desktop Launcher: label Todo (Android, desktop entry, PKGBUILD), icon fitted to the shared 340px ink circle 2026-10-23 14:38:14 +02:00
docs Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 19:49:03 +02:00
lib Fix flaky image_store_io_test "without picker cop… 2026-11-09 08:37:03 +01:00
mcp Add one-command MCP go-live + live verify 2026-11-02 10:45:45 +01:00
packaging/aur Launcher: label Todo (Android, desktop entry, PKGBUILD), icon fitted to the shared 340px ink circle 2026-10-23 14:38:14 +02:00
scripts Add todo app git hooks 2026-11-02 14:28:08 +01:00
test Fix flaky image_store_io_test "without picker cop… 2026-11-09 08:37:03 +01:00
tool Attach images to notes, stored on dufs and kept offline 2026-09-25 14:11:15 +02:00
web Launcher: label Todo (Android, desktop entry, PKGBUILD), icon fitted to the shared 340px ink circle 2026-10-23 14:38:14 +02:00
.fvmrc Bump Flutter to 3.47.9, Gradle to 9.8.2 2026-11-02 12:01:25 +01:00
.gitignore Latest stable dependencies, and the gate that keeps them there 2026-08-28 14:46:50 +02:00
.mcp.json MCP: Dart task server replaces Python todo_mcp 2026-11-02 09:36:44 +01:00
.metadata Make the app compile and run for web, behind platform seams 2026-07-20 13:14:03 +02:00
.pre-commit-config.yaml Add todo app git hooks 2026-11-02 14:28:08 +01:00
AGENTS.md One open note per repo, merge tool 2026-11-02 14:11:21 +01:00
analysis_options.yaml Exclude platform dirs from analysis; refresh the lockfile 2026-08-14 17:20:51 +02:00
CLAUDE.md Adopt the four markdown namespaces and gate them 2026-08-24 15:54:35 +02:00
install_arch.sh Desktop: no stray browser window from extensions; keyboard stays down after backing out of a note 2026-10-23 12:00:26 +02:00
LICENSE Add MIT license 2026-06-14 14:42:45 +02:00
pubspec.lock Bump design_system to 0.3.1 2026-11-08 18:32:58 +01:00
pubspec.yaml Bump Gradle wrapper to 9.9.0 2026-11-09 08:22:15 +01:00
README.md Add headless note CLI (bin/todo_note.dart) reusing app CRDT sync 2026-10-16 15:35:46 +02:00
run.sh Export the backlog to ~/src/todo, not the pre-reorganisation ~/todo 2026-09-12 17:13:21 +02:00
skills-lock.json Add Flutter/Dart agent skills and AI rules for Claude Code 2026-06-22 22:53:03 +02:00

todo

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Headless note CLI

bin/todo_note.dart adds, lists, reads and deletes notes from the PC without the app, as one more sync node (own node_id and CRDT log under $XDG_DATA_HOME/todo-cli, or ~/.local/share/todo-cli). It needs the desktop Firebase session at ~/.config/todo/firebase_auth.json (seed it with python3 ~/src/utils/crdt-sync/tool/seed_session.py --app todo).

dart run bin/todo_note.dart --text "Title

body" --priority high --status in_progress     # prints the new note id
echo "Title" | dart run bin/todo_note.dart     # text from stdin
dart run bin/todo_note.dart --list             # id, priority, status, title
dart run bin/todo_note.dart --get <id>         # full note
dart run bin/todo_note.dart --delete <id>

--list and --get never push; --data-dir <dir> selects a throwaway node. Exit codes: 0 ok, 1 sync/auth failure or note not found, 2 bad arguments. All logic is in lib/cli/ (tested in test/cli/); --help lists every flag.