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.

carapace.shwebsite with examples
Documentation of the library of the binary of the spec book introduction
Core Projects
carapace-bridgecompletion bridge for various frameworks
carapace-pflagflag parser for non-posix variants
carapace-shlexlexer for complex single string arguments
carapace-specYAML spec for custom completions
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