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
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 (for NGINX/Neovim) - 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
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
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
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
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
OpenAI Codex - A lightweight coding agent that runs in your terminal, providing a local coding assistant
Crush - The glamourous AI coding agent for your favourite terminal 💘
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
replit agent - The first developer agent that can learn and work alongside you in your IDE
Methodologies
Spec-driven development (SDD) - A development methodology where you start with a specification that acts as a contract for how your code should behave
SDD Tools
spec-kit - A toolkit to help you get started with Spec-Driven Development
Kiro - An AI IDE designed for the entire development process, from prototype to production
Platforms
OpenHands - A platform for software development agents powered by AI
Benchmarks
SWE-bench - A benchmark for evaluating large language models on real world software issues collected from GitHub
Context Providers
Context7 - An AI agent and tool designed to provide up-to-date documentation for LLMs and AI code editors
Semantic Code Retreival
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