26 ms·
Launch HN: Fig (YC S20) – Autocomplete for the Terminal
- mschrage 5y agoHi HN! We’re Matt and Brendan, co-founders of Fig (https://fig.io/hn https://fig.io/hn). Fig adds VSCode-style autocomplete to your existing terminal. We built Fig because of our own struggles in the terminal: we were tired of context switching between man pages, Stack Overflow posts, and Medium tutorials anytime we got stuck. We wanted our CLI tools to be more discoverable. The terminal is powerful, but unforgiving. It emulates the constraints of hardware (like teletype printers and video terminals) that became obsolete a generation ago. There are no built-in affordances. No hints about the 'right way' of using a tool or even finding the right tool for the job. Beginners are thrown in the deep end. And even seasoned developers can screw up their system with a few unfortunate keystrokes. To solve this, we add a UI overlay that is linked with the interactive shell. As you type, Fig pops up subcommands, options, and contextually relevant arguments in your existing terminal. For example, you can type `npm run` and Fig will show you the scripts available in your package.json. You could also type `cd` when SSH'd into a remote machine and Fig will list the folders within your current directory on the remote machine. We use the Accessibility API on Mac to insert text on your behalf and read what you've typed. We also integrate with the shell to determine the current process and working directory. We are built natively for macOS in swift. We built our UI using web technologies so we can ultimately go cross platform. We render it using a WKWebView (not Electron). Fig is free for individuals and always will be. All completion specs - the templates used for generating CLI suggestions - are open source and anyone can contribute [0]. We plan to monetize by supporting autocomplete for companies' custom scripts and internal CLI tools. Ultimately, we want to bring other process documentation (like SRE runbooks or deployment workflows) closer to the environment where it's used. You can see an early iteration of Fig in this HN thread from last July. [1] Fig is designed to be private. All processing happens locally on your device. None of your keystrokes are ever transmitted or stored by Fig. We'd love to hear your feedback on what we’ve built! We're still in private beta (so things may break!!), but we are letting HN users skip our waitlist today and tomorrow using the link above! :) ----Edit---- We really appreciate all of this feedback! Brendan and I want to address some of the most common concerns below: Telemetry: Fig has basic telemetry in order to help us make product decisions. We currently give the you option to opt out of all non-essential telemetry by running `fig settings app.disableTelemetry true`. This removes everything except for one daily ping. We use this ping to help us understand how many people were using Fig. Adding this ping was a mistake. We have already removed it and will be pushing this change in our next build (v1.0.43). Business Model: Under the hood, we've built an API layer on top of the terminal. This API lets you create visual apps. Autocomplete is the first app we've built using this API. We have many more planned for things like interactive runbooks for SREs and automating deployment workflows. You can see some early prototypes here. [2] We plan to monetize these team-based apps by charging per-seat. Autocomplete will always be free for individuals. We will never sell your data. [0] https://github.com/withfig/autocomplete https://github.com/withfig/autocomplete [1] https://news.ycombinator.com/item?id=23766980 https://news.ycombinator.com/item?id=23766980 [2] https://withfig.com/videos/old-sizzle-reel.mp4 https://withfig.com/videos/old-sizzle-reel.mp4
- d--b 5y agoI mean no offense this is really appealing to me, but how are you going to monetize this?
- klinskyc 5y agoPresumably charge companies per-seat for their engineers to use it?
- mschrage 5y agoLove to hear it! Autocomplete is free and always will be. Our plan is to monetize by charging for collaboration features at the team-level.
- d--b 5y agoSorry didn't see that. On a side note: I deleted the app when it asked me for my email. Good luck.
- deleted 5y ago[deleted]
- momento 5y agoPersonally I am not a huge fan of asking for an email address at the end of a installation process. I find it disingenuous as it makes users feel as if they're being offered something "for free" only to pull a "gotcha" after I gone through a lot of steps to reach the end of the installation process. I feel it's far more candid to place the email gathering step at the start of the process so I know "okay, these guys aren't charging money, but they do at least want an email address to use this software". From there I can base my decision on how comfortable I am with providing my email address without going through the work of downloading, installing and updating system privacy settings first. I completely understand the need to build up a list of client email addresses and that nothing in life is free, however; I think this should be done in a more tactful way that doesn't make me feel like I am have been "cornered" into providing my contact details at the end of a lengthy installation process. Additionally; I think it's questionable that you hide the fact that you track users behind a low-contrast drop down in the installation process, and that tracking is switched on by default. I should be able to opt out before the installation process is completed and not be required to manually opt out via an arbitrary command that is difficult to remember after the installation is complete. Finally; @mschrage - There's no doubt that what your team has built is beautiful and really nice to use. Thank you for sharing it with this commmunity and congratulations on your launch. I wish you the best on your journey and hope you'll reconsider some of these less-than-ideal patterns in your software.
- klinskyc 5y agoCongrats on the launch! Exciting to see all the progress
- phowat 5y agoA few months ago I switched from macOS to windows + wsl2 and don't really miss anything from my previous workflow. This is the first time I see a mac only software that makes me wish I didn't. Congratulations !
- brendanfalk 5y agoWe're hoping to get onto Linux and Windows soon! We opted to focus on a fast, macOS only version first. However, we built autocomplete in web technologies (html/css/js). This means autocomplete will be able to go cross platform, along with other apps we hope to build in the future!
- schmappel 5y agoThat's exciting! Is there a place I can sign up to be notified when it's released?
- brendanfalk 5y agoYes! Linux: https://github.com/withfig/fig/issues/34 https://github.com/withfig/fig/issues/34 Windows: https://github.com/withfig/fig/issues/35 https://github.com/withfig/fig/issues/35
- nathancahill 5y agoVery smooth, downloaded it and played around a bit. My first thought is why not use built-in shell autocompletion functions instead of redefining them in JS? Zsh completions are super powerful: https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org https://github.com/zsh-users/zsh-completions/blob/master/zsh... Typing `git a<TAB>` yields this in my terminal: ~ git add add -- add file contents to index am -- apply patches from a mailbox apply -- apply patch to files and/or to index archimport -- import an Arch repository into git archive -- create archive of files from named tree (btw, broken link at the bottom of this page: https://fig.io/docs/getting-started https://fig.io/docs/getting-started - https://fig.io/concepts/dynamic-suggestions https://fig.io/concepts/dynamic-suggestions should be https://fig.io/docs/concepts/dynamic-suggestions https://fig.io/docs/concepts/dynamic-suggestions)
- mschrage 5y agoThis is something we definitely should add as a fallback when a Fig completion spec doesn't exist! The reason we created our own standard is because traditional shell autocomplete doesn't always provide metadata, like descriptions, priority or icons. Also it is a little tricky to write by hand, unless you're pretty familiar with shell scripting.
- verdverm 5y agoMany CLI libraries provide the ability to generate auto-completion scripts. Cobra for Golang is an excellent example. It provides functions for all the major shells and is quite simple to add to any Go CLI using the library. It also supports dynamic calls for when someone wants to autocomplete on a resource known only to the running CLI. For python argparse, there is argcomplete in the same vein
- mschrage 5y agoWe're building out integrations with CLI libraries like cobra and oclif[0], so you can generate a Fig completion spec automatically the same way! Then it just comes down to the Fig popover UX. [0] https://github.com/withfig/oclif-plugin https://github.com/withfig/oclif-plugin
- Closi 5y agoAbsolutely stunning - I've often wondered myself about why the terminal doesn't behave like this already, it just makes sense. My only worry would be this is obviously so great it's only a matter of time before Apple/Microsoft see the light and build something similar into their OS - however hopefully this happens via acquisition rather than what happened to Flux, Watson and Duet.
- chokolad 5y agoThere was this rather janky IDE for Powershell, way before VSCode even existed, called Powershell ISE, that had very similarly looking autocomplete behavior in it's terminal window.
- seniorThrowaway 5y agoIt's still around, I just used it today. I rarely use Powershell but when I do it helps (somewhat) to use this vs straight command line. I want to like Powershell but there is so much about it that just feels off as a long time bash script writer. I am admittedly a novice at Powershell though, so maybe it is just me.
- wraptile 5y agoMost terminals do behave like this, or am I missing something? Sure it has some nice extras like help messages and icons but those aren't that important, right? Even super niche shells like xonsh [1] has visual autocomplete [2] 1 - https://xon.sh https://xon.sh 2 - https://i.imgur.com/p8TFdKv.png https://i.imgur.com/p8TFdKv.png
- andiareso 5y agoWhy does this comment not seem legit... This seems like a bot. There is no way Apple or Microsoft would pick this up.
- deagle50 5y agoSign in with your work e-mail?
- mschrage 5y agoWe ask people to sign in with their work email, so you can share private completions for scripts and internal CLI tools with teammates. (You can use your personal email, if you prefer!)
- deagle50 5y agoThanks, I installed it. Looks like neither Alacritty or Kitty are supported yet.
- brendanfalk 5y agoNot yet, but we are working on integrations. Want to subscribe to the relevant issues: Alacritty: https://github.com/withfig/fig/issues/28 https://github.com/withfig/fig/issues/28 Kitty: https://github.com/withfig/fig/issues/26 https://github.com/withfig/fig/issues/26 More: https://github.com/withfig/fig/issues?q=is%3Aissue+is%3Aopen+label%3A%22Integration+Request%22 https://github.com/withfig/fig/issues?q=is%3Aissue+is%3Aopen...
- deagle50 5y agoUninstalled, sorry. Until a 100% offline version is available I'll watch from the sidelines.
- jcastro 5y agoI need this for Linux!
- mschrage 5y agoWe are planning on going cross platform! What distro / terminal emulator do you use?
- thunderscore 5y agoNo GP, but I'm forced to use Windows at work, so an integration into Windows Terminal would be super great. I've also seen a lot of people use Cmder, and I would personally switch to Cmder from Windows Terminal if Fig was only available on that.
- mschrage 5y agoWindows is also in the works! The core autocomplete logic is easy to port over - the tricking thing is building out all of the OS level integrations! If you know any win32 devs, let me know :)
- jcastro 5y agoStandard stuff, ubuntu/gnome-terminal.
- shaicoleman 5y agoI use kitty on Linux Mint (Ubuntu based) https://sw.kovidgoyal.net/kitty/ https://sw.kovidgoyal.net/kitty/ Kitty has a terminal graphics protocol https://sw.kovidgoyal.net/kitty/graphics-protocol.html https://sw.kovidgoyal.net/kitty/graphics-protocol.html
- alexadelman 5y agoCongrats on the launch!
- vhanda 5y agoThis seems really amazing. Please excuse my paranoia. Your privacy policy is very well written and easy to read. That's rare. However, Is there someway I can make Fig not send any data to anyone else? From what I understand, Fig does send telemetry information, but I'd like to be made aware of it before it asks me to give it "accessibility" powers. Also, while Fig may not send the data to anyone. Does this also cover all the auto-completion scripts? I'm worried I'll need to audit each one. (I haven't gone past the grant accessibility powers screen)
- brendanfalk 5y agoThanks! We do need to put in place a proper privacy policy. But we wanted to be transparent with how Fig uses your data (hence what we have currently). You can run `fig settings app.disableTelemetry true` to disable all telemetry except for one daily ping. You also make a good point: in our onboarding we should move our privacy information to before granting accessibility! We will make this more clear
- brainfish 5y agoI love your concept and wish to cheer you on, but this statement > You can run `fig settings app.disableTelemetry true` to disable all telemetry except for one daily ping. contains such a blatant lie (disableTelemetry does _not_ disable telemetry) that I've already lost a lot of trust, in an area I am not willing to play trust games. I hope you rethink this, soon and loudly.
- CJefferson 5y agoWhat does "Sensitive data is never tracked" mean? I can't find any more details, and is like to know exactly what on the terminal is considered non-sensitive?
- brendanfalk 5y agoWe consider most things you type in your terminal to be "sensitive". Fig only ever tracks the root command for any completion you do. For instance, if you type `git push origin master` and complete on `master`, Fig will only ever see `git` You can see our full privacy policy here: https://fig.io/privacy https://fig.io/privacy
- throwawaybutwhy 5y ago$ /home/throwawaybutwhy/miscellanea/world_domination_plan_no_1.sh --help You will see my login name, the structure of my folders and my intent to take over the world. Kinda sensitive, it seems.
- mschrage 5y agohaha :) We actually send the name of the completion spec rather the initial token. In this case, it would be "dotslash".
- brendanfalk 5y agoHey everyone - I'm Brendan, one of the other co-founders of Fig. Our server endpoint to download all of Fig's specs just went down. We are fixing this right now. Apologies for the hiccup! Will let you know when it's back up. *Update* Our server is back up. If you downloaded Fig and it isn't working, please run `fig update`
- esilverman 5y agoCan I use the autocomplete without the side bar on the side of my terminal?
- brendanfalk 5y agoYes! Sidebar was a legacy feature. This is disabled by default for new users. We actually just removed the toggle to turn it on/off from our menu Running `defaults write com.mschrage.fig sidebar hidden` should make it disappear.
- gtf21 5y agoI don't really understand what's so different from the ZSH completions which I already have in my terminal but with no data leaving my machine?
- deleted 5y ago[deleted]
- brendanfalk 5y agoTraditional shell completions are quite difficult to make. Many CLI tools have completions for subcommands and options, but not for arguments. Only the big CLI tools like `git` and `docker` have arguments completions (e.g. git push [remote] [branch]`. Fig's declarative schema makes building the completions for subcommands, options and arguments very easy. This means we can support much more powerful autocomplete for many more CLIs. Fig's standard format also makes it possible to suggest shortcuts for standard workflows (similar to aliases but more visual). Finally, zsh and fish have good support for traditional autocomplete, but bash does not. Fig works the same across all shells (even when in an SSH session or a docker container).
- yogevyuval 5y agoWhat exactly do you mean by even when in SSH or docker?
- brendanfalk 5y agoAs in, if you SSH into a remote machine, Fig can offer completions for that remote machine. Same thing if you are running an interactive terminal for a docker container. This image may help clarify: https://fig.io/images/slideshow/screenshots/ssh.png https://fig.io/images/slideshow/screenshots/ssh.png
- krrrh 5y agoThis seems like black magic, but it really does raise a lot of questions about the telemetry issue. It's one thing to potentially leak information from your own machine, but leaking data from remote servers you ssh into requires a whole 'nother level of assurity around privacy. That said, it's pretty attractive because it's much harder to make a case to install fish on remote servers.
- avinassh 5y agoCongrats on the launch! How does this work?
- mschrage 5y agoThanks! Fig does a bunch of macOS specific hacks to find the cursor location, find link your tty session to a OS window id and determine your current edit buffer (the text you've typed). We then map then look for a corresponding completion spec to generate suggestions!
- duped 5y agoThis is cool! Is there a plan to support the completion APIs over LSP so existing tools can implement support independently? For example if I could write a language client for various language servers just for the completion apis, it would go a long way. I'm surprised it requires nodejs on the client to run - how do you lock node versions so it doesn't break on updates, or needs to run in the same dev environment as older versions? If my dev environment has node locked to an older LTS, will fig still work? As well, linux support would be great. So would a vscode extension so it can run in the integrated terminal, but I'm not sure if that's possible.
- mschrage 5y agoFig already works inside of VSCode and VSCode Insiders! Also to clarify: we don't require node.js on the client. The completion specs are interpreted by the Fig macOS app. re: LSP. Super cool idea, are you imagining Fig autocomplete in language-specific repls? Or something else?
- duped 5y agoExactly that. LSP is great because its the only semi-standard API for integrating with different programming tools, and completions are one of the built in features. Snippet support too - I can't tell how many times I've needed to write a for loop in a REPL, which would be much easier with snippets in a terminal. Does the VSCode implementation run on Linux?
- billiam 5y agoCan I pay you money for this awesome product so I don't feel bad about opting out of your telemetry? What's fair? I think a lot of us would do this voluntarily. Your privacy disclosure is great--I just don't want to be the product on principle.
- dannyw 5y agoYou shouldn't feel bad for opting out of telemetry!
- mschrage 5y agoWe just want people using Fig and enjoying it! That's our top priority. Don't feel bad at all about opting out of telemetry :)
- adkadskhj 5y agoFwiw, i won't be using this because i can't buy it. I don't use any dev software that's not either FOSS or purchasable. Over the years i've suffered enough at the hands of changing monetization strategies that it's just viewed as risk for me. Even if it stays honest and never dark-patterns me, i expect at the very least the service will change in some way. Failing entirely, dark patterns, etc. My preference for simple products i can purchase gives me confidence that it will just work as long as i need it. No criticism towards you - just giving feedback.
- Closi 5y agoI get this - it’s the whole “if you aren’t the consumer you are the product” piece. I like using companies where your relationship with them is obvious (ie I pay money and they give me services) rather than mysterious (Ie I use Google and they use my data in a way I don’t quite understand to make lots of money from me with me never paying them). If the first monetisation strategy doesn’t pay off what comes next? Ads in the terminal? Increased telemetry to sell to companies? Sudden removing of features put behind a paywall?
- deleted 5y ago
- fortran77 5y agoI find autocomplete for commands to be, sometimes, a little dangerous. I'd at least turn it off when root or sudo.... PowerShell does a good job with autocomplete on commands and options --if you're using PowerShell of course. Fortunately, it's cross platform. https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/how-to-use-tab-completion-in-the-script-pane-and-console-pane?view=powershell-7.1 https://docs.microsoft.com/en-us/powershell/scripting/window...
- deleted 5y ago[deleted]
- MattGaiser 5y agoI got tripped up on your Tips for Troubleshooting page. I tried validating install at that point. But otherwise this seems great. Hope you guys plan a Windows version too. Happy to be one of the first 1000 devs that you personally get to know.
- jgrimm 5y agoJust tried this at university and interestingly all fig functionality is blocked when using the university's wifi, probably due to the proxies they have in place, while hot-spotting from my phone over 4g seems to work fine. edit: after switching back to university wifi fig also worked fine, so it may be an issue with the wifi or there may be a need to refresh the network connection when trying to set everything up
- mschrage 5y agoGreat to hear that everything is working. We were getting rate limited by Github when downloading the newest completion specs earlier - that might have been the issue as well!
- spockz 5y agoSo the added benefit of Fig over completion provided by zsh/fish together with say Cobra is the “slick” ui and the (community?) sourced completion based on man pages etc without the apps themselves having to provide completion data? I’m having quite some trouble understanding why I would add a tool that potentially sends all my terminal to the web…
- WORMS_EAT_WORMS 5y agoAny plan to support vscode terminal? Also, this experience really is great. Without knowing anything I was able to disable the "Menubar Icon" simply by guessing commands. And to try for any constructive feedback, I personally don't like logo at all. It doesn't seem to make sense to me and is the reason for hiding the icon in the first place. Feels like a window management icon like this: https://magnet.crowdcafe.com/ https://magnet.crowdcafe.com/ Great job, will follow this closely!
- brendanfalk 5y agoGlad you are liking it! VSCode terminal should be supported out of the box. Go to ◧ > Settings and make sure the VSCode Integration is ticked. (You may also have to restart VSCode.) re Fig's icon: haha yes we could definitely do with a new icon. Our previous icon was an emoji pear (yes a pear, not a Fig) so at least our current one is a step up from that! We take the feedback on board and will investigate some new logo designs
- WORMS_EAT_WORMS 5y agoAh, you're right! I am on the "VSCode Exploration" build still from being an early M1 adopter. I guess that version doesn't work -- no idea. I swapped my builds and it's working perfectly, thank you and good luck to you and the team.
- brendanfalk 5y agoGlad to hear - is VSCode exploration the same as VSCode Insiders? If so, I believe we do support this too (However I guess the whole idea of Insiders is it is constantly being updated so maybe our integration recently broke). If it's different, want to create an issue for us and we'll get to it this week? https://github.com/withfig/fig https://github.com/withfig/fig
- shadeslayer_ 5y agoI have been using zsh-autosuggestions [1] to achieve something similar, so seeing a new product that seems infinitely easier to configure and much more powerful is very.. heartening. I might not move over right this moment, but I'll be cheering you on. PS: I read the fine print and I (and many others, I'm sure) would really, really like to pay some money for you to not send ANY telemetry data at all. Would be great if you kept this demographic in mind. Congrats on the launch, and all the best! [1]: https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-autosuggestions
- mschrage 5y agoThanks so much for this! We've heard the feedback on telemetry loud and clear - definitely will rework this in the future.
- danielyaa5 5y agoIterm can do this for you as well
- atdt 5y agoHow?
- anentropic 5y agocmd + ;
- anentropic 5y agoTIL... !
- swyx 5y agosounds awesome, but seems very dependent on the app? for example I use hyper.is as my terminal, I've installed Fig but it doesnt seem to work? does this app only work on the default mac terminal?
- mschrage 5y agoWe do integrate with Hyper. Does Fig work in other terminals for you? Or are you potentially on the canary build of Hyper? (You can check in ~/.hyper.js)
- swyx 5y agoit works now and works in other terminals, thank you. see other response for my alarm...
- brendanfalk 5y agoOur server also crashed when we first posted this. Try running `fig update` in your terminal. This will download the most up to date version of Fig's completion specs
- swyx 5y agoah ok so you got hugged to death, nice. but... why is Fig phoning home to your servers when i'm typing? what's local and what's not? this is alarming. does it go down if i am offline or have "lie-fi"?
- mschrage 5y agoFig does not "phone home" when you type! When you install Fig, we download the most up-to-date completions specs using the Github release API. (You can see them in ~/.fig/autocomplete). We got rate limited this morning (thanks HN!), so some people downloaded Fig, but didn't have any completion specs available. Don't worry: all of the completion happens locally on your machine. None of your keystrokes or raw text from your terminal leaves your device.
- throwawayboise 5y agoJudging from the other comments I'm in the minority here, but I use the command line precisely to avoid this kind of pop-up distracting stuff. I'm one of those programmers who disables intellisense, etc. as much as I can.
- ashneo76 5y agoI am with you. Imo the shell is where I go to focus. Not constantly get distracted by colors and popups. Also, I don't need a VC backed disingenuous tool spying on me
- vrtcn 5y agoHighly dubious... asking for access to control the computer, asking for email, communicating with their servers. I don't care how much time this would save me, it absolutely isn't worth the risk.
- dipoAreoye 5y agoGod bless yall, this was so needed
- brendanfalk 5y agoGlad you're liking it!
- ionwake 5y agoDOes anyone know if this works with hyper.js?
- crazypython 5y agomacOS runs an older version of GPLv2 GNU Bash. The newer GPLv3 GNU Bash has much better autocomplete built-in and many useful features (like |& for unified stdout/stderr redirect). Install it like this: brew install bash
- djrogers 5y agomacOS switched from bash to zsh a few years ago...
- crazypython 5y agoZsh autocomplete is much slower than Bash autocomplete.
- lobocinza 5y agoMay be the setup you used. Too many plugins may make the shell unresposive. Anedoctally I autocompleted `ls /etc/` on zsh with a few plugins and on a bash with minimal setup. They were pretty much instantaneous. Maybe zsh was faster.
- deleted 5y ago[deleted]
- 12ian34 5y agoNice website, but I wouldn't switch to this from Fish/Zsh on account of: 1. Cannot identify any killer features above what I already have with forever free tools with much larger support communities. 2. Less trust in you as a YC startup. What if you fail? What if you sell out? 3. Requirement of email. 4. Telemetry and privacy concerns raised by others. 5. Not available for Linux, and I get the feeling that Linux would forever be an afterthought since you released for Mac first (presumably, this was driven by financial reasons).
- stakkur 5y agoYou summarized my exact feelings about it, especially #1, 4, and 5. I get the feeling that the team hasn't done their homework on potential users and existing solutions.
- mwcampbell 5y agoNo, I think it's incumbent on us developers to be more willing to pay for things. We know now that free doesn't really work.
- Kudos 5y agoVirtually the entirety of my desktop stack and dev tools are OSS. Can you clarify what you mean by "does not work" here?
- thesuperbigfrog 5y ago>> it's incumbent on us developers to be more willing to pay for things. If it is worthwhile and not freely available, I will certainly pay. There are some great IDEs and tools that fit into this category. >> We know now that free doesn't really work. I suppose it depends on your needs, but I find using free tools such as zsh, vim, tmux, linux, and many others very valuable to me.
- michaelpb 5y agoYeah this project totally completely baffled me. "Autocomplete for the Terminal". What?? Bash has had fully programmable auto-completion for over 20 years [1] -- and that's just one comparitively bare-bones shell, out of dozens that are all free forever and not spyware. Watching their demo didn't help either. At most the behavior seems an incremental improvement over what Bash ships with in most distros, and it's not even clearly better than that (IMO worse, I prefer the trailing slash or color-coding that Bash uses to distinguish file/dir properties vs icons). Joke: Is the "perceived need" really just because macOS's default Bash distro has these features disabled? [1] https://en.wikipedia.org/wiki/Bash_(Unix_shell)#cite_note-60 https://en.wikipedia.org/wiki/Bash_(Unix_shell)#cite_note-60
- fabiospampinato 5y agoThis is cool, is the idea to eventually develop a full-blown terminal too? That seems where most of the value is to me, like you can't just make a 10x car by attaching stickers to an existing one, eventually you are going to need to redesign the whole thing, the same is probably true for terminals too.
- brendanfalk 5y agoThanks so much! Yes - we would love to build our own terminal one day. I agree, a first party experience will make Fig much better. We think a good terminal needs to be fast, cross platform, customisable, and extendable (this is easier said than done). That said, one day we hope to build team-based tools too. Developers like to choose their tools - we would love to make Fig work, even if you weren't using a Fig terminal. We likely will also do the hard work of integrating with the existing terminals. You choose your tools and Fig is an integration on top. If you're interested, here are some of the things we plan on expanding into. https://fig.io/videos/old-sizzle-reel.mp4 https://fig.io/videos/old-sizzle-reel.mp4
- version_five 5y agoThis video was helpful to see. I do like the idea of being able to enter arguments in a form and get the full command, especially for complex scripts. An obvious extension would be pulling out argparse info e.g. from python scripts and letting the user enter arguments via a form
- brendanfalk 5y ago> An obvious extension would be pulling out argparse Yes absolutely. A lot of possibility. We hope to create a whole new way of building terminal apps!
- crazypython 5y agoThis is misleading. Fig's completions data files are open-source, but the completion engine that runs the completions is completely proprietary. That means you contribute free ("open source") completions to them, but the scope and type of the completions is limited by their proprietary engine. --- YC has pinned the founder comment and made it an impossible to reply to the top-level comment. They say the most effective forms of advertising are the ones we don't realize are ads. Well, this is an ad.
- forgotpwd16 5y ago>Well, this is an ad. This isn't that eye-opening considering Launch HNs and job hires for YC-funded startups are said to be ads in FAQ.
- mxstbr 5y agoI've been using Fig for months now and it's become a must-have on my machine. I particularly love the git branch, npm package and yarn command autocompletion — my previous zsh plugin didn't have those and I use them all day every day. Disclaimer: I invested in Fig recently because I'm such a fan.[0] [0]: https://mxstbr.com/investing https://mxstbr.com/investing
- EamonnMR 5y agoJust chiming in on the telemetry issue, there are definitely situations where you could accidentally paste/type sensitive data into the terminal, so you'd need to treat any user data from terminal sessions as toxic waste.
- mschrage 5y agoThis is our approach! Nothing you type in the terminal is sent to Fig precisely to avoid this type of situation.
- patrickscoleman 5y agoPatrick from Replit here. Excuse the self-promotion, but if you're curious how Fig got started by building their MVP on Replit, check out their interview on our blog: https://blog.replit.com/fig https://blog.replit.com/fig. Edit: And of course big congrats to Matt and Brendan on the launch! It's been a lot of work and a long time coming. You've built a great product!
- jjwiseman 5y agoWhen it required me to enter my "work email" to "connect with teammates" before I could use it, I dragged it to the trash.
- ttul 5y agoYou are clearly not the ideal customer profile.. my guess is that the Fig team are going after corporate developers who won’t be as concerned about privacy so much as they are concerned about convenience and productivity.
- jjwiseman 5y agoI actually care very little about the privacy issues, and am often very willing to trade privacy for convenience. I just don't want to be bothered to have to essentially register to use the app, for no real benefit to me.
- mschrage 5y agoWhen you login with your work email, you can share shortcuts and completions for internal CLI tools and scripts with your team.
- GordonS 5y agoAs someone with the misfortune to work in a large enterprise, this doesn't make sense - corporate are very sensitive to data leaving their network. As just one example, the place where I work very rarely let's us use anything cloud-hosted (Slack is just one example). And when the do, it's a years long process to get it. I haven't looked into how this works, but if it's sending keystrokes or command lines to the cloud (one of the founders is here, please do correct me if I'm wrong!), it has no chance of being used in your average corporate environment.
- cwdegidio 5y agoExactly. Having data leave our network (major corp environment) is a huge issue. Even when we are working with vendors, data comes in, but rarely, and only with many levels of authorization does it ever leave. Any tool that is sending any information to the cloud is DOA for our org.
- xenodium 5y agoNeat! A bit ago, I wanted something similar, so I glued company and pcomplete in an Emacs eshell https://xenodium.com/eshell-pcomplete-company-completion https://xenodium.com/eshell-pcomplete-company-completion
- u9rptDjqLl0Pdcz 5y agoWhat is the business model? Is this going to be a paid tool when out of beta?
- mschrage 5y agoAutocomplete will always be free for individuals. We plan on charging for team-based collaboration, like private completion specs for internal scripts and CLI tools.
- nikolay 5y agoI am disappointed. I've been on your waiting list, you told us to watch for HN announcement, and it's still walled.
- mschrage 5y agoDid you use this link: https://fig.io/hn https://fig.io/hn ? Let me know if you still can't get access. matt [at] fig.io
- djrogers 5y agoThis looks nice, but requiring an email during setup, with no explanation or discernible reason - and demanding a work email at that - seems very creepy. This decision alone removes my trust in your product and your company, sorry.
- GordonS 5y agoRequiring a work email is a common tactic for B2B sales, so that sales people can contact you and try to get you to buy. This doesn't seem like a B2B kind of product, so it does seem... odd.
- mschrage 5y agoThe reason we suggest logging in with your work email is so that you can share shortcuts and completions for internal CLI tools with your team. We should probably add this explanation to the login page because I can see how this would be confusing.
- GordonS 5y ago> The reason we suggest logging in with your work email is so that you can share shortcuts and completions for internal CLI tools with your team. I guess I'm still missing something, as I don't get why the domain of my email address is relevant for who I share things with? My (hopefully constructive!) feedback is that by asking specifically for a business mail, you send certain signals to the end user. Are you honestly saying that emails won't be used for sales purposes? (that might sounds a bit adversarial, but it's a genuine, non-judgemental question!)
- mschrage 5y agoNo worries. We determine who is on your 'team' based on email domain excluding webmail domains, like gmail.com and hey.com. If there are a bunch of people at the same company using Fig, we'd probably reach out to understand what you find valuable and how we could make it better - we don't have a paid offering yet, but want to figure out what teams are willing to pay for!
- muhammadusman 5y agoNice onboarding but I don't like the email requirement.
- woodruffw 5y agoI noticed that you're using macOS's Accessibility API to provide your autocompletions. That's a clever use, and it sidesteps a huge source of pain when trying to make terminals smarter (i.e., dealing with the TTY/PTY layers, terminal capabilities, &c). My question, since you mentioned that Linux support is "not an afterthought": how do you intend to support Linux? Your architecture on macOS is essentially a (benign) keylogger that I'm liable to trust because of Apple's strong isolation of concerns/entitlements; no such isolation is (consistently) available across Linux distributions. I suspect that most developers on Linux won't want your proprietary client running as a logger over X11 or Wayland.
- brendanfalk 5y agoEarly versions of Fig essentially used a keylogger to predict what you had typed in the terminal. This is not optimal from a security or product standpoint. We have since integrated with the shells themselves (e.g. with zsh's line editor, ZLE for zsh). This allows us to get what you've typed more accurately and for your shell only. We are also working on new integration done exclusively through pseudoterminals. Both of the cases above mean our Linux integration will simply be for window management! You can see how all of our integrations with bash, zsh, fish, SSH, Docker etc work here: https://github.com/withfig/config https://github.com/withfig/config
- woodruffw 5y agoThanks for the response! It's good to know you've moved away from that approach. I'm probably not one of your end users (I'd prefer an open-source or source-available client), but I look forward to seeing the progress you make on this.
- fmakunbound 5y agoHow do you make a company out of this?
- ggregoire 5y agoFrom their jobs page [1]: "We've raised several million dollars from amazing VCs like General Catalyst and Kleiner Perkins, and angels like Jason Warner, Adam Gross, Olivier Pomel, Scott Belsky, Will Gaybrick and a handful of other impressive dev tool founders and executives." [1] https://boards.greenhouse.io/fig https://boards.greenhouse.io/fig
- Closi 5y agoI think they mean “how do you steer this into a profit” rather than “how do you get investment”.
- msoad 5y agoDocker raised even more money. Devtools monetization is the hardest problem in the startup world. It's been tried again and again because lots of startup founders are devs and they want to solve their own problems but ultimately nobody wants to pay for it
- the_arun 5y agoJust curious! How are you planning to make money as a YC company?
- brendanfalk 5y agoWe plan on adding collaboration features for teams in the future. Autocomplete will always be free for individuals!
- growt 5y agoI have just one question: will this work over ssh? So when I run this on my Mac to do a git commit via ssh on a server, will autocompletion work?
- brendanfalk 5y agoYes it will! See this example: https://fig.io/images/slideshow/screenshots/ssh.png https://fig.io/images/slideshow/screenshots/ssh.png It should work out of the box, but you may have some issues if you have multiple SSH connections to the same remote machine or if your remote machine uses an async prompt (like powerlevel10k). If you have any issues, feel free to email me and I'll help get you set up brendan AT fig DOT io
- deleted 5y ago[deleted]
- da39a3ee 5y agoHi, you are a private company, so people will wonder what the "catch" is. I think your website should make this immediately clear and explicit (even if you don't know your future business model, you should just say that.) This is such an obvious question that it comes across as a bit dishonest to omit it. As an audience, terminal-loving programmers are a group that will swallow a commercial product only if it is being completely transparent.
- nwienert 5y agoI want to throw out something I had thought about while deep (deep) into fixing a broken server yesterday and having had a few thousand tabs opened over the course of 24 hours searching for every possible Linux command under the sun. Here’s what I’d like, and it’s not really autocomplete. It’s more of a spotlight/Alfred combined with documentation and status panes. Imagine someone frantically debugging two things: why a lot of their server is broken, and also why a disk is suddenly going slow but only sometimes, and only within docker. In fact, go ahead and just set up an Ubuntu server, run a small stack on it, plug in a slightly failing HDD, and then mount it to /var, wiping out the folder (and then only recovering part of it). Then, try and fix it using only Google. I want a binary I can install that acts as a spotlight that lets me fix it without needing to leave the CLI. It’s not autocomplete, it needs to be much better. I could see a bin that basically pulls up a full screen search, where I can type natural language and see not just commands but specific usages. If it used data from StackOverflow that’d be great. If it also just helped debug the system health that’d be even better. Anyway, I went on this little odyssey over the weekend and I’ve convinced myself something like this would be incredibly valuable. There’s a real cost switching to the browser and waiting for long network times. Plus history | grep + copy pasting is a lot slower than if I had a HUD with fuzzy search across historical commands + a database of all useful commands. Of course once you add in the cost of supporting every platform it gets enormous, but then again you’d have really specific info on the platform to make it much easier to customize.
- rolandtshen 5y agoBeen using Fig for a few months now, and really can't see myself living without autocomplete for git branches and npm packages
- jlg23 5y agoI've been a unix user for more than 2 decades now and have seen many of projects like these. And I've dismissed all for the simple reason that they don't fix the problem at its roots: getopt et al should be instrumented to provide valid completions for all unix commands. A layer on top is destined to be out of sync with the actual implementations soon. We only get one more level of indirection, one more abstraction layer that can go wrong. I simply don't get it.
- mschrage 5y agoTotally agree! The closer autocompletion lives to the source code, the better. We've started off writing completions by hand, but to scale we will need more robust integrations. For instance, aws has 100+ subcommands and thousands of options. Long term, we plan on writing integrations with popular CLI libraries, so that the completion spec can be generated automatically. We've already started with oclif[0] and have done some preliminary work with cobra. [0 https://github.com/withfig/oclif-plugin/blob/main/src/commands/fig-completion.ts https://github.com/withfig/oclif-plugin/blob/main/src/comman...]
- coltons 5y agoLooks really cool, but I would always use zsh-auto-complete. Maybe your market is for people that prefer GUI's over terminal, but like terminal power, or the newer generation of coders who went to code school and are not the older school terminal in the weeds people (sorry for a generalization)
- brendanfalk 5y ago> Looks really cool, but I would always use zsh-auto-complete. Thanks for this feedback. Would love to dig in a little more here. What is it about Fig that turns you off? Is it the idea of having a GUI in the terminal?
- arvindamirtaa 5y agoI just downloaded it. It's not so much the GUI in the terminal. I actually think it looks pretty slick. It's what I give in exchange - accessibility permissions are a big no no. And of course, verified email for a CLI utility is pretty much unheard of.
- coltons 5y agoTo me I think it is the antithesis of a developer tool. ZSH auto complete works 99% of the time for everything. FIG, while cool, seems more like a capitalistic way to capture developers who like fancy new things, when the open source, free, tried and true works every time. Once again, I dont speak for all devs, and I am an AVID terminal user, so I like to keep things simple, free, and open. This product and why you created it and what you are going to do with it makes me cringe :(
- igammarays 5y agoYou sold me within 30 seconds of downloading. Yes, I know there are options out there for enabling autocomplete in my terminal, but I have no time to futz around with that stuff, and it still doesn't work when I ssh into a new server, while this is really, really easy to setup and "just works" everywhere. Spent 60 seconds installing, and I can easily see the immediate ROI shaving off several brain cycles every day as I spend a few hours in the terminal.
- mschrage 5y agoThat's awesome to hear! Glad that everything is working!
- deleted 5y ago[deleted]
- brianm 5y agoThis looks brilliant, but... Sending CLI input data, even just the root command, back to Fig is going to be a deal breaker for a lot of companies. Too high a risk :-/ If you don't need that data, don't collect it. I am sure it will lead to interesting analysis, but it will also leak a lot from companies who are unwilling to let that stuff leak.
- mschrage 5y agoThanks for the advice! We have a telemetry opt-out which turns this off. Currently, we would still send a daily ping so we can track retention, but after the feedback from HN, we'll turn this off as well.
- forgotpwd16 5y agoThat's nice but, seeing it's backed up by investors, what's the monetization plan for this? I don't think people will pay for support for such a tool so selling binaries or extra features to paying customers?
- admissionsguy 5y agoHow did a startup with such an obvious idea get started in 2020? Was some API added to Mac recently that made it possible? Has the software market gotten large enough to support more niche products? Or just no one did it before? I find it positive, comforting even; it suggests that the space of viable startup ideas is really vast.
- mschrage 5y agoI honestly feel the same way. Once you use Fig, it feels like such an obvious idea. It didn't require new APIs or anything like that. As far as I can tell, no one tried it because to 10x the existing shell experience requires working across multiple layers of stack. You need integrations with the shell, the terminal emulator and the OS -- in addition, to mapping the structure of a bunch of CLI tools.
- tibbon 5y agoThis is pretty cool! I've only poked with it for a few minutes on a spare laptop I use for vetting software, but I did notice that the Kubernetes autocomplete only goes halfway, at least in iTerm. If I do `kubectl top` it doesn't recommend `kubectl top pods|resources` in the autocomplete. Autocomplete needs to work for the whole line, not just the first argument.
- mschrage 5y agoIt looks like this is an issue with the completion spec for kubectl[0]! I'm not super familiar with k8s, so you wanted to help fix this (eg. writing the generator to list pods) that would be amazing! <3 [0]https://github.com/withfig/autocomplete/blob/2a0eea63d04f6b25d6779bb942ba05a37f79dfbd/dev/kubectl.ts#L3735 https://github.com/withfig/autocomplete/blob/2a0eea63d04f6b2...
- djrogers 5y agoSo I tried this with a throwaway address, disabled telemetry, and liked what I saw. Then noticed over the following few hours that text input everywhere other than iterm was very janky. Pauses, skipped letters, etc. Disabled fig and it cleared up... Just FYI in case anyone else runs into this.
- mschrage 5y agoThanks for reporting this. This is definitely not the expected behavior. Would love to figure out what was going wrong. matt [at] fig.io
- Ramiro 5y agoFig's integration for Makefiles makes my life so much easier! I've played with shell autocompletion before, but this way easier to use. Good luck!
- mschrage 5y agoThanks Ramiro! Glad to hear you're finding Fig useful :)
- f6v 5y agoIs this the kind of startup that competes with git shortcuts? I can replace "git push origin master" with "git pom"...
- renewiltord 5y agoCool tool. I like this sort of thing. Some feedback: * Telemetry page is scary, man. I disabled everything instantly. This "we send a ping every time you" is too much. It's not even the content. It's the fact that I fear some sort of limp CLI because of slow Internet. I have to admit I am glad you made a clear telemetry page but I am sad you chose to put all that stuff into it. I'm generally a high-telemetry guy so I would have given you a fucking shit ton of data (I even install popcon on Debian) but I don't want my shit to slow down noticeably as a result. * Sign in at the end of the setup process. Clever. I've already committed work into it. Used car salesman tactic, but fine, I get it. * Your tutorial page didn't autocomplete `fig` CLI commands. When I typed `fig se` and hit Tab I got `fig settings.json`. Not inspiring. * Prompt for iTerm 2 very good. * Tool itself is pretty good. UI quite snazzy. Some unpredictability in whether I can just go to a folder vs. it tab-completing to a subfolder. Still, so far I like it. I'll respond tomorrow.
- mschrage 5y agoThanks for the feedback :) If you run into bugs or gave any suggestions, run `fig issue` to quickly create a new Github issue!
- smoldesu 5y agoHere's a tip to anyone developing something like this: MacOS exclusivity will drive developers away from your program.
- dheera 5y agoI've been using xonsh, which also has autocomplete for a lot of things, and I LOVE the python shell because bash syntax is very alien to me. The screenshots of fig look awesome, especially the git syntax and things, but my main feedback is I can't figure out what the hell fig is. > git clone https://github.com/YOUR_GITHUB_USERNAME/autocomplete.git https://github.com/YOUR_GITHUB_USERNAME/autocomplete.git fig-autocomplete > npm install First reaction is WTF? I thought Fig was going to be some bash replacement that does autocomplete and was hoping to ask for a matching xonsh replacement. But why do I need my git username and npm to have autocomplete in the shell?
- mschrage 5y agoTo get autocomplete working, you just need to install the macOS app. (https://fig.io/hn https://fig.io/hn) These instructions only apply if you want to develop your own completion specs and are setting up the dev environment!
- dheera 5y agoOh I see. I use Linux, so I guess this isn't an option.
- betareduce 5y agoIs < 50ms considered fast? I recently tried out xterm and I felt the decreased latency compared to my current alacrity setup. I’d love a modern terminal that’s fast too
- Jakobeha 5y agoSetup is very smooth. I'm impressed how well this integrates with my macOS. Also a bit suspicious, but unless/until there's real evidence, honestly I think it's just because of VS funding + how well the setup / integration went. Linux and especially smaller Unixes is where tools like this are really useful. My experience with Linux is that most stuff has to be installed on the command-line, or if there is a GUI it's clunky and/or missing features. And I would consider myself moderately experienced with the macOS Terminal, but I often got stuck / slow with Linux. I really hope they add support for IntelliJ and other integrated Terminals. I'm pretty sure I end up using those a lot more than standalones.
- mschrage 5y agoThanks! We currently work with the VSCode integrated terminal and will add support for Jetbrains IDEs, if possible!
- andrewmcwatters 5y agoIs Fig patenting this? How does the company prevent itself from being f.lux’d?
- mschrage 5y agoAutocomplete is just our first product. We've built an API that makes it possible to add visual extensions to any terminal. We want to expand into stuff like runbooks, UIs for deployment, internal infra, etc..
- andrewmcwatters 5y agoI wish you the best. It’s a nice product.
- Invictus0 5y agoWhat happened with f.lux?
- fancyfish 5y agoI love this concept! Especially that you are crowdsourcing completions, so some of the more niche ones can still get built. Thank you for putting so many examples on your landing page. This seems obvious but so many landing pages don’t show me actual examples.
- skyfaller 5y agoI think it's worth mentioning tldr as an effort towards more readable man pages: https://github.com/tldr-pages/tldr https://github.com/tldr-pages/tldr Personally I like tealdeer for a tldr client b/c it's written in Rust and I think the name is fun, but the other tldr clients I've tried all seem fine as well: https://github.com/dbrgn/tealdeer https://github.com/dbrgn/tealdeer tldr doesn't do autocomplete, but between fish shell's autocomplete and tldr I feel I'm able to figure out most simple commands in the terminal.
- lykahb 5y agoThe fuzzy completion tool fzf and a handful of zsh plugins cover all my needs.
- albertzeyer 5y agoThere are many related attempts to make the terminal more modern, by including some HTML in it, improved auto-completion, and many other ideas. For example: - TermKit (https://github.com/unconed/TermKit https://github.com/unconed/TermKit, https://news.ycombinator.com/item?id=2559734 https://news.ycombinator.com/item?id=2559734) - GateOne (https://github.com/liftoff/GateOne https://github.com/liftoff/GateOne) - DomTerm (https://domterm.org/ https://domterm.org/) - Extraterm (https://extraterm.org/ https://extraterm.org/) - GraphTerm (https://github.com/mitotic/graphterm https://github.com/mitotic/graphterm) - HTerm (https://news.ycombinator.com/item?id=7539648 https://news.ycombinator.com/item?id=7539648) - Terminology (https://www.enlightenment.org/about-terminology https://www.enlightenment.org/about-terminology) I wonder about the state of these, or in general about terminal emulators. I really miss some extended features, like foldable text (https://gitlab.freedesktop.org/terminal-wg/specifications/-/issues/3 https://gitlab.freedesktop.org/terminal-wg/specifications/-/...) or even just standardized image support (https://gitlab.freedesktop.org/terminal-wg/specifications/-/issues/12 https://gitlab.freedesktop.org/terminal-wg/specifications/-/...). And maybe this could be further extended to also directly support sth like this autocomplete support. It becomes tricky when you think about how this works well together with tmux, SSH, Mosh, etc.
- mschrage 5y agoThese are all such cool projects. We took some early inspiration from TermKit! I think the tricky thing is that you need to switch terminal emulators in order to use the new features. We've tried to make everything as backwards compatible as possible. Our goal is for Fig to integrate seamlessly with your existing tools and workflows.
- kailanb 5y agoI am a big fan of Fig. Some of my favourite specs are `docker` and `git`. No longer do I need to list containers or commits before performing an action, the autocomplete provides all of these values for me. I'm excited to see more command-line tools provide metadata about commands close to the source code. Our CLI at Fastly provides JSON output in the help command, so it was really easy to generate a Fig spec automatically: https://github.com/kailan/figly https://github.com/kailan/figly
- lasfter 5y agoI detest that it has become normalized to grant tech companies access to personal data with only limp promises that it won't be misused. If you give Fig permissions to look at what you are typing into the terminal, you should be prepared for them to look at what you are typing into the terminal and use it how it best serves them. They're asking for more permissions than that of course. Imagine giving FedEx a copy of your house keys "just so they can guarantee safe delivery" without any legal recourse if the delivery people decided to help themselves to the contents of your fridge, or make photocopies of your documents.
- shadeslayer_ 5y agoIs there another way to achieve what the product tries to do? Genuinely asking.
- neolog 5y agoThis covers most of the listed features. https://github.com/Aloxaf/fzf-tab https://github.com/Aloxaf/fzf-tab
- shadeslayer_ 5y agoI know about zsh-autosuggestions and fzf - I wanted to ask that as a developer building something like Fig, is there a way to build the same thing with less permissions than they currently have?
- tyrex2017 5y agoTheoretically you are right. I wouldnt give Fig access. But the world moved on without us. Lets be honest: For 99.9% of users, no misuse ever happens which they care about.
- ainiriand 5y agoI disagree in part, because this tool is not meant for the common user.
- qwertox 5y agoDoes this work on mintty (cygwin)?
- mschrage 5y agoCurrently, Fig only supports macOS.
- stephc_int13 5y agoI like the design of the tool. But I don't understand why the primary target of a CLI tool would be macOS. AFAIK macOS is not really a developer friendly ecosystem and most devs are using either GNU/Linux or Windows to run their workstation...
- fruityrudy 5y agoMac is very popular with devs.
- jitl 5y agoAll the developers I know run macOS. The major San Francisco companies are predominantly macOS for developers.
- stephc_int13 5y agoThat explains a lot :)
- azinman2 5y agoThere are some clearly cool parts to this. But it makes me feel like rather than bolting this onto existing terminals and shells, one should be created from the ground up to better integrate UI. Why not have actual abilities to show photos in an interactive way (eg ls giving me a grid of photos I can click and zoom on like Finder), or put in form values rather than just autocomplete like ffmpeg giving me an actual UI to work with that shows frame by frame progress rather than just a % bar? The CLI seems ripe for total disruption IMHO. Fish shell claims it’s finally the terminal for the 90s… how about the 2020’s?
- mschrage 5y agoWe totally agree! This is exactly where we want to take Fig. The autocomplete product is built using an API that extends terminals with visual apps and shortcuts. Using the same API, you can build an app that interactively displays photos or wraps a common ffmpeg workflow. We prototyped[0] a bunch of ideas like this during YC last summer, before deciding to start with autocomplete. [0] https://fig.io/videos/old-sizzle-reel.mp4 https://fig.io/videos/old-sizzle-reel.mp4
- azinman2 5y agoI guess I’m suggesting why fix yourself to iTerm etc when you could just redesign the entire experience from scratch? You’d have way more freedom to fundamentally change CLI I/O, navigation, contextualization, UI, media support, etc.
- singlow 5y agoHow do you tell when a project only works on a Mac? It has a pretty marketing website and never mentions it's operating system support.
- aronswartz 5y agoSo it's basically a Tab?
- 29athrowaway 5y agoWill there ever be advertisement in the autocomplete results?
- vptr 5y agoBy looking at [2] from the authors post. This just defeats what shell is made for. Shell is all about scripting not clicking mouse around and writing some custom commands. I really don't understand who would use this. Maybe i'm too oldschool and grew up with shell so i'm used to the complexity and power it provides. Would probably never even try such a tool.
- osrec 5y agoYou seem to have raised a fair bit of money. What's your business model?
- new_realist 5y agoHere, with naive founders building the ultimate fruit-fly startup with no business model, YC has finally jumped the shark and become a cliche of itself.
- aisofteng 5y agoI see a lot of negativity here, and I do agree about the daily ping which I see you’re removing, which I think is a good move. As someone that has done cloud development at a giant corporation that offers public cloud, I think that this tool absolutely has an enterprise use case. In my particular experience at my particular (tens of billion dollars plus yearly revenue) previous employer, our SREs would have massively benefitted from having this. I’ve been woken up at 3am while on call for L3 support just to step out SREs through tools we wrote to help them do their jobs that we failed to adequately train them on and/or that they didn’t have the bandwidth to absorb due to the volume of services they were tasked to support. From that point of view, supporting macOS first is the right move in my opinion because at enterprises developers are standardizing on macOS, and so are SREs. This can solve a real pain point. Best of luck! And if it may happen to be helpful, let me know if you’d like to chat about this use case in more detail.
- dang 5y agoAll: this thread has multiple pages of comments. To see the rest, click More at the bottom of the page, or here: https://news.ycombinator.com/item?id=27277819&p=2 https://news.ycombinator.com/item?id=27277819&p=2 (Sorry for the interruption. Comments like this will go away when we turn off pagination.)
- ashneo76 5y agoPlease support actual open source projects. The money here will just go to VCs pockets
- cbsudux 5y agoThis is awesome, when will you support linux and WSL?
- pacoverdi 5y agoMade me want to give a shot at writing a custom bash completion script for an internal tool (having a lot of sub-sub-commands and many options, kind of like git). How hard could that be? Then I looked at git-completion.bash [1] and suddenly all my motivation vanished. Maybe Fig found a more declarative way of describing a tool's syntax? [1] https://github.com/git/git/blob/master/contrib/completion/git-completion.bash https://github.com/git/git/blob/master/contrib/completion/gi...
- warpech 5y agoInteresting take on ideas well presented in a blog post, dubbed as "CLUI": https://blog.replit.com/clui https://blog.replit.com/clui
- debarshri 5y agoI had seen another platform doing this - https://kloudi.tech/ https://kloudi.tech/ I am not related to them in any ways. This happen to remind me of that too.
- hoyd 5y ago"You could also type `cd` when SSH'd into a remote machine and Fig will list the folders within your current directory on the remote machine." This is excellent! :)
- ilaksh 5y agoNot for my terminal or anyone else who uses gnome terminal or any Linux terminal. If you have money then maybe you could actually fork gnome terminal. Just make sure it's GPL.
- hyperpl 5y agoIs this intended to be a for-profit business? A business that just does autocomplete in the terminal? I'm surprised there is a market for this, but I'm not a mac user so I'm not very familiar with its users and ecosystem.
- drakinosh 5y agoThere's an overabundance of useless tools by con-men these days.
- esolyt 5y agoTried it for a few hours. Unfortunately, it randomly stops working all the time. Debugger says "key buffer context lost".
- hemmert 5y agoI tried it - and I (despite having ohmyzsh installed) like it! One thing I was wondering: How does the - largely critical, much negative feedback involved - discussion here on HB impact your download numbers? Is it positive after all?
- ashneo76 5y agoThis is dubious. I am not going to be using this. I just randomly typed in my password in my terminal. Would have ended up in the hands of some VC. No thank you. You can say that this is great mongering but the dubious claims around no telemetry (which were fixed after HN feedback) and the closed source completion engine and calling it open source is not trust inducing at all. Man page hunting, jumping around help commands is how you learn things. You don't get Unix in one day and definitely not worth graphics. I say that as some one who is a visual learner.