A terminal user interface (TUI) application for interacting with Apache Kafka as both a consumer and producer.
- List available topics
- List consumer groups for a topic
- Listen to messages sent on a topic
- Send messages on a topic
- View configuration for the cluster, topics, etc.
- List brokers on the cluster
- List topics and partitions per broker
go build -o kafka-tui ./cmd/kafka-tuigo install ./cmd/kafka-tui@latestkafka-tui --brokers localhost:9092Or with multiple brokers:
kafka-tui --brokers localhost:9092,localhost:9093,localhost:9094--brokers, -b: Kafka broker addresses (required, can be set viaKAFKA_BROKERSenv var)--timeout: Connection timeout (default: 10s, can be set viaKAFKA_TIMEOUTenv var)--help, -h: Show help--version, -v: Show version
KAFKA_BROKERS: Comma-separated list of broker addressesKAFKA_TIMEOUT: Connection timeout (e.g., "10s", "30s")
kafka-tui/
├── cmd/
│ └── kafka-tui/ # Application entry point
│ └── main.go
├── pkg/
│ └── kafka/ # Core Kafka interaction logic
│ └── client.go
└── go.mod
go build -o kafka-tui ./cmd/kafka-tuigo test ./...Phase 1: Foundation ✅ Complete
- Project structure setup
- Basic CLI setup with urfave/cli
- Kafka client initialization
- Basic bubbletea TUI skeleton
See PROJECT_OUTLINE.md for full project details and roadmap.
See LICENSE file for details.