oh-my-toomuchtalker
v0.1.0
Published
Global dev chat feed for Claude Code statusline
Maintainers
Readme
oh-my-toomuchtalker
A global shoutboard for Claude Code. See what other developers are yelling into the void — right in your statusline.
[OMC] ralph | ctx:67% | [shout] "새벽 3시 디버깅 중..." — anonymousGet Started · How It Works · Commands · Contributing
What is this?
A shared message board that lives in your Claude Code statusline. Post a message, and every developer using toomuchtalker will see it. Think of it as a global developer chatroom, but quieter — one shout at a time.
- Post shouts from Claude Code with natural language
- See random shouts from other developers on your statusline
- Check the leaderboard to see who's been talking the most
Works with or without oh-my-claudecode. If you have OMC, it chains seamlessly. If you don't, it works standalone.
Quick Start
Step 1: Install
npm install -g oh-my-toomuchtalkerStep 2: Setup
toomuchtalker setupThis will:
- Install the HUD wrapper to your Claude Code statusline
- Register the MCP server so Claude can use shout/say/status tools
- Preserve your existing statusline (OMC, custom, or none)
Step 3: Shout something
Open Claude Code and say:
/tmt hello world!That's it. Your shout is now visible to every toomuchtalker user.
How It Works
Claude Code
|
├── MCP Server (tools)
| ├── say → POST /messages → Cloudflare Workers → D1
| ├── shout → GET /messages/random
| └── status → GET /stats
|
└── Statusline (HUD)
└── wrapper.mjs
├── fetch /messages/random (cached 30s)
└── chain to previous statusline (OMC, etc.)The project has two parts:
| Component | What it does |
|-----------|-------------|
| MCP Server | Exposes say, shout, talker_status tools to Claude Code |
| HUD Wrapper | Displays a random shout on the statusline, chaining to any existing statusline |
The backend is a Cloudflare Workers API with a D1 (SQLite) database. Zero cost, globally distributed.
MCP Tools
| Tool | Description | Example |
|------|-------------|---------|
| say | Post a message to the shoutboard (max 50 chars) | /tmt hello from Seoul! |
| shout | Fetch a random message from the board | /tmt |
| talker_status | Show total messages and top 10 leaderboard | /tmt status |
All tools are accessible through the /tmt slash command or by asking Claude directly:
"shout something on toomuchtalker" "what's on the shoutboard?" "show me the toomuchtalker leaderboard"
CLI Commands
toomuchtalker setup # Install HUD + register MCP server
toomuchtalker status # Check installation state
toomuchtalker uninstall # Clean removal, restore previous statusline
toomuchtalker nick # Set or change your display name
toomuchtalker mute # Mute a user (hide their shouts from your statusline)
toomuchtalker unmute # Unmute a previously muted user
toomuchtalker muted # List all muted usersUninstall
Clean removal with full rollback:
toomuchtalker uninstallThis restores your previous statusline exactly as it was before installation.
Compatibility
| Environment | Status |
|-------------|--------|
| With oh-my-claudecode | Chains after OMC output: [OMC] ... \| [shout] ... |
| With other statusline | Chains after existing output |
| No statusline | Shows shout only |
| No internet | Gracefully shows nothing (1.5s timeout) |
The HUD wrapper is designed to never break your Claude Code session. All errors are silently swallowed, API calls have a 1.5s timeout, and results are cached for 30 seconds.
Configuration
Environment variables (optional):
| Variable | Default | Description |
|----------|---------|-------------|
| TOOMUCHTALKER_API_URL | https://toomuchtalker-api.toomuchtalker.workers.dev | API endpoint |
| TOOMUCHTALKER_AUTHOR | anonymous | Your display name |
Set your author name in ~/.claude/settings.json:
{
"env": {
"TOOMUCHTALKER_AUTHOR": "yourname"
}
}Project Structure
oh-my-toomuchtalker/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── cli/ # CLI (setup/uninstall/status)
│ ├── tools/ # MCP tool definitions
│ │ ├── say.ts # Post a message
│ │ ├── shout.ts # Get random message
│ │ └── status.ts # Leaderboard
│ ├── hud/
│ │ ├── wrapper.mjs # Statusline wrapper (self-contained)
│ │ └── renderer.ts # Message formatting
│ ├── api/
│ │ ├── client.ts # HTTP client for Workers API
│ │ └── types.ts # TypeScript interfaces
│ └── config/
│ └── index.ts # Config with Zod validation
├── worker/ # Cloudflare Workers backend
│ ├── src/
│ │ ├── index.ts # Workers entry point
│ │ └── routes/ # API route handlers
│ ├── schema.sql # D1 database schema
│ └── wrangler.toml # Cloudflare config
├── package.json
├── tsconfig.json
└── vitest.config.tsContributing
# Clone
git clone https://github.com/caraxes/oh-my-toomuchtalker.git
cd oh-my-toomuchtalker
# Install deps
npm install
cd worker && npm install && cd ..
# Build
npm run build
# Run MCP server locally
npm start
# Deploy backend (requires Cloudflare account)
cd worker && npm run deployTech Stack
| Layer | Tech | |-------|------| | Language | TypeScript (ESM) | | Runtime | Node.js >= 20 | | Build | tsc (no bundler) | | Test | Vitest | | Backend | Cloudflare Workers + D1 | | Validation | Zod | | MCP | @modelcontextprotocol/sdk |
Requirements
- Claude Code CLI installed
- Node.js >= 20
- That's it.
License
MIT
Built for developers who have something to say between deploys.
