halkyon/apps/todo
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 2939437c74
feat(todo): a project's Calendar, Upcoming's Display and its 3-day grid (ADR 0033, D17)
A project's Display gains the Calendar layout: Upcoming's week strip
and agenda, now shared as DayAgenda, over the project's tasks it keeps,
with No date beside the month and Future occurrences, each repeating
task also on the days it will come back (calendarOf on Repeat.next),
muted, neither ticked off nor dragged.

Upcoming gets a Display of its own, the same sheet over another target
(DisplayTarget): Agenda or 3-day, done tasks, future occurrences,
sorting, the filters by deadline, priority and label, and in the grid
Colouring by priority, label or project. It is kept in the person's
settings, one sealed row under an ID keyed by the account in the new
synced table todo_settings (migration settings: the table, its index
on spaceId and its foreign key to the space, cascading on delete).

The 3-day grid shows today and the two days after, stepped or swiped
three at a time: tasks without a time all day, timed ones as blocks as
long as they last, overlapping ones side by side (layOutDay). A long
press on a half hour adds a task there for half an hour; Overdue opens
the overdue tasks with Reschedule.

The board's separator builder names its BuildContext, as the root's
analyzer plugin asks (never_discard_build_context).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-01 20:01:00 +01:00
..
halkyon_todo_client feat(todo): a project's Calendar, Upcoming's Display and its 3-day grid (ADR 0033, D17) 2026-11-01 20:01:00 +01:00
halkyon_todo_flutter feat(todo): a project's Calendar, Upcoming's Display and its 3-day grid (ADR 0033, D17) 2026-11-01 20:01:00 +01:00
halkyon_todo_server feat(todo): a project's Calendar, Upcoming's Display and its 3-day grid (ADR 0033, D17) 2026-11-01 20:01:00 +01:00
.gitignore chore: Halkyon Todo's scaffold joins the repository in apps/todo 2026-10-22 18:11:03 +02:00
AGENTS.md feat(todo): a project's Calendar, Upcoming's Display and its 3-day grid (ADR 0033, D17) 2026-11-01 20:01:00 +01:00
CLAUDE.md chore: Halkyon Todo's scaffold joins the repository in apps/todo 2026-10-22 18:11:03 +02:00
README.md feat: the apps' icons as one family, drawn by one tool (ADR 0031) 2026-10-30 15:52:45 +01:00

Halkyon Todo

To-dos, as a Halkyon app: for now a shell on the shared packages. People choose an instance, sign in (with SimpleLogin or a password), switch between the accounts on their devices, sign out and delete their account; the home is empty until Todo's first model.

Package What it is
halkyon_todo_server The server: Serverpod with the halkyon_base module
halkyon_todo_client Its client, generated by Serverpod
halkyon_todo_flutter The app, on halkyon_app and halkyon_ui (Android, iOS, Linux, macOS, Windows)

Run it with serverpod start in halkyon_todo_server, which starts the server (and its embedded PostgreSQL) and the app; or the app alone against an instance with flutter run --dart-define=SERVER_URL=https://…/ in halkyon_todo_flutter. Tests: dart run melos run test:dart --scope=halkyon_todo_server and dart run melos run test:flutter --scope=halkyon_todo_flutter at the repository's root, or dart run tool/check.dart for everything.

The app's icon is Lucide's list-todo (ISC licence, ADR 0031), drawn by the repository's tool/app_icons.py. Licences: the server under the SSPL, the client and the app under the AGPL (LICENSE.md).