The scheduled-runs calendar for Ryu — every agent and workflow scheduled job on Month/Week/Day/Agenda views (past runs from history, upcoming from cron/interval) with a New-automation dialog.
The public home of
ryu-calendar. Source, builds, and releases live here — binaries for every platform are attached to each release.This tree is generated from the Ryu monorepo, so commits pushed here directly are replaced on the next sync. Pull requests are welcome — open them here and they are ported into the monorepo, then flow back out. Ryu as a whole: https://github.com/amajorai/ryu
This is the source of record for the app UI. It imports Ryu's private
@ryu/ui design system, so it does not build standalone outside the
monorepo — it builds inside the amajorai/ryu monorepo workspace.
The shipped bundle below is the built artifact: a prebuilt single-file
companion bundle is included at dist/calendar.ui.html —
the runnable UI Ryu loads for this app.
Apache-2.0 — see LICENSE.
The scheduled-runs calendar: every agent and workflow scheduled job projected onto Month, Week, Day, and Agenda views — past runs from history, upcoming runs from cron/interval schedules — with a New automation dialog that schedules an agent.
ui/— companion (companion-only app, no backend crate). A sandboxed full-page Companion (Path B,ui_format: "html"), built to one self-containeddist/index.htmlviavite-plugin-singlefile. The view components (AgendaView,TimeGridView,CalendarContent,NewAutomationDialog) drive Core's scheduling endpoints through thewindow.ryubridge — no directfetch, no node token in the sandbox.
There is no dedicated backend crate or sidecar: the schedule store, cron/interval projection, and run history live in Core; this app is only the surface.
- Capability grant:
calendar:crud— the bridge capability the companion calls (read schedules + run history, create/edit a scheduled automation). - Runnable: one
companion(Calendar, iconcalendar-04).
A companion route in the shell (label Calendar). The New automation dialog schedules an agent job; past/upcoming runs are unified onto one timeline.