Skip to main content

A TOML based scheduling tool

Project description

Schedule Everything

Logic Tests CLI Tests PyPI version License: MIT Documentation Ask DeepWiki 中文版本

A simple, persistent way to manage your daily schedule.

Add Schedule View Schedule Alert Example Alert Example

✨ Features

  • TOML Configuration: Schedules are defined in clean, human-readable, and version-control friendly TOML files.
  • Dual Alerts: Persistent notifications (modal dialogs) + audible sounds ensure you never miss a reminder.
  • Smart Rotation: Automatically switches between odd-week and even-week schedules.
  • Flexible Events: Supports time blocks (e.g., Pomodoro), specific time points, and recurring daily routines.
  • CLI Suite: Integrated tools for managing tasks, tracking habits, and monitoring deadlines.
  • AI-Ready: Easily generate configurations using LLMs from any text description.

🚀 Quickstart

1. Install

git clone https://github.com/sergiudm/schedule-everything.git
cd schedule-everything
./install.sh

2. Build Your Schedule with AI Assistance

reminder setup

This command will guide you through configuring model credentials and interactively building or modifying your schedules.


🛠️ Manual Setup

1. Setup Configuration

Copy the templates to create your configuration files in config/:

cp config/settings_template.toml config/settings.toml
cp config/week_schedule_template.toml config/odd_weeks.toml
cp config/week_schedule_template.toml config/even_weeks.toml

2. Edit Configs

Define your routine in config/.

  • settings.toml: Global settings and reusable time blocks (e.g., pomodoro = 25).
  • odd_weeks.toml / even_weeks.toml: Your daily schedules.

Example Schedule Entry:

[monday]
"09:00" = "pomodoro"                              # Reusable block (start + end alert)
"14:00" = { block = "meeting", title = "Sync" }   # Block with custom title
"22:00" = "Go to sleep 😴"                        # Simple time point alert

[!TIP] Use our prompts to generate these configs instantly using an AI model.

3. Install

Run the installer to set up the background service:

./install.sh

During installation, existing config is checked and any missing required values are prompted one by one. Follow the output instructions to load the launchd agent if required.

4. Optional: Interactive AI Setup

Use the new setup wizard to configure model credentials and build/modify schedules interactively:

reminder setup

The wizard stores model settings in ~/.schedule_management/llm.toml, checks whether a complete local schedule config already exists, and then guides you to build or modify schedules.


🛠️ CLI Reference

Add the following to your shell profile (e.g., ~/.zshrc) to use the reminder command:

export PATH="$HOME/schedule_management:$PATH"
export REMINDER_CONFIG_DIR="$HOME/schedule_management/config"
alias reminder="$HOME/schedule_management/reminder"

Command Overview

Category Command Description
System reminder update Reload config and restart background service
reminder setup Interactive AI setup for build/modify schedules
reminder status [-v] Show upcoming events (or full schedule)
reminder view Generate and view a PDF schedule visualization
reminder edit <file> Edit a config file directly
reminder stop Stop the alarm service
Tasks reminder add "task" <1-10> Add/update task with importance level
reminder ls List tasks by importance
reminder rm "task" / rm <id> Remove task by name or ID
Deadlines reminder ddl Show deadlines with urgency status
reminder ddl add "name" "MM.DD" Add or update a deadline
reminder ddl rm <events...> Remove one or more deadlines
Habits reminder track [ids...] Log completed habits for today (opens a prompt if no IDs)
Reports reminder report <type> Generate weekly or monthly PDF reports

For detailed usage, refer to the CLI Overview.

Usage Examples

# Add a high-priority task
reminder add "Finish Report" 9

# Add a deadline for Dec 25th
reminder ddl add "Project Launch" "12.25"

# Track habits 1 and 2 as done for today
reminder track 1 2

# Or use the prompt window (no IDs)
reminder track

# Launch interactive setup/build wizard
reminder setup

Habit prompts can also be scheduled automatically via config/settings.toml ([tasks].habit_prompt = "HH:MM").


🗺️ Roadmap

  • Time point alarms
  • Default schedule templates
  • Schedule visualization
  • Installation script
  • Skip-day logic
  • CLI tool
  • Task management system with importance levels
  • Deadline management system
  • Habit tracking system
  • Prompts for LLMs to create TOML configs
  • Daily summary before bedtime
  • Today's tasks overview
  • Self rewarding system
  • History analysis and weekly reports
  • Multi-language support
  • Website for schedule sharing
  • Better alarm UI
  • Windows support

📄 License

Distributed under the MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schedule_management-0.6.0.tar.gz (84.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

schedule_management-0.6.0-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

Details for the file schedule_management-0.6.0.tar.gz.

File metadata

  • Download URL: schedule_management-0.6.0.tar.gz
  • Upload date:
  • Size: 84.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for schedule_management-0.6.0.tar.gz
Algorithm Hash digest
SHA256 b40433286d22aa65d7a887654e4730131839e18749cd6beb3df14e91bfe81125
MD5 f68b65f6d4a9707b37536e30d3a6d2c8
BLAKE2b-256 3f85576dad269ea4bec300c2327d245654d865d56581286cc0e5a90b033aaea0

See more details on using hashes here.

File details

Details for the file schedule_management-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for schedule_management-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96304dd0a507229ecde8906c1c92055990b9cd6efc05e40df4bbd12313ddf5f5
MD5 6f1ab3cb620ca9ad99200cfca206983d
BLAKE2b-256 3e58e84987e9889a408c487dfc507b3c22b27f9e57361d5df18de19fdb456e49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page