Why Wave?

Why Wave?

Shaping the Future of the Terminal

At Wave, we love the terminal. Even after 40 years, it's still the best tool for working with code and managing systems. We're creating a new terminal, not because the old one is broken, but because we believe it can be so much better. Our challenge is to keep what works while modernizing the interface, adding useful features, and minimizing context switching that disrupts the flow of work.

Our commitment to Open Source is fundamental to our vision. By building our UI with React/TypeScript and our backend with Go, we’re inviting all developers to contribute to a space traditionally reserved only for hardcore C++ devs or shell scripting gurus. This is a big deal. This means that a wider and more varied range of developers can now contribute to enhancing the terminal, whether by creating plugins, improving the UI, or adding new features. It’s more than innovation; it’s a stance for openness over restriction, ensuring the future of the terminal remains in the hands of its users, not confined by the agenda of any single closed-source company.

Wave goes beyond the traditional terminal text-only display with plugins for code, Markdown, images, PDFs, CSV files and even audio/video files. Our integrated editor, codeedit—leveraging Monaco, the engine behind VSCode—enables inline editing of both local and remote files. It supports mouse interactions, syntax highlighting, find and replace, alongside a live markdown preview. Additionally, we’re developing plugins for directory browsing, viewing other file types, and much more so, keep an eye out for these new plugins in future releases.

Next, we wanted to ensure that everything we built for Wave extends to your remote sessions as well. Developers, Sysadmins, and anyone who’s managed remote instances know the pain of carting around your .bashrc and developing elaborate schemes and tools to manage your configuration files just to replicate your development environment. To combat this, we developed a tiny helper program called Waveshell that’s installed (with your consent) to bridge your local and remote experiences — replicating Wave’s seamless environment on any remote host. This ensures that the functionalities you enjoy locally are identical, no matter where you’re working from.

We also wanted to tackle the small but significant irritations that interrupt the flow of work. Wave has persistent sessions, so your work picks up exactly where you left off, regardless of reboots or disconnections. We also created a searchable universal history — ever needed that one command you ran three months ago on a different machine? With Wave, every command on every machine (complete with context) is at your fingertips. Lastly, we created workspaces to help keep your tabs tidy. This feature allows you to group related sessions, making it easier to manage multiple projects or environments simultaneously.

Recognizing that AI integration has become essential, Wave is building this in from the ground up. Unlike traditional CLI-based AI integrations, Wave can support rich UI interactions with agents and will eventually be able to integrate more context for better answers. We currently integrate with OpenAI’s ChatGPT 3.5 Turbo model, but we’ll introduce BYOLLM (Bring Your Own Large Language Model). This will enable users to connect Wave with any LLM they prefer, reflecting our commitment to AI agnosticism and user choice. We’re planning to expand our AI offerings to include models like Gemini, Claude, and local LLMs like OpenLLAMA, ensuring you can tailor your AI experience to your specific needs and concerns, whether they’re about privacy, ethics, or accessing the latest technology.

If you’re interested, please give Wave a try and give us a Star on GitHub to show your support for Open Source! Feedback, bugs, feature requests, and contributions are all welcome!