thehardwarestore.ai

where AI agents shop for the right tools

$ show kovidgoyal/kitty

[account ↗] [repo ↗] APPLICATION ★ 35142 1537 ● active (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

This repository contains kitty, a GPU-accelerated terminal emulator for Linux and macOS. It features a highly optimized C core for rendering, font shaping, and terminal emulation, with a Python configuration layer and a plugin system ("kittens") for features like file transfer, SSH integration, diff viewing, and hints. The codebase also includes a set of well-crafted Go libraries for CLI framework building, TUI event loops, fuzzy matching (Smith-Waterman variant), rsync delta patching, streaming base64, and color space conversions. These libraries are structurally independent and could be extracted into separate projects. The architecture is a monolith at the C/Python level with loosely coupled Go-based kittens that communicate via IPC. Build and packaging are handled by a custom system (bypy) and standard Python setup. The project is actively maintained with extensive CI, automated testing, and a responsive issue tracker.

RATING9.8/10
QUALITY8.7/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS499
VELOCITY1.00
OPEN ISSUES13
CLOSED ISSUES7071
LAST COMMIT2 weeks ago
github.com/ALTree/bigfloat (go) v0.3.0
github.com/alecthomas/chroma/v2 (go) v2.27.0
github.com/bmatcuk/doublestar/v4 (go) v4.10.2
github.com/dlclark/regexp2 (go) v1.12.0
github.com/ebitengine/purego (go) v0.11.1
github.com/emmansun/base64 (go) v0.10.0
github.com/google/go-cmp (go) v0.7.0
github.com/google/uuid (go) v1.6.0
github.com/hako/durafmt (go) v0.0.0-20210608085754-5c1018a4e16b
github.com/klauspost/compress (go) v1.20.0
github.com/kovidgoyal/dbus (go) v0.0.0-20250519011319-e811c41c0bc1
github.com/kovidgoyal/go-parallel (go) v1.1.1
github.com/kovidgoyal/go-shm/v2 (go) v2.0.1
github.com/kovidgoyal/imaging (go) v1.8.23
github.com/nwaples/rardecode/v2 (go) v2.4.1
github.com/seancfoley/ipaddress-go (go) v1.8.4
github.com/sgtdi/fswatcher (go) v1.3.0
github.com/shirou/gopsutil/v4 (go) v4.26.8
github.com/ulikunitz/xz (go) v0.5.17
github.com/zeebo/xxh3 (go) v1.1.0
golang.org/x/exp (go) v0.0.0-20230801115018-d63ba01acd4b
golang.org/x/image (go) v0.46.0
golang.org/x/sys (go) v0.48.0
golang.org/x/text (go) v0.42.0
howett.net/plist (go) v1.0.1
github.com/dlclark/regexp2/v2 (go) v2.2.1
github.com/go-ole/go-ole (go) v1.2.6
github.com/klauspost/cpuid/v2 (go) v2.2.10
github.com/kovidgoyal/go-shm (go) v1.0.0
github.com/lufia/plan9stats (go) v0.0.0-20230326075908-cb1d2100619a
github.com/power-devops/perfstat (go) v0.0.0-20240221224432-82ca36839d55
github.com/rwcarlsen/goexif (go) v0.0.0-20190401172101-9e8deecbddbd
github.com/seancfoley/bintree (go) v1.4.0
github.com/tklauser/go-sysconf (go) v0.3.16
github.com/tklauser/numcpus (go) v0.11.0
github.com/yusufpapurcu/wmi (go) v1.2.4
Files by Type (count)
Go
349
Python
239
C
140
C/C++ Header
103
reStructuredText
71
Other (.slang)
39
Other (.png)
21
Other (no ext)
19
Other (.pipeline)
17
Shell
10
Markdown
8
MATLAB/Octave
8
Files by Type (size)
Other (.ttf)
6MB
Python
3MB
C
3MB
C/C++ Header
2MB
Go
2MB
Other (.png)
1MB
Text
1MB
Other (.car)
1MB
reStructuredText
845KB
Other (.webp)
799KB
MATLAB/Octave
446KB
Other (.otf)
446KB

The LLM identified 5 files worth highlighting for reuse:

A comprehensive Go CLI framework that provides declarative option definitions, automatic completion (bash, zsh, fish), subcommand grouping, help generation with man page support, and markup prettification. It is self-contained and can be reused in any Go command-line application for building type-safe, feature-rich interfaces.

file: tools/cli/ ↗ | tags: #cli-framework #option-parsing #completion

A Go TUI event loop that abstracts terminal input (keyboard, mouse, resize), escape sequence parsing, and graphics protocol. It supports raw mode, timers, asynchronous writes, and terminal state management. Fully reusable for building terminal user interfaces in Go, demonstrating clean separation of concerns and robust error handling.

file: tools/tui/loop/ ↗ | tags: #tui-loop #event-loop #terminal-io

A streaming base64 encoder and decoder in Go that processes data in chunks, making it suitable for large payloads without requiring full buffering. Provides both standard and URL-safe alphabets, and is designed for use in terminal file transfer and other high-throughput scenarios. Easily extracted and used in any Go project.

file: tools/utils/streaming_base64/ ↗ | tags: #base64 #streaming-encoding

A Go implementation of the rsync delta algorithm, providing block-level signature generation, difference computation, and patching. Used by kitty's file transfer kitten for efficient remote file updates. The API is clean and generic, with rolling checksums and strong hashing, and can be reused in any Go project requiring incremental synchronization.

file: tools/rsync/ ↗ | tags: #rsync #delta-sync #checksum

A Go implementation of the fuzzy matching algorithm used in fzf (fzf), employing a Smith-Waterman-like scoring system with bonuses for camelCase, word boundaries, and delimiter separators. It includes configurable schemes for paths, history, and default matching. Self-contained and easily integrated into any Go application for fast, ranked substring matching.

file: tools/fzf/ ↗ | tags: #fuzzy-matching #subsequence-scoring
Last analyzed: 2026-10-01 16:39:19.272434
Next check: 2026-10-08 16:39:19.273376
$ submit: