charmbracelet/wish

Make SSH apps, just like that! 💫

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 19 minutes ago
Added to GitGenius on September 12th, 2026
Created on December 19th, 2019
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 123
Total Stargazers: 5,509 (+0)
Total Subscribers: 15 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.9 days
Mean response time: 105.7 days
90th percentile: 366.1 days
Tracked items: 17

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 625 days
Stale 30+ days: 5
Stale 90+ days: 3

Recent activity

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

Top labels

  • enhancement (4)
  • bug (2)
  • question (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Wish is a library for building SSH servers in Go that serve custom applications beyond traditional shell access.

The project addresses the challenge of creating secure, remotely accessible applications by leveraging SSH as an application protocol rather than just a remote shell mechanism. SSH provides built-in security, user identification through keys, and terminal access without certificate management overhead. Wish wraps the underlying SSH protocol implementation with sensible defaults and a middleware system, allowing developers to compose SSH handlers that process requests and pass control to the next handler in the chain. This middleware pattern is familiar to developers who have used HTTP frameworks.

Wish suits projects that need secure remote access to interactive applications. It is particularly well-suited for serving terminal user interfaces over SSH, as demonstrated by the Bubble Tea middleware which connects SSH sessions directly to interactive applications with native handling of window resizing. The Git middleware enables SSH-based Git server functionality with custom authentication. The project is built on an existing SSH library and is designed to integrate into existing Go projects rather than replace them entirely. Developers should choose Wish when they want to build custom SSH applications without managing the low-level protocol details or when they need to add SSH capabilities to existing services.

The project maintains active development with regular commits addressing bug fixes and feature improvements. The codebase includes comprehensive test coverage and passes continuous integration checks. Documentation is thorough, with examples and middleware implementations clearly explained in the README. The maintainers respond to issues and pull requests, indicating ongoing engagement with the user community.