Metadata-Version: 2.4
Name: schedule-management
Version: 0.7.5
Summary: A TOML based scheduling tool
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.10.6
Requires-Dist: pytest>=8.4.2
Requires-Dist: rich>=14.2.0
Requires-Dist: shtab>=1.8.0
Requires-Dist: anthropic>=0.72.0
Requires-Dist: google-genai>=1.31.0
Requires-Dist: openai>=2.7.0
Dynamic: license-file

# Schedule Everything

[![Logic Tests](https://github.com/sergiudm/schedule-everything/actions/workflows/logic-tests.yml/badge.svg)](https://github.com/sergiudm/schedule-everything/actions/workflows/logic-tests.yml)
[![CLI Tests](https://github.com/sergiudm/schedule-everything/actions/workflows/cli-tests.yml/badge.svg)](https://github.com/sergiudm/schedule-everything/actions/workflows/cli-tests.yml)
[![PyPI version](https://badge.fury.io/py/schedule-management.svg)](https://pypi.org/project/schedule-management)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Documentation](https://img.shields.io/badge/docs-GitHub_Pages-blue)](https://sergiudm.github.io/schedule-everything/)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/sergiudm/schedule-everything)
[中文版本](README_zh.md)

AI-assisted time management for people who want a schedule that is easy to use,
local-first, and grounded in healthier defaults instead of pure calendar spam.

`rmd setup` is profile-first: it creates or refines `profile.md`, asks
follow-up questions, summarizes the plan, and only then writes the schedule.
`rmd sync` takes your current tasks and turns today's pomodoro/potato
blocks into concrete work items with a preview-before-save loop.
`rmd` is now the primary CLI name; `reminder` is still shipped as a legacy alias.

## Why This Exists

Most productivity tools are good at filling time and bad at protecting energy.
Schedule Everything is built around a different assumption: good time
management should be easier, more personalized, and more scientifically
informed.

When your preferences are incomplete, the planner leans on evidence-informed
defaults that try to protect:

- enough sleep opportunity instead of routinely cutting sleep for more work
- regular sleep timing instead of large weekday/weekend swings
- consistent movement and exercise across the week
- short recovery breaks during long desk-bound stretches
- earlier placement of demanding work when daylight and flexibility allow

These are heuristics, not medical advice. Real constraints, clinician guidance,
shift work, disability needs, and caregiving realities should override them.

Selected sources:

- Watson NF, Badr MS, Belenky G, et al. Recommended Amount of Sleep for a Healthy Adult. [AASM consensus PDF](https://aasm.org/resources/pdf/pressroom/adult-sleep-duration-consensus.pdf)
- Sletten TL, Weaver MD, Foster RG, et al. The importance of sleep regularity. [Sleep Health, 2023](https://doi.org/10.1016/j.sleh.2023.07.016)
- World Health Organization. Physical activity recommendations for adults. [WHO guidance](https://www.who.int/initiatives/behealthy/physical-activity)
- Albulescu P, Macsinga I, Rusu A, et al. "Give me a break!" [PLOS ONE, 2022](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0272460)
- Figueiro MG, Steverson B, Heerwagen J, et al. The impact of daytime light exposures on sleep and mood in office workers. [Sleep Health, 2017](https://doi.org/10.1016/j.sleh.2017.03.005)

## Why It Feels Easy

- `profile.md` stores durable context about how you work, not just what time blocks exist.
- `rmd setup` asks normal-language questions instead of forcing you to hand-author a calendar first.
- `rmd sync` converts `tasks.json` into titled focus blocks and asks for approval before writing anything.
- The system stays local: TOML files, JSON task data, and a small CLI instead of a cloud dashboard.
- You can still inspect and edit everything manually because the generated files are plain text.

## Quick Start

### 1. Install

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

### 2. Build Your Schedule with AI

```bash
rmd setup
```

This stores model settings in `~/.schedule_management/llm.toml`, builds or
updates `profile.md`, and generates your schedule only after showing you a
summary first.

### 3. Add Tasks and Sync Today

```bash
rmd add "Finish proposal draft" 9
rmd add "Review PR #128" 7
rmd sync
```

`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

```bash
rmd status
rmd status -v
rmd view
rmd update
```

When a sync overlay exists for today, `rmd status` shows the block type and
the specific assigned event, for example `pomodoro: Finish proposal draft`.

## 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 |
| `rmd view` | Generate a PDF schedule visualization |

## Manual Setup and Docs

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

- [Introduction](https://sergiudm.github.io/schedule-everything/docs/intro)
- [Quick Start](https://sergiudm.github.io/schedule-everything/docs/quick-start)
- [Installation](https://sergiudm.github.io/schedule-everything/docs/installation)
- [Configuration Overview](https://sergiudm.github.io/schedule-everything/docs/configuration/overview)
- [CLI Overview](https://sergiudm.github.io/schedule-everything/docs/cli/overview)

## License

Distributed under the **MIT License**. See [LICENSE](LICENSE).
