DEV Community

Cover image for Autocomplete and Artificial Intelligence in your Terminal
Leonardo Montini for This is Learning

Posted on • Originally published at leonardomontini.dev

Autocomplete and Artificial Intelligence in your Terminal

I get asked on every single video what is this autocomplete I’ve got on my terminal, and the answer is... drum rolls... fig.io!

Actually, it's much more than a simple autocomplete, even if to be honest it's what I use 90% of the time.

If you want to see a showcase of some of the major features, as usual, I recorded a video and you can find it on YouTube!

Still here? If you're not a video guy, feel free to read the article instead!

Autocomplete

Let’s give a closer look at autocomplete.

What you could expect from an autocomplete is to suggest you the next command while typing it. Or for example, getting the list of all the files in the current directory.

Fig does much much more! When you start typing a command (for example git checkout) you will see fig suggesting all the possible flags and options you can use, for example --force or -b.

Enough? Not yet! You can also see on the recommendations all the available branches you can pass as argument to the command!

Fig branch

I mean, it's cool on an image, but you should really have a look at the video to see it in action!

You will be surprised to notice that as soon as you start typing git, you will see in the autocomplete some weird commands, like cma or lgo. What are those? Well, they are the aliases I defined in my dotfiles, and fig is able to read them and suggest them to me!

Fig Alias

Artificial Intelligence

The coolest feature right after autocomplete is… well, the name is self explanatory… artificial intelligence. We’re in 2023, AI is everywhere, including our terminals.

With fig, you can start typing fig ai to get some help.

To begin with, let's start with a simple fig ai -h to get the help.



English -> Bash translation

Usage: fig ai [INPUT]...

Arguments:
  [INPUT]...

Options:
  -h, --help  Print help


Enter fullscreen mode Exit fullscreen mode

It's all there on the first line, it translates English to Bash. Just write in plain english what you want to do and fig will translate it to a bash command for you!

Then you can either use it, edit it or ask the ai to generate a new command.

Again, I think it doesn't give it justice just written as a blog post, you should really really watch the video or even better try it yourself.

Custom scripts

In a concept similar to alias, you can define some custom scripts and give them a name.

When you type fig run in your terminal, you will get a list of all the scripts you defined.

There's also a script store where you can find some scripts other people created and use them directly in your terminal.

Plugins

Similar to the scripts and the script store, you can find plugins aaaand a plugin store.

With plugins you can even further enhance your terminal experience.

Dotfiles

Fig helps you manage aliases, variables, paths and more, all in one place.

As you can see in the video I'm not really using this feature, but I think I should. It's one of those nice to have that you can easily live without, but once you discover them you start thinking why you haven't started using them earlier.

Open Source

Did I already mention the autocomplete is Open Source? You can contribute on GitHub.

Plugins are open source too and you can add yours directly on the repo!

Actually, feel free to go on the withfig page and have a look at all the repos, there's a lot to discover.

Closing

And that’s it! It wasn’t a paid sponsorship but I genuinely enjoy using fig’s autocomplete every day and since you asked many times I though it was cool to make an entire piece of content about it.

Do you also use fig and its other features? Let me know in the comments!


Thanks for reading this article, I hope you found it interesting!

I recently launched my Discord server to talk about Open Source and Web Development, feel free to join: https://discord.gg/bqwyEa6We6

Do you like my content? You might consider subscribing to my YouTube channel! It means a lot to me ❤️
You can find it here:
YouTube

Feel free to follow me to get notified when new articles are out ;)

Top comments (25)

Collapse
 
junaidp7 profile image
junaidP7

is this available for bash terminal on Ubuntu?

Collapse
 
balastrong profile image
Leonardo Montini

There's a waitlist here: withfig.typeform.com/linux

However I don't know about the timings

Collapse
 
banzyme2 profile image
ENDEESA

The tool I've ive been dreaming about. Cant wait to try it out!

Collapse
 
trinhcamminh profile image
MINHCT

Currently this is only available for OS right sir ?

Collapse
 
raguay profile image
Richard Guay • Edited

It is currently available on the macOS, but the Windows/Linux version is near completion. You can join the waiting list for them.

Collapse
 
ebdurrehm profile image
Abdurrahim Ahmadov

Hi bro, you can install it on your linux machine
curl -SsL https://fig.io/install.sh | bash

Collapse
 
trinhcamminh profile image
MINHCT

Does this support auto-complete sir because I see they write on their documentation that auto-complete will not be supported for this headless installation

Thread Thread
 
ebdurrehm profile image
Abdurrahim Ahmadov • Edited

Yes, I use auto-complete feature on my linux-mint fig.io/user-manual/linux#supported...
Image description

Thread Thread
 
trinhcamminh profile image
MINHCT

Image description

Hi there. I have installed like you told me before but why I'm still not see the auto-complete feature 😥. (I'm using WSL 2 anyway)

Collapse
 
hoangphu98 profile image
Hoang Phu

Wait for Linux installation soon and follow project +1

Collapse
 
ebdurrehm profile image
Abdurrahim Ahmadov

Hi,
curl -SsL https://fig.io/install.sh | bash

Collapse
 
digitalmouse profile image
Jimm

Not as easy it seems. Running Debian 11 under WSL2. Getting the following errors:

  • During installation:
    error: Unsupported init system:

  • During running fig for the first time:
    $ fig
    error: failed to launch fig: launching Fig from remote installs is not yet supported

Thread Thread
 
digitalmouse profile image
Jimm

also when installing on modern external Debian 11 server:

✨ Fig has been installed ✨
To get started, just run fig

root@localhost:~# fig
error: failed to launch fig: launching Fig from remote installs is not yet supported
root@localhost:~#

Thread Thread
 
ebdurrehm profile image
Abdurrahim Ahmadov

I have installed it following instructions on this page: fig.io/user-manual/linux#supported...

Now, it works seamless on my linux mint 21.1

Thread Thread
 
balastrong profile image
Leonardo Montini

That's great, thanks for sharing!

Collapse
 
corysus profile image
Almir

This tool is unstable, most of time not working!

Collapse
 
balastrong profile image
Leonardo Montini

Really? I had some troubles setting it up the first time to be honest, but after that I never had any particular issue.

What is happening in your case? If it's just not showing up make sure the app is launched automatically when the computer turns on, I also had this issue now that I think about it... but once set properly it worked fine :)

Collapse
 
corysus profile image
Almir

Also sometimes consume a lot off memory ... it's cool app and useful but still need improvements on stability. Autocomplete not working, sometimes work sometimes not .. I get tired typing fig doctor :)

Collapse
 
raguay profile image
Richard Guay

I've been using fig from it's beginning and have enjoyed it. The newer features are great, but I still like the old side-panel program it used to have ☹️.

Collapse
 
hyperzsb profile image
Shaobo Zhang

It's getting a little overstuffed with too many features.

Collapse
 
kien5436 profile image
Phạm Trung Kiên • Edited

We’re in 2023, AI is everywhere, including our terminals.

It seems... bad idea for me. Just use zsh and you will have those things without AI. AI is good but don't abuse it, don't believe it! It can take ownership of your computer :lol:

Collapse
 
luisfelipeluis49 profile image
Luis Felipe

I hope they launch an Arch version soon

Collapse
 
synchromatik profile image
synchromatik • Edited

If you are remote and dont have macOS on your hand, kinda defeats the purpose of terminal.

just use zsh with autocomplete and other plugins, same thing.

Collapse
 
Sloan, the sloth mascot
Comment deleted