# streamdal/plumber

A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.

Repository: https://github.com/streamdal/plumber
Canonical: https://ross.abutalabs.com/products/plumber
Homepage: https://streamdal.com
Language: Go
License: MIT
License Family: permissive
Topics: event-driven, kafka, rabbitmq, message-queue, message-bus, event-bus, protobuf, golang, hacktoberfest
Last push: 2025-07-16T23:04:58+00:00

## Health v2 (maintenance only)
Score: 44/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 32, release rhythm 28, longevity 100
- inputs: {"age_days": 2228, "days_push": 413, "days_rel": 617, "gap_med": 50.0, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2157, forks 73 (observed 2026-08-28T04:06:19.779744+00:00)

## What it is
plumber is a single-binary CLI tool for inspecting, reading, writing, and piping data across messaging systems like Kafka, RabbitMQ, and GCP PubSub. It can decode protobuf, avro, thrift, and JSON payloads in real time and relay or replay events between systems.

## Use cases
- read messages from a kafka topic from the command line
- write test messages to rabbitmq queue
- decode protobuf messages in a kafka stream
- pipe messages from one message queue to another
- debug event-driven systems without writing consumer code
- replay events into a local message system
- inspect contents of a pubsub topic

## When to choose
- you need quick visibility into message queues without writing throwaway consumer code
- you want a single portable binary that supports many messaging backends
- you need to decode encoded payloads (protobuf/avro/thrift) on the fly
- you want to route or replay data between messaging systems

## When to avoid
- you need a long-running production message pipeline with guarantees and monitoring
- you need a GUI dashboard for message streams
- you require a managed service rather than a local devtool

## Facets
- artifact type: cli-tool
- maturity: active
- function: message-queue, cli, serialization, developer-tools, streaming
- domain: developer-tools
- platform: cli, windows, go, cross-platform
- tags: kafka, rabbitmq, pubsub, protobuf, avro, event-driven, message-bus, debugging, single-binary, messaging, command-line, data-engineering, automation, macos, linux

## Member repositories
- streamdal/plumber (main) score 44

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:19.779744+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:50:25.795218+00:00, confidence not recorded.
  - readme: https://github.com/streamdal/plumber (fetched 2026-08-28T04:06:19.779744+00:00, sha 15ecce5a20ba)
  - homepage: https://streamdal.com (fetched 2026-08-29T10:30:26.859383+00:00, sha 4792a18f98ed)
  - site_page: https://docs.streamdal.com (fetched 2026-08-29T10:30:26.868441+00:00, sha 44136fa355b3)
  - site_page: https://docs.streamdal.com/en/guides/instrumentation (fetched 2026-08-29T10:30:26.870194+00:00, sha a1dfe7a3443b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
