Hacker News new | past | comments | ask | show | jobs | submit login
Fig now supports JetBrains IDEs (fig.io)
76 points by michael_fine on April 21, 2022 | hide | past | favorite | 65 comments



Hey HN! Didn't expect to see Fig here this morning.

We just released a new version of Fig that allows users to install a custom input method on macOS. This means we now work with over a dozen new terminals, including all JetBrain IDEs, Alacritty, Kitty, WezTerm and more.

The engineering behind it was surprisingly tricky since these APIs are not as well documented as you'd hope. (Indeed, the best place to look is the C header files [0])

But with a lot of trial and error, we've managed to get an implementation we're happy with. (That said, if anyone has tips on how to install an input method, without requiring a system restart, I'd love to hear them!)

I'll be around all day to answer any questions about how Fig works under the hood!

--

Also just to address some stuff that generally comes up when we're posted on HN:

1. Why is there a login?

Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

2. Is there telemetry?

Yes, but you can opt-out entirely by running a single command.

fig settings telemetry.disabled true

3. How will Fig make money?

Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

4. Is there a Linux/Windows version?

We are making really good progress and will have a prototype in the next month or so. See the Github issues for Linux[1] and Windows[2]

[0] https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10...

[1] https://github.com/withfig/fig/issues/34

[2] https://github.com/withfig/fig/issues/35


> The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

What's Fig's target audience? Developers.

Developers have been using a tried and tested way to keep configurations for decades -- dotfiles. We sync them across all our devices using git (or any of a thousand other ways). This is a solved problem and doesn't require email addresses or logins.


> Developers have been using a tried and tested way to keep configurations for decades -- dotfiles

Which kinda sucks


There is certainly some room for improvement! :)


symlink dropbox used to be a solid way to do it, but that was before dropbox had to perform for the public markets every quarter


Currently, lots of developers use GitHub (which naturally requires a login) to sync their dotfiles across devices.

We are building our own version of this, that is more tailored to the use case than a generic git repo interface. :)


git controls versions and is open-source

you’re building a proprietary solution for something that isn’t a problem at all


why don't you give this company a chance? I am sure there is room for innovation even if it's non oss it's fine along it's something new.

I'd like to see what kind of innovation they can bring to dotfile management.

I keep most of my important dotfile configuration in a private repo managed by stow/syncthing, but the management gets old after a while and the git commit -am "update" gets old after a while..


> Didn't expect to see Fig here this morning.

Yeah yeah right and you just appeared out of nowhere with a 300-word explainer. "Just in case". Stop this shit-show already, everybody knows you're a YC-baked company

YC-baked companies get tips and notifications when they're about to get featured

people are critiquing you below and you're asking HN mods to downrank negative comments to keep up your PR-game

my harsh, but valid criticism of your product ended up at the bottom of page, although it has 20 points and should actually be higher than yours and any other comment, but life's easy when you can cheat a bit!

see yourself: https://imgur.com/a/Z5AZkik

how can a comment with 20+ points be the last one on the page?


> YC-baked [sic] companies get tips and notifications when they're about to get featured

We don't.


us outsiders can't know for sure!

for example i didn't knew a comment critiquing a YC-company could be pinned down

but now i know and this doesn't make neither HN nor Fig better in my eyes


My understanding is that high-karma accounts can downvote comments/posts. HN is still primarily a community where supporting & encouraging those building things is the norm. Criticism of makers isn't rare, but my hunch is that it's less accepted. So this could explain the downvotes. Also keep in mind that HN is still a work in progress—to this day. Dang works hard to keep a civil, supportive community, and how upvotes/downvotes get weighted could be at play too.


i don't know how many people must have downvoted the comment to bring it to the very bottom of the page, but as it stands it has 25 points

before some invisible magic happened, the comment was the first one on the page

can HN mods give an explanation to this?


HN moderators didn't touch your comment. We moderate HN less, not more, when YC or a YC startup is the story. That's literally the first principle of HN moderation—lots of past explanation here: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu....

There are a small number of trusted users (not moderators or high-karma accounts, but people who have been on HN for many years) who have the ability to mark a comment generic or offtopic, which downweights it. We encourage them to do that when a generic or offtopic comment is sitting at the top of a page, choking out more interesting discussion. It's actually the single biggest thing we've found to improve thread quality, because generic and offtopic subthreads—especially angry ones, like the one you started—tend to quickly suck all the oxygen out of a conversation, and end up making the thread be about obvious-generic things rather than the intellectually interesting details of a specific article.

This is an experiment in extending moderation powers to the community at large (and I'd love to extend it further*, because the results have been superb so far). But it has nothing to do with YC—in fact we've instructed these users not to apply such downweights when YC or a YC-funded startup is the story, because the principle I mentioned above takes highest precedence. So I'd presume that the user who downweighted your subthread had no idea that Fig was a YC startup.

You posted 16 comments in this thread attacking someone's product from what is clearly a pre-existing entrenched position. That's way too much, and not at all the curious conversation that this site is supposed to be for. (Edit: we also got an unusual number of emails complaining about how you derailed the thread.) So I think the user who applied the downweight in your case was correct in principle—doing that did improve the quality of the thread (at least for a while), which is exactly what the downweight is for. They just didn't catch the YC aspect; if they had, I'm sure they would have held back.

* (Side note: if anyone sees this and wants to 'try out' for the right to downweight comments in this way, you're welcome to email hn@ycombinator.com. Send a few examples of subthreads you think should have been downweighted and I'll take a look.)


Out of curiosity, are these actions visible in any way for a normal (non-mod/admin) user?

I don't have a bone to pick here -- HN is one of the better moderated sites ive seen for good discussion.


Not at present. We could possibly display something like that, but the problem with such changes is that their downside is a lot less obvious than their upside.


Appreciate the reply! I do think more transparency for these features and their usage would go a long way to assuage the "fearmongering" that they can generate.


hey dang, first of all, it is very brave of you to admit that HN has a elite group of users who can downweight (reorder) comments and thanks for confirming that my comment's position on the page was indeed manipulated by those outside forces

i'd like to ask couple questions:

- why aren't regular downvotes enough to moderate the conversation?

- what is the selection process for these users, do you make sure they are unbiased?

- do any users, who currently possess said abilities have any connection to YC or companies that YC have funded?

- do you review the comments these users are downweighting to make sure the act is legitimate?

- will you punish users who disregard the downweighting rules (such as the case here)?

you also admit that this thread should have been moderated less, as it is about YC-company

if so, then why haven't you still reversed the downweights on my comments to fix the rule-breaking behaviour of your shadow mods?


It isn't 'brave' - none of this is secret, and I'm happy to explain things.

In my experience, though, it isn't worth the time and energy to respond to hostile cross-examinations. I'm interested in satisfying the curiosity of good-faith users, and this feels more like an interrogation. That's no fun and does nothing for the community.


this is an excellent answer. dang, Thanks as always!


Of course there's a lot of HN bitterness here. But I like Fig. I've been running my own heavily customised .zshrc for about a decade with loads of bells and whistles in terms of autocomplete and customised prompts and what not and it has been great and I've kept it current with cool new toys.

But I've dumped most of it in the last month for Fig. I like seeing command specific options, relevant to the current context, and in a long list which I can scan and scroll quickly.

I go to documentation MUCH less now and I'm faster with it. And that's most of what I care about.

Commence retaliations...


Learn the tools, stay away from the toys. Hundreds of developers have been incredibly productive with a regular shell - there isn't any practical need for a product like Fig. If it were me and I was seeking more productivity from my shell, I would dive into books into how to improve it for myself rather than hook myself to another tool.


If I was seeking to be more productive I would probably install a tool like Fig and be done with it rather than spend time diving into the books to customize my shell. I think a lot of people in this thread are overlooking the simplicity of installing it and having it "just work" versus spending time fiddling with zsh configs.


I didn’t have fig just work. Actually I realized it made assumptions about the way my bashrc and bash_profile worked that broke the installation of fig and my shell configuration after I made some seemingly unrelated edits to my bash config.

It’s been broken for months and I didn’t get enough value out of it to figure out how to fix the installation.


configuring zsh is easier that you could possibly think

you only have to do it once and forget about it


I don't understand what Fig is actually for. Why would I want a "visual autocomplete" when I already get what I want out of bash-complete + fzf, a more technically complete and understood solution?


I think there are two main areas where we improve the default experience.

1. Zero configuration needed to get started.

With Fig, the experience just works out of the box. A lot of developers - especially people less comfortable with the terminal - don't feel confident installing a bunch of 3rd party zsh completions or creating a custom setup.

2. Extensibility.

We've worked really hard to make the experience of writing your own completions very easy and powerful. Lots of teams are using Fig to make internal scripts and CLI tools more ergonomic and discoverable.

In my experience, writing custom shell completion scripts is not very much fun.


> especially people less comfortable with the terminal - don't feel confident installing a bunch of 3rd party zsh completions or creating a custom setup

are you telling us that your proprietary blackbox that asks my e-mail and sends telemetry data is better than open-source well-documented, widely-used, established tools?

> Lots of teams are using Fig to make internal scripts and CLI tools more ergonomic and discoverable.

can these completions be used outside of Fig?

i guess not, because this doesn’t make you any money?

> In my experience, writing custom shell completion scripts is not very much fun

yep, because nobody usually writes them, they’re autogenerated by whatever CLI framework you’re using

with Fig you write them and yes, writing autocompletions for Fig manually is better than writing Compdef manually

but again, nobody usually writes them…


If zsh is to complicated just use fish...


from what i know the end goal of Fig is to to build a proprietary platform for webapps that run as overlay on top of your terminal

this sounds ridiculous because it is

they can’t drop this shitty idea now, because they took tons of cash from venture capitalists to make it happen


Our mission is to improve the developer experience in the terminal.

We think that layer on new interfaces can help make the commandline even more powerful... as well as making it more accessible. Check out kui[0] to get an idea of what we're imagining.

[0] https://github.com/kubernetes-sigs/kui


where does terminal lack user-experience in your opinion?

you really think your proprietary, VC-baked, telemetry-enabled product would improve developer experience?

a terminal is accessible as it gets and doesn’t need a web interface

this is just a pervert version of Electron


Tens of thousands of developers use Fig everyday and seem to really enjoy the autocomplete affordances that we've added.

That said, if you already are very comfortable in the terminal, some of the pain points that we're tackling might be less acute for you.


Do you get rounded corners and soft shadows with bash-complete :)


Don't forget the icons ;)


It's a little slicker and less cumbersome.


This is the first time I've heard of Fig, just downloaded it and it's a hell lot slicker than zsh-autocomplete. It would be great to make the telemetry opt-out more noticeable, preferably on setup, I would not have noticed it unless I saw the comment with the command to run. (Although I now see it's buried in the settings too)


agreed! it's so awesome that we now have a proprietary, VC-baked, telemetry-enabled tool that does everything free and open-source zsh-autocomplete can!


Not sure why you are being so negative on this thread. It took me 30 seconds rather than fiddling with commands and installing various autocomplete plugins and packages to get a nice config. I've done that before and don't have time these days to work on my "perfect" zsh config. I don't really care how they got their money, telemetry is opt out and they claim it's private right on the homepage.

zsh-autocomplete now has some competition so maybe both products will innovate at a faster pace.


> they claim it's private right on the homepage

yeah right, let's just blindly trust them!

> zsh-autocomplete now has some competition

Fig can't compete, because it only works on mac and isn't open-source


Already use fig in my Mac terminal and love the attention JetBrains IDEs are getting with plug-ins. Going to check this out when I need to fire up PyCharm for scheduled script maintenance.


Adding support for JetBrains has been one of our top feature requests. [0] Glad to hear you'll be able to use Fig in more places now ;)

[0] https://github.com/withfig/fig/issues/49


I don't understand why you need my e-mail during setup.


I mentioned this in another comment [0].

> Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

[0] https://news.ycombinator.com/item?id=31113668


Could this sync-feature be opt-in instead of mandatory?


Hacking IME and/or accessibility features to provide shell autocompletion is certainly ... creative solution.


One of our core principles is backwards compatibility. We want Fig to be a seamless addition to your existing tools and workflows!

It's taken some creativity on the engineering side, but has been super fun to see what we've been able to build when working with these constraints.


Is anyone else getting this warning? I am using macOS 12.3.1, iTerm2 3.4.15 and bash 3.2.57(1)

bash: trap: __bp_install: invalid signal specification


Update your iTerm shell integration and the issue should be resolved!

Please run `fig issue` and I'll investigate.


Thanks that is working now!


Fig is macOS-only, proprietary, requires e-mail and has telemetry

Fig relies on free labour to add completions and does not support open-source completion formats

Fig is VC-funded and at some point will have to generate revenue for it’s investors - at your cost

don’t use Fig!

if you have zsh you can use zsh-autocomplete, which is no worse than Fig

https://github.com/marlonrichert/zsh-autocomplete

edit: this comment was the most popular before HN moderators pinned it down, turns out Fig is YC-sponsored, so i’m not surprised


With the risk of feeding a troll: can I ask you why you're so angry in every comment? You're almost hateful. I want to understand what makes you act like this, why you think the makers of Fig deserve this kind of response and how you think your comments contribute something positive to the discourse here on HN.


we both can agree there are legitimate points against using Fig

i’m spreading awareness and contributing to the conversation by outlining negatives for somebody who might be considering Fig

i do agree with you that some of my comments in the thread were not friendly and i’ll try to do better! i have also deleted some of my previous comments

again, sorry


Not to mention the possible security vulnerabilities associated with having telemetry on keyboard events.


Hey, you've made your point multiple times in this thread - maybe take a rest, drink a glass of water and go for a walk?

Be well.


And before you try it, no I'm not an employee and I'm not a shill. I don't use Fig, though I had a preliminary interview with them last year and they took 3+ months to get back to me, so...


HN moderators didn't touch your comment. More explanation here: https://news.ycombinator.com/item?id=31117569


`zsh-autocomplete` is a great tool as well! Some of this is just a matter of personal preference.

I've answered a few of your concerns in a different comment[0].

tl;dr

Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

A Linux/Windows version is coming soon. [1] [2]

[0] https://news.ycombinator.com/item?id=31113668.

[1] https://github.com/withfig/fig/issues/34

[2] https://github.com/withfig/fig/issues/35


> The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices

don’t make it look like you’re solving a complicated problem

i don’t have 10000 computers at home that i want to sync my configs to

neither do i change my zsh config every day

you do understand that this is a non-issue?

> Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

what? people pay for it? you must be kidding, right?

there’s one reason you’re being ridiculed here: you have no moat, no unique value proposition, but you can’t just take your ball and go home, because you have investors whom you promised that this shit is big and will make you guys rich

luckily HN-community understands that and won’t eat your worthless crap


Whatever good points you are making are obscured by the overly aggressive tone of your comment.


It seems like Fig might not be solving a problem you have and that's totally okay.

We believe that there is a lot of room to improve developer experience in the terminal. That's why we build the products that we build.


to be honest, i don’t know anyone who has a problem moving files from one computer to another

there are even open-source tools like Syncthing that do this

https://syncthing.net/

i guess i’m very thankful we don’t need Fig for this!


Or just use git. It also has versioning in case you want to revert a change.

There are like 100 blog posts on how to manage your dotfiles...


Honestly, it feels like you're just bitter and stuck in your ways. Yeah, git works. Syncthing works. Syncthing also has non-obvious behaviors that can lead to you wiping your folder and losing all your data (source: I've done this accidentally). These things take a lot of effort to setup and keep working, and a lot of fiddling over time. There are plenty of people out there who just want something that works, that doesn't take up valuable time and mental bandwidth. Fig is great. Maybe not for you, but it seems to me like you're simply not the intended demographic.


You don't have to use it. I just downloaded it and it's really neat, looks way better than zsh-autocomplete because it has an actual UI (as much as people here are trying to make it sound like it's the same thing). I don't think the syncing thing has much value either (for me, maybe teams), but that's not why I'm using it.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: