create-timer

Create a one-off or recurring timer that emits an event carrying its message.

Scope and access

  • User-scoped timers are private to the authenticated user.
  • Team-scoped timers can only be listed or managed by a team owner.
  • Repo-scoped timers can be listed and fetched by users with repo read access; creating, updating, or deleting one requires maintainer access.
  • A timer UUID is only reachable through its owning user, team, or repo scope.

Usage

pearing-cli create-timer [<message>] [schedule flags] [--status <status>] [--team <slug> | --repo <locator>]

Pass the message positionally, or omit it to read from stdin. Omit --team and --repo for your own timers. Initial status is active by default and may be set to paused.

Schedule fields

JSON / MCP CLI Behavior
run_in --run-in Fire once after a duration such as 5m or 2h.
run_at --run-at Fire once at a future RFC 3339 instant.
every_seconds --every-seconds Repeat on a fixed interval of at least one second.
time_of_day --time-of-day Repeat at a local HH:MM time.
days_of_week --days-of-week Required with time_of_day. Use all for every day, or provide a non-empty selection of three-letter names: Sun, Mon, Tue, Wed, Thu, Fri, Sat.
timezone --timezone IANA timezone for time_of_day; defaults to UTC.

Provide exactly one of run_in, run_at, every_seconds, or time_of_day. API and MCP callers may omit schedule_kind and let the server infer once or interval; the CLI always infers it from the schedule flag.

Examples

pearing-cli create-timer "Check the deployment" --run-in 5m

pearing-cli create-timer \
  "Review the release checklist" \
  --time-of-day 09:00 \
  --days-of-week Mon,Tue,Wed,Thu,Fri \
  --timezone America/New_York \
  --team platform

pearing-cli create-timer \
  "Poll the build" \
  --every-seconds 300 \
  --repo teams/platform/website

Response

Prints the created timer JSON, including its UUID, normalized schedule, status, and next run time.

Errors

  • Exactly one schedule form is required.
  • run_at must be in the future, and calendar schedules require a valid time and IANA timezone.
  • Team timers require team ownership; repo timers require maintainer access.

Help Output

Create a timer.

A timer emits an event carrying its message. Use --run-in or --run-at
for a one-off, or --every-seconds or --time-of-day to repeat.
The message defaults to stdin when omitted.

Examples:

  create-timer "stand up" --run-in 5m
  create-timer "daily standup" --time-of-day 09:00 --days-of-week Mon,Tue,Wed,Thu,Fri
  echo "piped message" | create-timer --run-in 1h

Usage: pearing-cli create-timer [OPTIONS] [MESSAGE]

Arguments:
  [MESSAGE]
          Message delivered with the event. Defaults to stdin when omitted

Options:
      --team <TEAM>
          Address a team's timers. Requires team ownership

      --repo <REPO>
          Address a repo's timers. Read access is enough to list or fetch; create, update, and delete require maintainer access

      --run-in <RUN_IN>
          Fire once after this duration, for example 5m or 2h

      --run-at <RUN_AT>
          Fire once at this RFC 3339 instant

      --every-seconds <EVERY_SECONDS>
          Repeat on a fixed period in seconds

      --time-of-day <TIME_OF_DAY>
          Repeat at this local time of day, as HH:MM. Requires --days-of-week

      --days-of-week <DAYS_OF_WEEK>
          Days to repeat on: Sun, Mon, Tue, Wed, Thu, Fri, Sat, or all

      --timezone <TIMEZONE>
          IANA timezone the time of day is evaluated in. Defaults to UTC

      --status <STATUS>
          Initial status: active or paused

  -h, --help
          Print help (see a summary with '-h')