{
  "markdown": "# oh-my-toomuchtalker\n\n[![npm version](https://img.shields.io/npm/v/oh-my-toomuchtalker)](https://www.npmjs.com/package/oh-my-toomuchtalker)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**A global shoutboard for Claude Code.**\nSee what other developers are yelling into the void — right in your statusline.\n\n```\n[OMC] ralph | ctx:67% | [shout] \"새벽 3시 디버깅 중...\" — anonymous\n```\n\n[Get Started](#quick-start) · [How It Works](#how-it-works) · [Commands](#mcp-tools) · [Contributing](#contributing)\n\n---\n\n## What is this?\n\nA 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.\n\n- **Post shouts** from Claude Code with natural language\n- **See random shouts** from other developers on your statusline\n- **Check the leaderboard** to see who's been talking the most\n\nWorks **with or without** [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode). If you have OMC, it chains seamlessly. If you don't, it works standalone.\n\n---\n\n## Quick Start\n\n### Step 1: Install\n\n```bash\nnpm install -g oh-my-toomuchtalker\n```\n\n### Step 2: Setup\n\n```bash\ntoomuchtalker setup\n```\n\nThis will:\n- Install the HUD wrapper to your Claude Code statusline\n- Register the MCP server so Claude can use shout/say/status tools\n- Preserve your existing statusline (OMC, custom, or none)\n\n### Step 3: Shout something\n\nOpen Claude Code and say:\n\n```\n/tmt hello world!\n```\n\nThat's it. Your shout is now visible to every toomuchtalker user.\n\n---\n\n## How It Works\n\n```\nClaude Code\n    |\n    ├── MCP Server (tools)\n    |     ├── say     →  POST /messages   →  Cloudflare Workers  →  D1\n    |     ├── shout   →  GET  /messages/random\n    |     └── status  →  GET  /stats\n    |\n    └── Statusline (HUD)\n          └── wrapper.mjs\n                ├── fetch /messages/random (cached 30s)\n                └── chain to previous statusline (OMC, etc.)\n```\n\nThe project has two parts:\n\n| Component | What it does |\n|-----------|-------------|\n| **MCP Server** | Exposes `say`, `shout`, `talker_status` tools to Claude Code |\n| **HUD Wrapper** | Displays a random shout on the statusline, chaining to any existing statusline |\n\nThe backend is a Cloudflare Workers API with a D1 (SQLite) database. Zero cost, globally distributed.\n\n---\n\n## MCP Tools\n\n| Tool | Description | Example |\n|------|-------------|---------|\n| `say` | Post a message to the shoutboard (max 50 chars) | `/tmt hello from Seoul!` |\n| `shout` | Fetch a random message from the board | `/tmt` |\n| `talker_status` | Show total messages and top 10 leaderboard | `/tmt status` |\n\nAll tools are accessible through the `/tmt` slash command or by asking Claude directly:\n\n> \"shout something on toomuchtalker\"\n> \"what's on the shoutboard?\"\n> \"show me the toomuchtalker leaderboard\"\n\n---\n\n## CLI Commands\n\n```bash\ntoomuchtalker setup       # Install HUD + register MCP server\ntoomuchtalker status      # Check installation state\ntoomuchtalker uninstall   # Clean removal, restore previous statusline\ntoomuchtalker nick        # Set or change your display name\ntoomuchtalker mute        # Mute a user (hide their shouts from your statusline)\ntoomuchtalker unmute      # Unmute a previously muted user\ntoomuchtalker muted       # List all muted users\n```\n\n### Uninstall\n\nClean removal with full rollback:\n\n```bash\ntoomuchtalker uninstall\n```\n\nThis restores your previous statusline exactly as it was before installation.\n\n---\n\n## Compatibility\n\n| Environment | Status |\n|-------------|--------|\n| With oh-my-claudecode | Chains after OMC output: `[OMC] ... \\| [shout] ...` |\n| With other statusline | Chains after existing output |\n| No statusline | Shows shout only |\n| No internet | Gracefully shows nothing (1.5s timeout) |\n\nThe 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.\n\n---\n\n## Configuration\n\nEnvironment variables (optional):\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `TOOMUCHTALKER_API_URL` | `https://toomuchtalker-api.toomuchtalker.workers.dev` | API endpoint |\n| `TOOMUCHTALKER_AUTHOR` | `anonymous` | Your display name |\n\nSet your author name in `~/.claude/settings.json`:\n\n```json\n{\n  \"env\": {\n    \"TOOMUCHTALKER_AUTHOR\": \"yourname\"\n  }\n}\n```\n\n---\n\n## Project Structure\n\n```\noh-my-toomuchtalker/\n├── src/\n│   ├── index.ts              # MCP server entry point\n│   ├── cli/                  # CLI (setup/uninstall/status)\n│   ├── tools/                # MCP tool definitions\n│   │   ├── say.ts            # Post a message\n│   │   ├── shout.ts          # Get random message\n│   │   └── status.ts         # Leaderboard\n│   ├── hud/\n│   │   ├── wrapper.mjs       # Statusline wrapper (self-contained)\n│   │   └── renderer.ts       # Message formatting\n│   ├── api/\n│   │   ├── client.ts         # HTTP client for Workers API\n│   │   └── types.ts          # TypeScript interfaces\n│   └── config/\n│       └── index.ts          # Config with Zod validation\n├── worker/                   # Cloudflare Workers backend\n│   ├── src/\n│   │   ├── index.ts          # Workers entry point\n│   │   └── routes/           # API route handlers\n│   ├── schema.sql            # D1 database schema\n│   └── wrangler.toml         # Cloudflare config\n├── package.json\n├── tsconfig.json\n└── vitest.config.ts\n```\n\n---\n\n## Contributing\n\n```bash\n# Clone\ngit clone https://github.com/tristanjung1006/oh-my-toomuchtalker.git\ncd oh-my-toomuchtalker\n\n# Install deps\nnpm install\ncd worker && npm install && cd ..\n\n# Build\nnpm run build\n\n# Run MCP server locally\nnpm start\n\n# Deploy backend (requires Cloudflare account)\ncd worker && npm run deploy\n```\n\n### Tech Stack\n\n| Layer | Tech |\n|-------|------|\n| Language | TypeScript (ESM) |\n| Runtime | Node.js >= 20 |\n| Build | tsc (no bundler) |\n| Test | Vitest |\n| Backend | Cloudflare Workers + D1 |\n| Validation | Zod |\n| MCP | @modelcontextprotocol/sdk |\n\n---\n\n## Requirements\n\n- **Claude Code** CLI installed\n- **Node.js** >= 20\n- That's it.\n\n---\n\n## License\n\nMIT\n\n---\n\n*Built for developers who have something to say between deploys.*\n",
  "bytes": 6278,
  "sha": "c8bddea8930203324ee5446a4964763121628a600ef88c83224aed8a3a9d1189",
  "repo_slug": "tristanjung1006/oh-my-toomuchtalker",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_tristanjung1006_oh_my_toomuchtalker_oh_m_9d710d88/readme"
}