← Back to posts

Create Autocompletions for your Team's Private CLI tools / Scripts

Sean Sullivan

Today, we are excited to announce our Hosted Autocomplete product πŸš€πŸš€πŸš€

Hosted autocomplete allows teams to create autocompletions for their private CLI tools / scripts. Fig hosts the completions and automatically distributes them to your teammates.

This could be you...

To get started, check out our Create Private Autocomplete Spec guide in our docs

Why did we build this?

Fig's autocompletions are much more convenient to define with our declarative schema than typical shell completions. Completions help save keystrokes, which really adds up when you spend your whole day in the terminal.

Fig's completions also aid in discoverability and documentation of commands. We provide inline descriptions of options, arguments, etc. Providing an inline sort of man page.

Until now, the only way to share completions was to publish them to our open source repository of completions (withfig/autocomplete). This works great for public CLI tools, but many teams have internal CLI tools they want completions for that they don't want to share in our public repo because, well, the tools aren't public...

We built hosted autocomplete to bring all of the quality of life improvements that autocompletions bring to your teams internal tools.

How does it work?

Hosted autocomplete uses a secure CDN to serve private autocomplete to members of your team. We've built out a lot of tooling to make generating, deploying, and versioning private specs really easy.

1. Automatic completion spec generation

Fig integrates directly with many popular CLI frameworks meaning we can automatically generate completions for your CLI tool.

See our integration docs for Cobra, OClif, commander.js, Clap, swift-argument-parser, and click

(If there's a CLI framework you'd like to see added, please get in touch)

2. Automatic spec publishing and version-control

Fig provides a Github action that can automatically re-generate and publish new completions after you make changes to your CLI. This means getting up-to-date completions only needs one time setup(!!).

View our Autopublish with GitHub guide to learn more

Script Completions

By default, private autocompletions are loaded globally. However, you can also configure your private autocompletions to only load when you execute a script in a particular directory.

e.g. For example, if you have tool called my-script.sh in a specific folder, then you can have completions pop-up when you type ./my-script.sh

View our Script Completions guide to get started

What’s next for Fig?

Fig is building tools to make it easier for engineers to collaborate in the terminal. We started by modernizing the terminal with IDE-style autocomplete for public CLI tools. Now hosted autocomplete brings will experience to your private tools too.

We've also recently launched Dotfiles, a shell plugin store, and we're working hard on several more products to power up terminal usage for you and your teammates.

Stay tuned 😎

Want to stay up to date? Follow us on Twitter: twitter.com/fig