Skip to main content

A TOML based scheduling tool

Project description

Schedule Everything

Schedule Everything logo

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

Schedule Everything is a local-first, AI-assisted scheduling CLI for building a durable weekly routine and then turning today's focus blocks into concrete work.

Workflow

Workflow for building a schedule with rmd setup, then assigning daily tasks with rmd sync

Quick Start

1. Install

git clone --recurse-submodules https://github.com/sergiudm/schedule-everything.git
cd schedule-everything
./install.sh
./third_party/opencode/install --no-modify-path

./install.sh sets up the local environment and config scaffold. OpenCode is required for AI-assisted commands such as rmd setup and rmd sync.

2. Build Your Schedule with One Command!

rmd setup

After a short conversation about your workday, constraints, and habits, rmd setup stores model settings in ~/.schedule_management/llm.toml, builds or updates profile.md, shows a summary for confirmation, and only then writes your schedule files into user_config_0. Later accepted changes are saved as user_config_1, user_config_2, and so on under the same config root while tasks/ remains shared.

Once that schedule exists, the system can remind you about scheduled blocks, habit/deadline prompts, and give you both a live status view and a PDF visualization of the result.

3. Add Tasks and Sync Today

Plans change faster than weekly templates. When that happens, add tasks and sync the current day instead of rebuilding the whole schedule.

rmd add "Finish proposal draft" 9
rmd add "Review PR #128" 7
# Postpone daily urgent alarm until tomorrow (optional third argument: days)
rmd add "Biology homework" 9 1
rmd sync

Set show_tasks_after_change = true under [settings] if you want every successful rmd add ... or rmd rm ... to immediately print the same task table as rmd ls.

rmd sync reads tasks/tasks.json, proposes task assignments for today's pomodoro/potato blocks, and regenerates if you reject the preview with feedback.

4. Check the Result

rmd status
rmd status -v
rmd view
rmd update
rmd switch 0

When a sync overlay exists for today, rmd status shows the block type and the specific assigned event, for example pomodoro: Finish proposal draft. rmd update reloads the reminder service. If your config directory is a git repository, it pulls the latest schedule changes first; otherwise it skips the git step and reloads your local files as-is.

5. Optional macOS Daily Command Center

The repository also includes a Tauri 2 desktop app for macOS. It uses the same local config, tasks, deadlines, habits, and sync overlay files as the CLI, but presents them as a daily command center with quick task/deadline entry, habit checks, and rmd sync proposal review.

You can download a pre-built DMG from the GitHub Releases or build it yourself:

npm install
npm run tauri:dev
npm run tauri:build

npm run tauri:build packages the Python JSON bridge as a sidecar and writes the macOS bundles under src-tauri/target/release/bundle/.

[!TIP] macOS "App is damaged" Workaround: Since pre-built DMGs are unsigned, macOS Gatekeeper may show a warning saying the app is damaged. You can easily fix this by dragging the app to /Applications and running:

xattr -r -d com.apple.quarantine "/Applications/Schedule Everything.app"

Core Commands

Command What it does
rmd setup Build or modify your schedule with a profile-first AI workflow
rmd sync Assign today's pomodoro/potato blocks to tasks with preview + approval
rmd status [-v] Show what is happening now and today's schedule, including synced titles
rmd add/ls/rm Manage the task list that feeds the sync flow
rmd track Record habits
rmd ddl Manage deadlines; entries two or more days overdue are auto-pruned
rmd view Generate a PDF schedule visualization
rmd switch <id> Activate a different user_config_n snapshot and reload the service
rmd mode [j|p] Switch or display the current mode (j mode allows all reminders, p mode cancels specific event alarms)

Manual Setup and Docs

The low-level manual configuration flow has been moved to the docs.

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.9.0.tar.gz (105.5 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.9.0-py3-none-any.whl (129.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: schedule_management-0.9.0.tar.gz
  • Upload date:
  • Size: 105.5 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.9.0.tar.gz
Algorithm Hash digest
SHA256 63175408e3eec03d438c558ae5cfd4d8afec9a0b25455b4a4be0111b7b45a748
MD5 ebb6d98f152afa5f7b39842c1ee60a0a
BLAKE2b-256 9572602fe4e34d8b1c4d5bac224fb31a82212ec4e8f65ec32aaaf4b9a0743a1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for schedule_management-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 257b0ecf44403eec07f514d211e696fe6031c9e0bbeba466570cd7506bec4a9c
MD5 fa72b52b98926f3919f8b493ea499283
BLAKE2b-256 e6116c17e148c547a554b967e0e20c800d7b33deda5af3247ff6a1d38101cb4a

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