3 ms·
The next generation replacement for CLIs will be Raycast.com or similar. Seriously. It's significantly more discoverable, faster to use, and provides a high qu
by SebastianKra 3y ago
The next generation replacement for CLIs will be Raycast.com or similar. Seriously.
It's significantly more discoverable, faster to use, and provides a high quality interface out of the box.
Composability is currently lacking, but Launchbar shows how that could be done.
Most importantly, it's ridiculously easy to write extensions for. Chances are, if your shell script needs to handle interactive input, you can write a Raycast extension in fewer lines of code.
Developers who seek to advance the terminal should probably focus on building a FOSS equivalent to Raycast instead.
- mixmastamyk 3y agoTerminals are primarily for folks who want to direct their computer, and not be controlled by it. Always on chatgpt and cloud sync are non-starters in the first realm, terminals in the second.
- SebastianKra 3y agoYou just cherry picked two unrelated optional features to justify dismissing an entire interaction-concept.
- mixmastamyk 3y agoAs we know, defaults are powerful. Defaults that destroy privacy for one of the last trustworthy local-first interfaces left are quite informative.
- SebastianKra 3y agoNeither sync nor chatGPT are on by default in Raycast.
- mixmastamyk 3y agoThey have some 'splainin to do then, on their home page. Not to mention, I don't even want my local apps to have the potential to do it.
- SebastianKra 3y agoIf you move the goalpost even more, it's gonna clip of bounds.
- sawka 3y agoInteresting take! By implementing our UI in React, we're hoping to make it significantly easier and more accessible to write cross-platform terminal extensions (and renderers / apps for different types of content). One of the interesting directions we're looking at is providing native web-based UI for terminal programs. Like a TUI library that renders to actual UI :)
- SebastianKra 3y agoI agree that React is a good choice for extension developers, but not necessarily react-dom. The web lacks efficient keyboard navigation. What you have is effectively a Jupyter Notebook for the CLI. I by no means want to dismiss the value of that, but there are two possible paradigm shifts that also deserve your attention: 1. The Command-Palette pattern. See [The History of Command Palettes: How Typing Commands Became The Norm Again](https://www.vendr.com/blog/consumer-dev-tools-command-palette https://www.vendr.com/blog/consumer-dev-tools-command-palett...) 2. Keyboard-accessible UI primitives. Raycast have recognised common terminal use-cases and built general-purpose interface components [1]. They implemented a custom React reconciler for their UI. The downside of Raycast is, that it's proprietary for MacOS only. I believe a Terminal that capitalises on the above two points while staying FOSS could revolutionise Unix/Linux CLIs. [1] For example https://developers.raycast.com/api-reference/user-interface/list https://developers.raycast.com/api-reference/user-interface/...