Skip to content

4rays/icli

Repository files navigation

iCLI

A command-line interface for macOS Calendar and Reminders, backed by a sandboxed app that holds the necessary TCC permissions.

How it works

icli is a thin CLI that communicates with a companion macOS app (iCLI.app) over a local Unix socket. The app holds Calendar and Reminders entitlements; the CLI forwards commands to it and prints the results.

Prerequisites

  • macOS 14 (Sonoma) or later

  • Xcode 16 or later — required to build the project

  • Tuist — used to generate the Xcode workspace

    brew install tuist
  • ~/.local/bin in your PATH — the default install prefix; add the following to your shell profile if needed:

    export PATH="$HOME/.local/bin:$PATH"

Install

Install via Homebrew:

brew install --cask 4rays/tap/icli

Build and install from source:

make install

This generates the workspace, builds both the app and CLI, then installs them to ~/.local/lib/icli/ with a symlink at ~/.local/bin/icli.

On first run, macOS will prompt for Calendar and Reminders access. Grant both.

Usage

icli calendar <subcommand>
icli reminder <subcommand>

Uninstall

make uninstall

Development

Generate the Xcode workspace first:

tuist generate --no-open
make generate   # regenerate Xcode workspace via Tuist
make build      # build without installing
make reset      # kill app, remove socket, reset TCC permissions
make clean      # delete derived data

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors