Poe - Zulip Bot for Monorepo Changes#
Poe is a Zulip bot that broadcasts daily changelog updates from a monorepo to a configured channel. It integrates with Claude to interpret messages and can help extend its own functionality.
Key Features#
- Daily Broadcasts: Automatically post changelog updates to Zulip
- Claude Integration: Natural language interaction for queries and self-modification
- XDG Configuration: Standard config file locations with fallbacks
- Multiple Commands: Run as daemon or one-shot broadcast
Usage#
Running the Bot#
# Run as a long-running bot service
poe run
# With explicit config file
poe run -c /path/to/poe.toml
# Broadcast changes once and exit
poe broadcast
Configuration#
Poe searches for configuration in order:
- Explicit path via
-c/--config - XDG config:
~/.config/poe/config.toml - Current directory:
poe.toml - Built-in defaults
Config file format (TOML):
channel = "general" # Zulip channel to broadcast to
topic = "Daily Changes" # Topic for broadcasts
changes_file = "DAILY-CHANGES.md"
monorepo_path = "."
Zulip credentials are loaded from ~/.config/zulip-bot/<name>/config or environment variables.
Bot Commands#
When running as a bot, Poe responds to:
helpor?- Show help messagestatus- Show current configurationbroadcast,post changes,post,changes- Broadcast daily changes- Any other message - Passed to Claude for interpretation
Installation#
opam install poe
License#
ISC