| app | ||
| migrations | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| config.py | ||
| design.md | ||
| Perfect! Hier ist die Zusammenfassung 2de.md | ||
| progress.md | ||
| README.md | ||
| requirements.txt | ||
| wsgi.py | ||
Steady
Steady is an ADHD-friendly task manager built with Flask. It provides a modular application foundation, secure authentication, task and subtask management, a seven-item Today view, status filters, priorities, progress indicators, and a single-task Focus Mode with countdowns, time blocks, context cues, positive completion feedback, forgiving streaks, bulk text capture, and portable JSON backups with reversible completed-task clearing. Per-user settings control theme, reading style, completion sound, and future reminder frequency.
Local setup
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
flask --app app run --debug
The development server is available at http://127.0.0.1:5000. Copy
.env.example to .env or export its values in your shell. Replace the sample
SECRET_KEY before using the app beyond local development.
Database migrations
Apply the committed migrations after installing dependencies:
flask --app app db upgrade
When a model changes, generate a migration with
flask --app app db migrate -m "Describe the schema change", review the
generated operations, and commit them so every environment applies the same
schema.
Tests
python -m pytest
Tests use an isolated in-memory SQLite database and never write to the local development database.
Data and backups
After signing in, open /tasks/transfer to:
- import up to 200 UTF-8 Markdown or plain-text task lines;
- download a versioned JSON backup without credentials or account identifiers;
- merge or replace tasks from a validated Steady backup; and
- clear completed tasks with an immediate user-scoped undo action.
JSON restore validates the complete file before changing tasks. Keep downloaded backups private because task descriptions may contain personal information.
Personalization
Open /settings/ after signing in to choose Light, Dark, or system-controlled
color mode; enable a dyslexia-friendly local reading style; turn completion
sound on or off; and save a future reminder-frequency preference. The browser
reminder control checks capability only. It does not request notification
permission, register a service worker, or schedule reminders.
Roles and admin placeholder
Steady recognizes user, admin, viewer, and coach roles. Viewers can read
and export their own tasks but cannot mutate task data; the other three roles
retain writes to their own tasks. Ownership checks apply independently of role.
The admin feature is absent by default. Setting FEATURE_ADMIN=true before the
application starts registers /admin/, which remains restricted to the admin
role. It is a data-free placeholder only: user management, role assignment, and
analytics are intentionally not implemented.