nats-io/natscli

The NATS Command Line Interface

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on April 17th, 2022
Created on December 3rd, 2020
Open Issues & Pull Requests: 34 (+0)
GitHub issues: Enabled
Number of forks: 176
Total Stargazers: 831 (+0)
Total Subscribers: 10 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.0 hours
Mean response time: 61.8 days
90th percentile: 105.8 days
Tracked items: 190

Maintainer activity

2 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

How this project is maintained

About 5% of issues opened in the past year have never received a reply. 63% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. 84% of issues opened in the past year have been closed, leaving a working backlog. Three people close 91% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 24
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 500 days
Stale 30+ days: 19
Stale 90+ days: 16

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • defect (99)
  • proposal (80)
  • enhancement (4)
  • bug (1)
  • good first issue (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

The NATS Command Line Interface is a Go-based utility designed to interact with and manage NATS, a cloud-native messaging system. The repository provides comprehensive command-line tooling for operators and developers working with NATS infrastructure, covering everything from basic message publishing and subscription to advanced cluster management and performance testing.

The CLI supports a wide range of operational capabilities organized around several core domains. JetStream management allows users to create, configure, and monitor NATS's persistent streaming layer. Key-Value and Object Store management provide interfaces for these specialized NATS features. The tool includes Service API management for working with NATS's request-reply patterns and microservices architectures. Users can perform JetStream data and configuration backups, publish and subscribe to messages, create and invoke services, and run benchmarking and latency tests to evaluate network performance. The CLI also provides deep system account inspection and reporting capabilities, configuration context maintenance for managing multiple server connections, access to the NATS ecosystem schema registry, and monitoring of streams, consumers, services, servers, and credentials.

A distinctive feature is the configuration context system, which allows users to maintain multiple named configurations for different NATS deployments. Contexts are stored as JSON documents in the user's home directory and can be easily switched between, supporting workflows where operators manage multiple NATS clusters or environments.

The repository shows active development and maintenance.

Installation is available through multiple channels including GitHub releases with packages for various operating systems, direct Go installation via go install, Homebrew for macOS, Scoop for Windows, and AUR for Arch Linux. Nightly Docker images are also provided for users wanting the latest development builds.

The CLI includes sophisticated messaging features such as support for HTTP-style headers in message publishing, queue group load sharing for subscribers, and message translation capabilities that allow piping message data through external commands like jq for formatting or processing. The benchmarking suite enables performance testing of core NATS, JetStream, and service-based architectures with configurable parameters for message size, concurrency, and throughput rates.

For cluster and super-cluster environments, the tool provides lifecycle event monitoring, server discovery and observation, and comprehensive reporting across distributed deployments. These capabilities require a system account to be configured on the NATS servers but provide visibility into client connections, subscriptions, and network topology across entire clusters.