subroutine calendar
The 4 commands under subroutine calendar, each with its arguments and options.
subroutine calendar [OPTIONS] COMMAND [ARGS]...
Subscribe a calendar application to your work.
subroutine calendar create
subroutine calendar create [OPTIONS] [title]
Make a calendar subscription, and print its address once.
Examples:
subroutine calendar create "My work"
subroutine calendar create "The web rebuild" --project ui
subroutine calendar create "Just mine" --mine --type bug
Give the address to whatever you keep your diary in — Google Calendar, Apple Calendar, Outlook and Thunderbird all take one. Anything with a date shows up there and updates on its own; nothing you do in the calendar comes back here, which is the trade for it working everywhere without an account.
The address is a password. Anybody who has it sees this work, so treat it the way you would treat one: paste it into the calendar application and nowhere else. If it gets out, 'subroutine calendar reset' gives this feed a new one and the old address stops working.
It is shown exactly once, here. Nothing recovers it afterwards, including this program — what is kept is a fingerprint of it rather than the address itself.
It shows what *you* can see, at the moment somebody's calendar asks. Losing sight of a project takes it out of the feed the same day, and there is no way to make one that shows somebody else's work.
Arguments
title(str): What this calendar is for, as a person would say it.
Options
--workspace(str): Whose work to show. Unset means your only one.--project(str): Narrow it to this project and everything under it.--mine(flag): Show only what is assigned to you, rather than everything.--type(str, repeatable): Show only these item types. Repeatable.--expires(str): Stop it working after this day, e.g. 2026-09-01 or now+90d.
subroutine calendar list
subroutine calendar list [OPTIONS]
Show your calendar subscriptions.
Examples:
subroutine calendar list
Never the address, which cannot be recovered — what is printed is the short reference 'reset' and 'revoke' take.
'last polled' is the one worth reading. A calendar application fetches every quarter of an hour or so, so one that has not asked for months is a subscription nobody is using, and revoking it costs nothing.
Options
--revoked(flag): Include the ones that have been stopped.
subroutine calendar reset
subroutine calendar reset [OPTIONS] [reference]
Give a subscription a new address, and print it once.
Examples:
subroutine calendar reset a1b2c3d4
The old address stops working immediately, so this is what to run if one has got out. The subscription itself survives — same name, same scope — which is why this exists rather than making another one.
Whoever was subscribed to the old address will find their calendar quietly stops updating. Nothing tells them, because there is nobody to tell: send them the new address the same way you sent the first.
Arguments
reference(str): The feed's reference, as 'calendar list' shows.
subroutine calendar revoke
subroutine calendar revoke [OPTIONS] [reference]
Stop a calendar subscription for good.
Examples:
subroutine calendar revoke a1b2c3d4
Immediate, and there is no undoing it: the address is checked on every fetch rather than remembered, so it stops working the moment this returns. If you only want a new address, 'subroutine calendar reset' keeps the subscription.
Arguments
reference(str): The feed's reference, as 'calendar list' shows.