Transcript
0:00 This is Terax, an open-source AI native terminal built with Tauri 2 and Rust that gives you a multi-tab terminal, [music] a code editor, a file preview sidebar, and a web browser all in a 7 MB app that starts in under 300 ms. It even has its own AI agents that reads your entire codebase, runs commands, and proposes edits as reviewable diffs. But with Warp at over 58,000 stars on GitHub and Zed Max with support for agents-based notifications, is a tiny app built by one person really worth your time? Hit subscribe and let's find out.
0:36 Terax was made by a developer called Kwinters who started it as a side project because they wanted a faster, lighter version of Warp with AI built into it for coding and not bolted on as an afterthought. So, Terax does all of that. It implements a real terminal using Xterm.js with WebGPU, the same as VS Code, with a real code editor powered by CodeMirror 6, and a real AI agent using Vercel's AI SDK, which can pretty much be used for any model out there, including local ones. But how does it pull all of these things together with such a tiny footprint? Well, it uses Tauri 2 instead of Electron, which means no bundled Chromium, saving an extra 200 MB. The Rust backend handles everything that touches the OS, so PTY, file system, process management, and the React front end just renders the UI. So, the whole thing is around 7 MB. And if you watched my video on Zed Max, you may be wondering how Terax compares to it.
1:29 Well, I'll go through a more detailed comparison later on in the video, but for now, let's take Terax for a spin. So, after you install Terax, the first thing that may stand out to you is the file menu on the left-hand side. Check this out. If I navigate with CD, immediately this goes to the right place, meaning I don't need to use LS. So, I go to a different fault a different directory, it takes me in there straight away, and go back to where I was before. I can also create new tabs, close them, and create splits just like you would in most modern terminals. If I go into the packages UI directory and open up a file so this app.tsx, you can immediately see it opens the Terax code editor that has syntax highlighting for most languages.
2:08 But if I wanted to, I could use my terminal base file editors like Helix for example, and of course use AI coding tools like Claude's code. But there are a few benefits to using the Terax editor. So if you look at the bottom right hand corner, there's an open AI agent button which allows me to choose a model. So right now I've put in my open AI and Claude API keys which are stored using the native OS keyring. And from here I can ask questions about the opened file like why are there so many functions in the use effect hook? And the agent will search through the file and give me an answer. Now you'll notice here that I can see the amount of context that I've used and I can change the type of agent that's being used. I can also go to previous sessions over here and ask follow up questions. Now Terax currently only has two sub commands. Plan to go into plan mode which shows over here. Triggering plan again goes back into build mode and init which will go through the whole project and create a terax.md file similar to a Claude or agent.md file. And when it does that, it shows us a code diff which of course we can accept or reject. Now because I already have a terax.md file over here, I'm going to reject it. But what I could do is ask it to make changes to this specific file. And if there are changes, it gives us a nice diff showing us what will be removed and what will be added, also giving us the option to accept or reject. But I can also do some really cool things with Terax. Check this out. So if I press this button, I can open up a privacy page which means this tab is hidden from AI. I can open editor window to create a new file or I could open the browser which even gives me a list of common ports. So if I run this app and navigate to the right ports, I could interact with my app on one tab and make code changes in the other without jumping between different tools. Inside the settings, I can change the editor theme, enable vim mode which I really like, adjust the agents, give custom instructions and reusable prompts. Now I will admit there are some things I don't like about Terux. Right now, I can open my project in Helix, which is fine, but if I did the same thing in Neovim, it just kind of crashes. And I'm not sure if that's because I'm using Nix and I've got a weird Nix fish shell configuration, but Neovim works fine in WezTerm. I couldn't figure out how to navigate the left sidebar with the keyboard. So, even though I could navigate to different directories, if I wanted to open a file, there's no Terux open command or a keyboard shortcut to go to the sidebar. I mean, I can open and close the sidebar with command B, but if I wanted to open a file, I'd have to click on it with the mouse, which isn't something I expect to do in a terminal. I also can't zoom in with command plus. For some reason, that hasn't been enabled. And if I wanted to go to a non-localhost site in the browser, I get this X-Frame-Options error, which I kind of get for security reasons because it's using iframes, but it would be nice to be able to do this.
4:38 Honestly, for something that was built with mostly JavaScript, this is incredibly performant. I mean, I was skeptical when the author chose not to use lib ghosty for the terminal, but if I didn't know this was open source and had no idea what code was used to build this, I would have thought this used a systems language. Well, it kind of does because Tauri is Rust, but you get what I mean. Basically, it's amazing what can be done nowadays by a single developer using AI and many open-source tools. I mean, this almost rivals Warp, which was built by a whole company and has VC funding. Not to mention, this isn't even a 1.0 version of Terux. So, I'm sure there'll be more features and more fixes coming later in the pipeline. But, how does this compare to Cmux? Well, Terux isn't a gentic development environment like Warp, whereas Cmux is a different tool altogether. It gives your agents the ability to control everything in the terminal, so you can create new panes, new tabs, control the sidebar, rename the sidebar, and so on, which is perfect for multi-agent workflows. With Terux, on the other hand, the agent is only scoped to look at the code and files.
5:39 So, it can't create new tabs and new split panes. It can't control the sidebar, but it can make adjustments to to code itself. So, if you want your agents to open up browsers, navigate the web, and spin up sub agents, then check out Cmux. But, if you want to code in the terminal, use an agent to make changes, and view the changes in the browser, then use Tarox. Personally, I'll be sticking with West Term and Neovim for most of my development. And if you want to know why I'm choosing West Term over, say, Ghosty, then check out this video.
Summary
- Built as a side project to create a faster, AI-integrated terminal for coding.
- Features a real terminal using Xterm.js and a code editor powered by CodeMirror 6.
- Utilizes Vercel's AI SDK for an AI agent that can analyze code and suggest edits.
- The app's small size is achieved by using Tauri 2 instead of Electron, avoiding the need for bundled Chromium.
- Allows users to interact with files and directories seamlessly, with AI assistance for code queries.
- Offers customization options, including editor themes and AI agent settings.
- Some limitations include issues with keyboard navigation in the sidebar and browser security restrictions.
- Compared to other tools like Cmux, Terax focuses on coding and file management rather than broader terminal control.