Atuin - A tool that replaces your existing shell history with a SQLite database, records additional context for your commands, and optionally syncs your shell history between all of your machines
Search Tools
findutils - The basic directory searching utilities of the GNU operating system
Terminal Emulators - A computer program that emulates a video terminal within some other display architecture
WaveTerm - An open-source, cross-platform, AI-integrated terminal
kitty - The fast, feature-rich, GPU based terminal emulator
Rio Terminal - A modern terminal for the 21st century
Alacritty - A modern terminal emulator that comes with sensible defaults, but allows for extensive configuration
Terminator - A terminal emulator like xterm, gnome-terminal, konsole, etc.
Windows Terminal - The new Windows Terminal and the original Windows console host
Mintty - A terminal emulator for Cygwin, MSYS or Msys2, and derived projects, and for WSL
xterm - A terminal emulator for the X Window System
wterm - A terminal emulator for the web that renders directly to the DOM using a Zig+WASM core, enabling native browser text selection, copy/paste, and accessibility
Technologies & Protocols
Pseudoterminal - A pair of pseudo-devices that provides a terminal-like interface used by programs to emulate a terminal
ANSI escape code - A standard for in-band signaling to control the cursor location, color, font styling, and other options on video text terminals
kitty keyboard protocol - A protocol for terminals to send keyboard events to applications running in them
iTerm2 image protocol - A custom escape code to display images inline in the terminal
Terminal Fonts
Nerd Fonts - A project that patches developer targeted fonts with a high number of glyphs
Share Tech Mono - A monospaced sans serif, based on the Share family
Cascadia Code - A fun, new monospaced font that includes programming ligatures
winpty - A Windows software package providing a Unix-like VT100 console interface for Windows console programs
WSL - A feature of Windows that enables you to run a GNU/Linux environment on your Windows machine without the need for a separate virtual machine or dual booting
WSLg - A project that enables support for running Linux GUI applications (X11 and Wayland) on Windows in a fully integrated desktop experience
Git for Windows - A lightweight, native set of tools that bring the full feature set of the Git SCM to Windows
MSYS2 - A collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software
Python - A programming language that lets you work quickly and integrate systems more effectively
Core Features
Python import system - The mechanism that organizes Python code into modules and packages, facilitating code reuse and structuring large applications
Special method names - The methods, identified by leading and trailing double underscores, that allow classes to implement operations invoked by special syntax
Type Hints - A standard syntax for type annotations of variables, function parameters, and return values, used for static analysis
typing module - The standard library module providing runtime support for type hints
Mypy - An optional static type checker for Python that aims to combine the benefits of dynamic typing and static typing
f-string - A type of string literal, prefixed with 'f' or 'F', which allows embedding expressions inside string constants using minimal syntax
with statement - A statement that simplifies exception handling by encapsulating standard uses of try/finally statements for resource management
contextlib - A module that provides utilities for common tasks involving the with statement
Generators - A simple and powerful way to create iterators, defined using a function with the yield statement
Decorators - A syntax using the '@' symbol for transforming functions and methods, often used for modifying or enhancing them non-intrusively
Coroutine - A specialized generator function, defined with async def, that can suspend and resume its execution, enabling cooperative multitasking
Lambda - A small anonymous function defined using the lambda keyword, restricted to a single expression
Data Classes - A module and decorator providing a concise way to create classes primarily used to store data, automatically generating special methods
Pattern Matching - A feature providing functionality similar to switch statements, allowing matching of values against complex patterns including sequences, mappings, and object structures
Unpacking Operator - The extended usages of the * iterable unpacking operator and ** dictionary unpacking operators to allow unpacking in more positions, an arbitrary number of times, and in additional circumstances
Key Libraries
pathlib - The module offering classes representing filesystem paths with semantics appropriate for different operating systems
dotenv - A library that reads key-value pairs from a .env file and can set them as environment variables
Pydantic - A data validation and settings management library for Python
Tenacity - A general-purpose retrying library for Python
CommonJS - A project with the goal of specifying an ecosystem for JavaScript outside the browser
ES modules - The official standard format to package JavaScript code for reuse
UMD - The patterns for Universal Module Definition for use in the browser, and in AMD and CommonJS-based systems
Core Features
Event-driven - A programming paradigm in which the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs
Spread and rest operators - The syntax that allows an iterable such as an array expression or string to be expanded in places where zero or more arguments or elements are expected
Generator - An object returned by a generator function and it conforms to both the iterable protocol and the iterator protocol
Key Libraries
Lodash - A modern JavaScript utility library delivering modularity, performance & extras
dax - Cross-platform shell tools for Deno and Node.js inspired by zx
Bun Shell - A built-in shell-like interface for running shell scripts
Ruby - A dynamic, open source programming language with a focus on simplicity and productivity
Core Features
Percent notation - A concise syntax for generating various literal types, such as strings, arrays, and regular expressions, using a percent sign and delimiters
Fiber - A lightweight concurrency primitive that allows for cooperative multitasking by pausing and resuming execution
proc - A mechanism to encapsulate a block of code into an object that can be stored, passed, and executed
lambda - A specialized block object that enforces strict argument checking and localized return behavior
then - A method that yields the object itself to a block and returns the result, facilitating functional-style method chaining
define_method - The ability to create and register methods at runtime using define_method, enhancing code flexibility and reducing repetition
instance_eval - A method that evaluates a block or string within the context of a specific object instance, granting access to its internal scope and private methods
Libraries
io-event - The low level cross-platform primitives for constructing event loops
Async - A composable asynchronous I/O framework for Ruby based on io-event
Perl - A family of two high-level, general-purpose, interpreted, dynamic programming languages
Core Features
Special variables - The variables that have a special meaning to Perl
Built-in regex - The syntax of regular expressions in Perl
Context - A property of expressions that determines how they behave when evaluated
I/O operators - The operators used for input and output operations, such as reading from a filehandle
Tcl - A dynamic programming language and a graphical user interface toolkit used for a wide range of applications
Event-driven by design - The built-in event loop that makes it ideal for GUIs and networking
Lua - A powerful, efficient, lightweight, embeddable scripting language
Emacs Lisp - The programming language used to extend and customize the Emacs text editor
S-expression - A notation for nested list (tree-structured) data
Homoiconicity - A property of some programming languages in which the primary representation of programs is also a data structure in a primitive type of the language itself
FIGlet - A program for making large letters out of ordinary text
lolcat - A program that concatenates files, or standard input, to standard output and adds rainbow coloring
cfonts - A tool to print sexy fonts in your console
Perl
Getopt::Long - A module that implements an extended getopt function called GetOptions()
Term::ANSIColor - A module to colorize text using ANSI escape sequences
Text::ANSITable - A module to create a formatted table using ASCII characters and ANSI colors
Python
argparse - The module for parsing command-line arguments
getopt - The C-style parser for command line options
click - A Python package for creating beautiful command line interfaces in a composable way with as little code as necessary
Colorama - A simple cross-platform API for printing colored terminal text from Python
Typer - A library for building CLI applications that users will love using and developers will love creating
Asciimatics - A package that provides a cross-platform, full-screen terminal API for building text-based user interfaces
Python Prompt Toolkit - A library for building powerful interactive command line and terminal applications in Python
Questionary - A Python library for building interactive command line prompts
Urwid - A console user interface library for Python
Textual - A Rapid Application Development framework for Python, built by Textualize.io
Rich - A Python library for rich text and beautiful formatting in the terminal
Ruby
OptionParser - A class for command-line option analysis
colorize - A gem for colorizing text using ANSI escape sequences
TTY - A suite of gems that provide a wide range of tools for building interactive command-line applications
thor - A toolkit for building powerful command-line interfaces
dry-cli - A general-purpose framework for developing Command Line Interface (CLI) applications that represents commands as objects and offers support for arguments, options, and forwarding variadic arguments to sub-commands
Clamp - A minimal framework for command-line utilities that handles parsing command-line arguments and generating help
Javascript
yargs - A library for building interactive command line tools by parsing arguments and generating an elegant user interface
Wishlist - An SSH directory for your private hostkeys and favorite SSH commands
go-tui - A framework for building declarative terminal user interfaces (TUIs) in Go
Rust
clap - A full featured, fast Command Line Argument Parser for Rust
Ratatui - A Rust library for cooking up delicious terminal user interfaces
R3BL - A suite of libraries for building modern terminal apps with Rust
Ansic - A modern, efficient and compile time ansi macro and utilities crate for Rust
C
ncurses - A programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces in a terminal-independent manner
Distributed Version Control - A form of version control where the complete codebase, including its full history, is mirrored on every developer's computer
Core VCS & Clients
Git - A free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency
local repository, remote repository
branch, tag, worktree
push, pull, fetch, rebase, reset, stash
staging, commit
Jujutsu (jj) - A Git-compatible VCS that is both simple and powerful
TortoiseGit - A Windows Shell Interface to Git and based on TortoiseSVN
git lfs - An open source Git extension for versioning large files
Git Lint - A command line interface for linting Git commits by ensuring you maintain a clean, easy to read, debuggable, and maintainable project history
commitlint - A tool that helps your team adhere to a commit convention by linting commit messages
git cliff - A highly customizable changelog generator
Hook Management
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
Lefthook - A fast, polyglot Git hooks manager for any type of project
GitLab SCM - The single source of truth for collaborating on code and projects
GitLab CLI - An open source tool that brings GitLab to your terminal, next to where you are already working with git and your code
Gitea - A painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
Codeberg - A community-led effort that provides Git hosting and other services for free and open source projects
Forgejo - A self-hosted lightweight software forge
Soft Serve - A tasty, self-hostable Git server for the command line
Azure Repos - A set of version control tools that you can use to manage your code
GitHub - The AI-powered developer platform to build, scale, and deliver secure software
GitHub CLI - An open source tool that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place
Trunk Based Development - A source-control branching model, where developers collaborate on code in a single branch called 'trunk', resist any pressure to create other long-lived development branches by employing documented techniques
GitHub Flow - A lightweight, branch-based workflow designed for teams that deploy frequently
GitLab Flow - A simpler alternative to GitFlow that combines feature driven development and feature branches with issue tracking
Conventional Comments - A standard that provides a structured format for code review feedback to improve clarity, reduce misunderstandings, and make comments machine-readable
Danger - A tool to automate team norms in code review
mason.nvim - A Neovim plugin that allows you to easily manage external editor tooling such as LSP servers, DAP servers, linters, and formatters through a single interface
telescope.nvim - A highly extendable fuzzy finder over lists
flash.nvim - A plugin that helps you navigate your code with search labels, enhanced character motions and Treesitter integration
nvim-llama - A simple interface to Ollama for Neovim
Helix - A modal editor, meaning it has different modes for different tasks
GNU Emacs - An extensible, customizable, free/libre text editor — and more
LSP - The protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc.
pyright - A static type checker and language server for Python
Pylance - An extension that works alongside the Python extension in Visual Studio Code to provide performant language support
Ruby LSP - An opinionated language server for Ruby
ShellGPT - A command-line productivity tool powered by AI large language models (LLM)
Nano-PDF - A command-line tool that enables users to edit PDF slides using natural language instructions, powered by AI vision models, with multi-page parallel editing and non-destructive text-layer preservation through OCR
OpenCommit - Auto-generate meaningful commits in a second
AI Commits - A CLI that writes your git commit messages for you with AI
Claude Code - An agentic coding tool that reads your codebase, edits files, runs commands, and integrates with development tools
Plan Mode - A mode that instructs Claude to create a plan by analyzing the codebase with read-only operations, perfect for exploring codebases, planning complex changes, or reviewing code safely
Hooks - The user-defined shell commands or LLM prompts that execute automatically at specific points in the agent's lifecycle
Subagents - The specialized AI assistants that handle specific types of tasks, running in their own context with custom prompts and tool access
Sandboxing - A feature that provides filesystem and network isolation for safer, more autonomous agent execution, using OS-level primitives to enforce these isolations and reduce constant permission prompts
Auto-memory - A feature that allows the agent to automatically accumulate knowledge across sessions by saving notes on build commands, debugging insights, architecture notes, and user preferences without manual intervention
Gemini CLI - An open-source AI agent that brings the power of Gemini directly into your terminal
Conductor - The official project management tool for Gemini CLI
Sandboxing - A feature that isolates potentially dangerous operations from your host system, providing a security barrier between AI operations and your environment, using macOS Seatbelt or container-based methods for isolation
Aider - An AI pair programming tool in your terminal that lets you start a new project or build on your existing codebase
Letta Code - A memory-first coding agent that lives in your terminal
Deep Agents CLI - A terminal coding agent built on the Deep Agents SDK
OpenCode.ai - An open-source AI coding agent for the terminal that provides an interactive TUI to help you understand, edit, and ship code within real repositories
OpenAI Codex - A lightweight coding agent that runs in your terminal, providing a local coding assistant
Kimi Code - A CLI coding agent by Moonshot AI engineered to drop into any dev workflow, supporting codebase analysis, file operations, web search, and parallel sub-agent task handling, powered by the kimi-k2.6 model
Crush - The glamourous AI coding agent for your favourite terminal 💘
ForgeCode - A ZSH-integrated coding harness with a multi-agent architecture for research, planning, and execution, supporting multiple LLM providers and ranking at the top of Terminal-Bench
Desktop Coding Agents
goose - A local AI agent that automates engineering tasks seamlessly
Open Interpreter - An open-source desktop agent that lets you work alongside agents that can read, edit, and create documents on your computer
Agent Zero - An open-source personal AI agent that uses a dynamic toolset to solve complex tasks by writing and executing code, managing its own computer environment, and learning from its actions
AionUI - A Cowork app for AI coding agents with document generation capabilities
Autonomous Coding Agents
SWE-agent - A tool for fixing bugs and issues in GitHub repositories, powered by a family of language models
mini-swe-agent - A smaller, more accessible version of SWE-agent
Devin - An autonomous AI software engineer that can handle complex engineering tasks unassisted within its own sandboxed environment
OpenHands - A platform for software development agents powered by AI
Port - An agentic developer portal to build autonomous workflows to accelerate every aspect of engineering
Agent Orchestration
TAKT (TAKT Agent Koordination Topology) - An open-source framework designed to orchestrate and manage AI coding agents using structured, YAML-defined workflows
KIRA - An agent framework for terminal-based AI tasks that leverages native tool calling, multimodal input, and marker-based completion verification to achieve state-of-the-art performance on Terminal-Bench
Benchmarks
SWE-bench - A benchmark for evaluating large language models on real world software issues collected from GitHub
Terminal-Bench - A collection of harbor-native benchmark tasks for quantifying AI agents' terminal mastery, covering software engineering, machine learning, security, and data science
Context Providers
Context7 - An AI agent and tool designed to provide up-to-date documentation for LLMs and AI code editors
Semantic Code Retrieval
Serena - A powerful coding agent toolkit providing semantic retrieval and editing capabilities
Session Tracking
Entire - A CLI tool that hooks into your git workflow to capture AI agent sessions on every push, creating a searchable record of how code was written and the intent behind every commit