I began using Fig when it was just a tool to add autocomplete to the command line, but I have been following its development and it has made some pretty impressive additions to its feature set.
Fig is a command line enhancing tool available on MacOS, Linux, and Windows - as of the time of writing, their autocomplete feature is only available on macOS.
As mentioned, this was the original draw to Fig for me.
Fig’s autocomplete works great for browsing through directories, helps figure out commands to run for git and even can tell what npm scripts are available from your
Autocomplete supports a ton of CLI tools. I’ve used it for node, dotnet, git, bash, and more.
Fig’s autocomplete spec is available open source, so completions can be added easily and made public for others to use. The pro version allows adding private autocompletion for your team’s internal command line tools.
Fig’s scripting functionality is where things get pretty interesting.
You can use their scripting editor to build out scripts that can prompt your input. This makes it easier to run sets of commands while keeping you focused on the more important parts.
Fig also has a script store where you can browse scripts created by others and add them to your list of scripts.
Scripts can be shared with your team or made publicly available within the script store. Scripts will also sync across devices so you always have access to them.
Fig lets you manage your shell configuration easily with their dotfile manager.
I have found this particularly helpful with creating aliases for commands. As with scripting, dotfiles will synchronize across all devices you use Fig with, so aliases that you set up on one will work the same way on all your machines.
The plugin store lets you add even more functionality to your setup.
You can easily install shells and frameworks such as Oh My Zsh, more auto-completion, color schemes, and much more.
I have installed Oh My Zsh and the Spaceship Prompt using the plugin store.
As with all tech companies currently, Fig is also implementing AI. I haven’t tried this feature yet, but it does seem promising.
The basic concept is that you can explain in plain language what you want to do in the command line and Fig’s AI will be able to generate the proper command to use.
The example on their website shows the user asking the AI to “reverse most recent git commit” and the AI spitting out:
git revert --soft HEAD^
This certainly has the potential to save me time trying to search for the right command in sticky situations.
My experience so far using Fig has been pretty great, honestly. I have run into some issues here and there, but they do provide an easy command to troubleshoot issues:
I feel the autocompletion is useful enough as is, but Fig has added a great feature set on top of that to help make using the command line simpler.
I know there are some hardcore command line enthusiasts out there that will probably stray away from a tool like this, but I would still recommend giving it a shot and seeing if it could help improve your development process.