pidge 0.4.4

A fast CLI for e-mail and calendar
pidge-0.4.4 is not a library.

Status

Early days. pidge can sign in to one or more Microsoft 365 / personal Microsoft accounts, browse / search / send / reply to e-mail, manage drafts + attachments, and manage calendars — create / edit / search / reschedule / cancel / duplicate events, move between calendars, RSVP, and create recurring meetings.

Built for AI agents

pidge is designed to be operated by AI coding agents — Claude Code, Codex, Copilot, etc. — on your behalf. You can run it directly too, but the primary surface is your agent.

Wire it into your agent with one command:

pidge ai skill --emit > ~/.claude/skills/pidge/SKILL.md
# or, if you run pidge from a source checkout instead of `cargo install`:
pidge ai skill --emit --from-source > ~/.claude/skills/pidge/SKILL.md

The emitted skill is deliberately small: it teaches the agent the concept plus a handful of patterns (JSON output, confirmation gates, account context) and tells it to use pidge --help for live command discovery — so the skill keeps working as pidge ships new functionality.

Account setup

# Add an account (interactive device code flow)
pidge account add

# List signed-in accounts and which one is default for e-mail / calendar
pidge account list

# Remove an account (interactive picker if more than one is signed in)
pidge account remove

The first account you add becomes the default for both e-mail and calendar; change either with:

pidge account default e-mail   <email>
pidge account default calendar <email>
pidge account default              # prints both currents

Sign in to multiple accounts and pidge merges reads across all of them by default.

Reading the inbox

# Shortcut: list 25 most recent across every signed-in account
pidge mail

# Shortcut: open a specific message by a fragment of its 8-char ID
pidge mail 3515

# Explicit forms
pidge mail list --account kristofer@mklab.se --unread -n 50
pidge mail show 3515 --mark-read

# Pipe to scripts
pidge mail --json | jq '.[].subject'

Calendar

# Shortcut: list events for today + next 7 days across every account
pidge calendar

# Canned windows
pidge calendar --today
pidge calendar --tomorrow
pidge calendar --week
pidge calendar --month

# Open one event by fragment of its 8-char hash
pidge calendar 4cabda75

# Schedule a meeting with attendees and a Teams URL
pidge calendar new \
  --title "Q3 planning" \
  --start "tomorrow 15:00" --end "+90m" \
  --invite alice@example.com,bob@example.com \
  --location "Office" --online

# Recurring weekly team sync
pidge calendar new \
  --title "Team sync" \
  --start "next mon 09:00" --end "+30m" \
  --repeat weekly --on mon --until 2026-12-31

# Reschedule
pidge calendar move-time 4cabda75 --start "fri 14:00"

# Cancel (organizer-only; sends notices to attendees)
pidge calendar cancel 4cabda75 --comment "Postponed to next week"

# RSVP to someone else's invite
pidge calendar rsvp 4cabda75 --accept

# Pipe to scripts
pidge calendar --json --week | jq '.[] | .subject'

Quick Start

# Install (macOS / Linux)
brew install mklab-se/tap/pidge

# Or via cargo
cargo install pidge

# Configure your AI provider (uses ailloy)
pidge ai config

# Check status
pidge ai status

# See what's available today
pidge --help

See INSTALL.md for all installation methods and shell completions.

AI Integration

pidge delegates AI configuration to ailloy, a unified AI provider library shared by the MKLab CLI suite (rigg, mdeck, cosq, pidge). Configure your provider once with pidge ai config and it's available to every ailloy-based tool.

Development

cargo build              # Build
cargo test --workspace   # Run tests
cargo clippy             # Lint
cargo fmt                # Format

See CONTRIBUTING.md for the contributor guide.

License

MIT — see LICENSE.