In A Nutshell

Carapace is a shell completion library (carapace-sh/carapace) as well as a binary containing a collection of shell completers (carapace-sh/carapace-bin). It works across multiple operating systems and multiple POSIX and non-POSIX shells.

Getting Started

Refer to Install and Setup to get it up and running on your system.

You can use any shell you want, but it is highly recommended to give Elvish a try. Not only shows it best what Carapace can do. It is pretty awesome anyway.

LinkDescription
carapace.shwebsite with examples
Documentation
carapace-sh.github.io/carapacedocumentation of the library
carapace-sh.github.io/carapace-bindocumentation of the binary
carapace-sh.github.io/carapace-specdocumentation of the spec
carapace-sh.github.io/carapace-pixipicture book introduction
Core Projects
carapacelibrary
carapace-binbinary
carapace-bridgecompletion bridge for various frameworks
carapace-pflagflag parser for non-posix variants
carapace-selfupdatesimple self-update mechanism
carapace-shlexlexer for complex single string arguments
carapace-specYAML spec for custom completions
Scraper
carapace-spec-clapspec generation for clap-rs/clap
carapace-spec-kingpinspec generation for alecthomas/kingpin
carapace-spec-kongspec generation for alecthomas/kong
carapace-spec-manspec generation for manpages
carapace-spec-urfaveclispec generation for urfave/cli