ADHD-first scheduling app (Focus Flow) — fork of FOSS/adhd_scheduling by Ashley Venn
Find a file
2026-07-01 19:40:56 -07:00
.githooks docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00
.github/workflows docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00
apps/focus_flow_flutter feat: complete sqlite runtime persistence plan 2026-07-01 19:40:56 -07:00
archive docs: reset plan around sqlite workflow 2026-06-26 19:38:39 -07:00
Codex Documentation feat: complete sqlite runtime persistence plan 2026-07-01 19:40:56 -07:00
Human Documentation docs: archive completed codex plan 2026-06-29 11:50:37 -07:00
packages feat: complete sqlite runtime persistence plan 2026-07-01 19:40:56 -07:00
scripts docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00
test feat: complete sqlite runtime persistence plan 2026-07-01 19:40:56 -07:00
tool build: add earthly deployment workflow 2026-07-01 14:20:23 -07:00
.earthlyignore build: add earthly deployment workflow 2026-07-01 14:20:23 -07:00
.gitignore build: add earthly deployment workflow 2026-07-01 14:20:23 -07:00
AGENTS.md refactor: group scheduler core src modules 2026-07-01 13:54:28 -07:00
analysis_options.yaml docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00
DOCUMENTATION_PASS_SUMMARY.md docs(readme): sync v1 core handoff 2026-06-24 15:06:24 -07:00
Earthfile build: add earthly deployment workflow 2026-07-01 14:20:23 -07:00
Focus Flow Contributors.md refactor: group scheduler core src modules 2026-07-01 13:54:28 -07:00
LICENSE.md Initial commit 2026-06-19 15:30:42 -07:00
pubspec.yaml docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00
README.md feat: complete sqlite runtime persistence plan 2026-07-01 19:40:56 -07:00
REUSE.toml docs: expand dartdocs and add compliance hooks 2026-07-01 13:36:12 -07:00

ADHD Scheduler Workspace

SQLite-first Dart workspace for the ADHD scheduler backend, persistence adapters, notifications, exports, backups, integration tests, and CI scripts.

Local Workflow

Set up the workspace and local SQLite path:

scripts/bootstrap_dev.sh

Run the local app during development:

scripts/dev.sh

Run the full local quality gate:

scripts/test.sh

The test gate runs analyzer, tests with coverage, combines LCOV output, and fails below 80% package lib/ coverage.

Package a local desktop release with the host toolchain:

scripts/package_release.sh --platform current --output build/releases

Equivalent Dart entry points:

dart run scripts/dev.dart
dart run scripts/build.dart --platform current --output build/releases

The dev script prints the SQLite path, starts dart run build_runner watch, and launches Flutter desktop with SCHEDULER_SQLITE_PATH passed as a dart define. Normal Flutter startup uses that SQLite file for scheduler state rather than inserting seeded demo tasks.

Prerequisites:

  • Dart stable SDK
  • Flutter stable SDK with desktop support enabled
  • platform desktop toolchain: Xcode for macOS, Visual Studio Build Tools for Windows, and Linux desktop build dependencies for Linux

Optional flags:

dart run scripts/dev.dart --device linux --sqlite /tmp/scheduler.sqlite

Earthly Workflow

Earthly is the supported containerized build path going forward. It builds a Linux desktop Flutter bundle and exports a runnable application under builds/.

Install prerequisites on the host:

  • Earthly
  • Docker or another Earthly-compatible container runtime

Set up the Earthly build image:

earthly +setup

Copy code and resolve Dart/Flutter dependencies inside Earthly:

earthly +code

Run all style and metadata checks:

earthly +lint

Build and package the runnable Linux desktop app:

earthly +build

Run lint, build, and package in one command:

earthly +all

Smoke-run the Earthly-built Linux desktop app under a virtual display:

earthly +run

Earthly outputs:

builds/focus_flow_linux_x64/
builds/focus_flow_linux_x64.zip

Useful focused lint targets:

earthly +format
earthly +dart-analyze
earthly +flutter-analyze
earthly +reuse
earthly +docs
earthly +pre-commit

Flutter UI

The provisional UI app lives outside the root Dart workspace at apps/focus_flow_flutter so backend package gates can stay Dart-only while the Flutter foundation settles.

cd apps/focus_flow_flutter
flutter analyze
flutter test

Packaging

scripts/package_release.sh --platform current --output build/releases
dart run scripts/build.dart --platform current --output build/releases

Packaging prerequisites:

  • macOS: Flutter desktop support and Xcode; produces a .app
  • Windows: Flutter desktop support, Visual Studio Build Tools, and msix package configuration available to dart run msix:create
  • Linux: Flutter desktop support plus appimage-builder and AppImageBuilder.yml; produces an AppImage

Tagged CI runs upload release artifacts from build/releases/.