halkyon/apps/meditate/README.md
Tizian 「ティツィアーン」 cb026dce8d
feat(meditate): the app: Today, Explore, Profile, the sitting and its bells
halkyon_meditate_flutter on halkyon_app and halkyon_ui (ADR 0038): the
first start, sign-in and account as every Halkyon app's, a bar below
medium windows and a rail with the icon from medium on, fern washes,
Settings in cards (Sync, the operator's, Sitting, Practice, the
account, What's new, About, the version), English and German.

- Today: a greeting by the hour, Sit now at 5, 10, 20 minutes and the
  timer's own length, the practice of the day, the week with the days
  in a row, favourites, recently sat (D9).
- Explore: six practices of Halkyon's own, written for the app, found
  by a search without case or accents, by goal and by kind; each page
  with how it goes, its lengths, its heart and Start (D4, D10).
- The sitting, over the tabs: its time from the clock, a ring counting
  down, the cue of the moment, Pause and End, the bells at the start,
  between and at the end, the screen kept on; ended early, kept from a
  minute on where the person says so (D5, D6).
- Profile: every Halkyon app's, then the person's practice: minutes,
  sittings, days, the week and every sitting kept, to delete (D8).
- Settings and sittings sealed with the person's key and synced (D7).

The bells are synthesised by apps/meditate/tool/bells.py, the icon is
Lucide's sprout from cobalt through pacific into fern
(tool/app_icons.py). Releases and the deploy are a later step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 09:31:56 +01:00

25 lines
1.6 KiB
Markdown

# Halkyon Meditate
Meditation, as a Halkyon app (ADR 0038): a silent timer with bells, Halkyon's own
guided practices as text cues, found by goal and kind, and the person's minutes, days
and days in a row, every sitting sealed and synced between their devices. People choose
an instance, sign in (with SimpleLogin or a password), switch between the accounts on
their devices, sign out and delete their account, as in every Halkyon app.
| Package | What it is |
|---|---|
| [`halkyon_meditate_server`](halkyon_meditate_server/) | The server: Serverpod with the `halkyon_base` module and the sync engine |
| [`halkyon_meditate_client`](halkyon_meditate_client/) | Its client, generated by Serverpod |
| [`halkyon_meditate_flutter`](halkyon_meditate_flutter/) | The app, on `halkyon_app` and `halkyon_ui` (Android, iOS, Linux, macOS, Windows) |
Run it with `serverpod start` in `halkyon_meditate_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_meditate_flutter`. Tests:
`dart run melos run test:dart --scope=halkyon_meditate_server` and
`dart run melos run test:flutter --scope=halkyon_meditate_flutter` at the repository's
root, or `dart run tool/check.dart` for everything.
The app's icon is [Lucide](https://lucide.dev)'s `sprout` (ISC licence, ADR 0031),
drawn by the repository's `tool/app_icons.py`. Its bells are synthesised by
[`tool/bells.py`](tool/bells.py) and are the project's own. Licences: the server under
the SSPL, the client and the app under the AGPL ([`LICENSE.md`](../../LICENSE.md)).