Back to Explore

moazbuilds/claudeclaw

TypeScript4967324 issues9 contributors
View on GitHub

Summary

ClaudeClaw turns Claude Code into a persistent background daemon that runs cron jobs, heartbeats, and bridges to Telegram/Discord — including voice transcription via Whisper. It wraps Claude Code's existing session model with a scheduler, a web dashboard, and multi-channel messaging so Claude can respond to messages and execute scheduled tasks even when you're not at your terminal.

Great for

building persistent, always-on Claude Code agents that respond to Telegram/Discord messages, execute scheduled tasks via cron, and transcribe voice commands — essentially turning a local Claude Code subscription into a personal AI assistant daemon

Easy wins

  • +Add a CONTRIBUTING.md — there's literally nothing guiding new contributors, and issue #14 shows the maintainer actively wants community input
  • +Add a license file — the repo has no license at all, which is a blocker for anyone who wants to use or contribute to this seriously
  • +Write integration tests or at least smoke tests for the Telegram/Discord message parsing logic (markdownToTelegramHtml, groupTriggerReason, extractReactionDirective) — these are pure functions that are currently completely untested
  • +Add 'good first issue' labels to some of the 24 open issues — currently zero are labeled, making it hard for newcomers to find starting points

Red flags

  • !No license — the repo explicitly has no license, meaning legally no one can fork, distribute, or contribute under clear terms
  • !No tests whatsoever — not a single test file exists in the entire project
  • !No CI — any PR could break everything with no automated safety net
  • !The recursive rate-limit handler in discord.ts (discordApi calls itself after Bun.sleep) could theoretically stack-overflow under a sustained 429 storm — should use a loop
  • !The entire web dashboard JS is embedded as a raw string in src/ui/page/script.ts — no bundler, no linting, no type checking on that code path
  • !commit_count: 1 and contributor_count: 1 — despite showing 9 contributors in the README badge, the actual data suggests near-zero commit history depth, which makes it hard to assess trajectory
  • !The README's comparison table calling everything about OpenClaw a 'nightmare' is marketing fluff with no substance — sets an unprofessional tone that may deter serious contributors

Code quality

decent

The Telegram and Discord command files are well-structured with clear type interfaces, explicit error handling with try/catch in all the right places, and sensible fallback logic (e.g., HTML parse failure falls back to plain text in sendMessage). The UI dashboard JavaScript (page/script.ts) is a sprawling 600+ line string-embedded vanilla JS file with competent but hard-to-maintain DOM manipulation — it works but would be painful to extend. A notable pattern: rate limit handling in discord.ts recursively calls itself after a sleep, which could stack-overflow under sustained rate limiting. The markdownToTelegramHtml conversion is hand-rolled regex, which is reasonable for the scope but has known edge cases with nested formatting.

What makes it unique

This is genuinely differentiated from the typical 'Claude MCP server' repos flooding GitHub right now. The specific combination of cron scheduling + heartbeat daemon + Telegram/Discord bridging + voice transcription, all layered on top of Claude Code's existing session model rather than raw API calls, is a distinct approach. The closest analog would be something like n8n or Zapier workflows but for Claude Code specifically. The 496 stars suggest real traction despite being very new.

Discussion

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts.