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.
Quick Start
# 1. Install (macOS / Linux)
# ...or via cargo: cargo install pidge
# ...other options (pre-built binaries, cargo binstall): see INSTALL.md
# 2. Sign in (opens your browser)
# 3. Try it
See INSTALL.md for all installation methods and shell completions.
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:
# or, if you run pidge from a source checkout instead of `cargo install`:
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 (opens your browser — auth code + PKCE)
# List signed-in accounts and which one is default for e-mail / calendar
# Remove an account (interactive picker if more than one is signed in)
The first account you add becomes the default for both e-mail and calendar; change either with:
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
# Shortcut: open a specific message by a fragment of its 8-char ID
# Explicit forms
# Pipe to scripts
|
Calendar
# Shortcut: list events for today + next 7 days across every account
# Canned windows
# Open one event by fragment of its 8-char hash
# Schedule a meeting with attendees and a Teams URL
# Recurring weekly team sync
# Reschedule
# Cancel (organizer-only; sends notices to attendees)
# RSVP to someone else's invite
# Pipe to scripts
|
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:
and it's available to every ailloy-based tool.
Development
See CONTRIBUTING.md for the contributor guide.
Releasing
Releases are driven by the /release skill (run it in Claude
Code with major, minor, or patch). It updates the toolchain and dependencies, runs the CI
gates, bumps the version, updates the changelog, then commits, pushes, and tags vX.Y.Z. Pushing
the tag triggers .github/workflows/release.yml, which:
- Re-runs the full CI suite
- Builds auditable binaries for Linux, macOS (Intel + ARM), and Windows, with a CycloneDX SBOM per target
- Creates a GitHub Release with the archives and SBOMs (see INSTALL.md for how to read them)
- Publishes
pidge-core, thenpidge-client, thenpidgeto crates.io - Updates the Homebrew formula in
mklab-se/homebrew-tap
Required secrets
Configure these once on the GitHub repository (the same secrets are used by the other MKLab tools):
| Secret | Where | Purpose | How to create |
|---|---|---|---|
CARGO_REGISTRY_TOKEN |
Environment crates-io |
Publish to crates.io | crates.io/settings/tokens → new token with publish scope |
HOMEBREW_TAP_TOKEN |
Repository secret | Push the formula to the tap | A GitHub PAT with repo scope for mklab-se/homebrew-tap |
If HOMEBREW_TAP_TOKEN is missing, the release still succeeds — the Homebrew step just logs a warning.
Changelog
Curious what's new? See CHANGELOG.md for the full history of changes, newest first.
License
MIT — see LICENSE.