Multi-transport project messaging for Afterburner sprints via Telegram, WhatsApp (planned), and console.
https://github.com/davidbmar/tool-telegram-whatsapp · public · shipped
A CLI and API tool that sends checkins and lifecycle notifications (sprint started, agent completed, tests failed) to project-specific group chats. It supports pluggable transports (Telegram, Console, planned WhatsApp) and exposes interfaces via CLI, REST API, MCP server, and Claude skills.
git clone https://github.com/davidbmar/tool-telegram-whatsapp.git cd tool-telegram-whatsapp python3 -m venv .venv && source .venv/bin/activate pip install -e . whatsup setup whatsup send demo "Hello from whatsup!"
flowchart TD
subgraph Interfaces
CLI[CLI: whatsup]
REST[REST API :1202]
MCP[MCP Server stdio]
Skill[Claude Skill]
end
subgraph Core
CoreMod[core.py]
Config[config.json]
History[history.jsonl]
end
subgraph Transports
Telegram[Telegram Transport]
Console[Console Transport]
WhatsApp[WhatsApp Transport<br/>(Planned)]
end
CLI --> CoreMod
REST --> CoreMod
MCP --> CoreMod
Skill --> CoreMod
CoreMod --> Config
CoreMod --> History
CoreMod --> Telegram
CoreMod --> Console
CoreMod --> WhatsApp
Python 3.11+ application with a core module handling configuration loading, event filtering, and message formatting. It uses a transport plugin architecture where specific modules (telegram.py, console.py) handle API interactions. Configuration is stored in JSON, and history is logged to JSONL files.
sequenceDiagram
participant User as User/Agent
participant Interface as CLI/REST/MCP
participant Core as core.py
participant Config as config.json
participant Transport as Transport Module
participant External as Telegram/Console
User->>Interface: send/notify command
Interface->>Core: call send() or notify()
Core->>Config: load_config()
Config-->>Core: return project config
Core->>Core: check event in notify list
alt Event allowed
Core->>Transport: format and send message
Transport->>External: API call / stdout print
External-->>Transport: response/ack
Transport-->>Core: result status
Core->>Core: log to history.jsonl
Core-->>Interface: return result
else Event blocked
Core-->>Interface: return skipped status
end
Integrate into CI/CD pipelines or local development hooks to automatically notify team channels when sprints start, agents finish tasks, or tests fail. Use the REST API or MCP server to connect AI agents (like Afterburner) to team communication channels without hardcoding bot logic.
✓ all on main — nothing unmerged.