Todo
Windows-first Microsoft To Do companion built around the shared auth package. Live-verified in read-only mode with WAM and `Tasks.Read`.
python -m pip install -e .
GitHub →
Small, focused tools for real Midtown workflows
Windows-first toys, read-only Microsoft 365 helpers, and a shared auth foundation that keep onboarding compact and practical. Built for our own work first, then polished into reusable tools.
`todo`, `quick-capture`, `mail-triage`, and `calendar-glance` are the current operator-ready tools.
`todo` is already moving through the private WinGet pilot and the vanity feed hostname is in progress.
We feature tools only after the consent surface and the real operator flow are both proven.
These are the tools we have actually exercised in the current wave, with live auth or real local verification behind them.
Windows-first Microsoft To Do companion built around the shared auth package. Live-verified in read-only mode with WAM and `Tasks.Read`.
python -m pip install -e .
GitHub →
Fast capture into notes and workflows, with short command aliases intact and the old `-cli` naming cleaned out of the project shape.
quick-capture --help
GitHub →
Read-only inbox triage with machine-friendly JSON output. Live-verified with WAM and `Mail.ReadBasic`.
.\invoke.ps1 inbox --limit 10
GitHub →
Read-only agenda snapshots for quick planning. Live-verified with WAM and `Calendars.Read`.
.\invoke.ps1 agenda --days 3
GitHub →
The most mature graph-connected toy in the chest, and the reference implementation for the shared Microsoft 365 auth story.
work-context-sync --help
GitHub →
The small reusable auth layer that keeps the Graph toys compact: WAM-first on Windows, common cache behavior, and thin Graph bootstrap.
mtg-microsoft-auth
GitHub →
Most toys are still easiest to run from source. Distribution is real now, but we are still being honest about what is polished versus merely promising.
# Typical local setup
git clone https://github.com/Midtown-Technology-Group/todo.git
cd todo
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -e .[dev]
# Private WinGet pilot
winget source add -n mtg-tools -a https://wonderful-pond-03cdbc40f.7.azurestaticapps.net
winget source update
# Todo is live in the private feed at 0.1.1.
# Final client install validation still needs an elevated pass.
Each toy stays narrow and useful. No kitchen sinks, no sprawling platform story inside a tiny tool.
We optimize early versions for the way we actually work, then expand portability only where it helps.
The current wave favors scopes a normal user can grant cleanly. If a toy trips tenant consent, it gets parked instead of hand-waved.
Parked for now because `Files.Read` triggers tenant consent instead of staying friction-light.
Also parked. `People.Read` is not in the easy-onboarding bucket in this tenant.
`mtg-winget` is live, `todo` is published into it, and the last remaining check is a client-side `winget install` pass with elevation.
Future additions will stick to the same rule: prove the scope story first, then feature the toy.