I really like the amount of exploration going on right now in this space. Even if this particular project (or the many terminal trackers/mergers/splitters, session managers, etc) don't end up being the thing, exploration is useful and might inform the next platforms.
The IDE has been "static" for most of the past ~20 years, with obvious improvements, but they were always incremental. The kind of exploration we see now is a bit more extreme, and I like it. It also seems like a lot of people are looking for alternatives, and I like some ideas. Even the funky ideas (I once saw a post comparing and proposing IDEs to follow RTS games UI) are interesting. Who knows what might stick.
Yeah, I agree. I think we are in an interesting phase where people are rethinking the “IDE as one fixed rectangle” model.
Cate is one attempt at that from the spatial side: persistent canvases, terminals, browsers, notes, agents, docks, tabs, splits, worktrees etc. It may not be the final shape, but I think there is room for more experimentation around how long-running AI/dev workflows are organized.
Now with AI I find myself in need for a space that can combine multiple repos into a single "project". For example for debugging an issue across the system, or asking it to verify if FE/BE communication schema has any mismatch, or describing the complete feature flow from one end to another.
Is Cate's canvas per git-repo or can I add multiple?
I was exploring a similar approach, but not focused on AI, my idea was basically group projects by workspace, where each workspace has a path and is related to a project, you can spawn terminals, editor and web browser windows in this workspace, the web browser cookies and such should be associated to a workspace, that way it will not leak between workspaces and also this allows you to have different sessions opened in different workspaces.
Unlike Cate, the windows of the terminals, editor, browser, etc, each one was handled similarly like Niri tiling scrolling window manager, that way you can use the keyboard to move around, where you can group windows in a column or split them, have different sizes, is not quite where you have a free form, but an horizontal collection of windows that you can scroll.
Agreed. I'm actually excited to hope for a cambrian explosion of IDE experiments.
LLM powered visual diagramming of the code as you work? The ability to edit the diagrams and have tje LLM apply that back to the code? Visualisation of test coverage over the UI you are working on? Allowing you to attach user submitted videos of bugs directly to tests in the code?
I don't know if any of that is a good idea, but I really hope a bunch of people try.
This seems to be very similar to the (sadly abandoned) Haystack editor [1]. I was a bit surprised to find no mention of Haystack in the README or here in the comments. Maybe the idea of having a "canvas editor" and building it on VS Code is not that unique...
> Cate is not a window manager replacement. Tiling/scrolling WMs (Hyprland, Niri, GlazeWM, KDE) are great if you mainly want to arrange OS windows. Cate is a spatial canvas around a single project's tools — closer to Figma's infinite canvas than to a WM.
I conceptually agree that managing windows should be the task of... the window manager, but at the same time it's easier and lower friction to both develop inside of an app and get some user to test new features
The homepage explicitly calls out that "Cate is not a window manager replacement" yet as far as I can tell pretty much all its features are window management. And the ones that aren't would be better off living in their own dedicated apps anyway (or aren't going to replace people's preferred editors or terminals).
The infinite canvas idea sounds cool, and I'm not aware of a window manager that lets you zoom and pan around a massive "desktop", but it really does sound like the cool bits would be better implemented as an actual window manager. Then we can keep using our favourite IDEs, terminals, editors, etc. etc which is where the actual friction for change sits, and have the cool infinite canvas/docking/arranging stuff on top.
Why would you say a window manager would be better? I can imagine for power users maybe, and definitely for architecture astronauts, but being able to have workspaces managed by an app that can control all of a set of "windows" being opened at once depending on what work is being done is a lot more functional. And you can have your email etc open in a separate real OS window.
If you want their fancy windowing stuff, I think you also need to use their apps. Terminal, IDE, etc etc. Switching to a different terminal is friction, switching to a different IDE is a really big jump. My bet is most people aren't going to switch to a different IDE just to get different window management behaviours. And if the bundled IDE is brilliant, then you can't use that without this window management coming along for the ride too.
The differentiator for this project is the window management. Don't restrict that to just the re-implemented apps within the walled garden, and then you have the behaviour implemented in the right place.
I like the idea, my fear is however that the lack of structure will cognitively overload my brain and at some point every canvas will become a mess. Think about how to expire unused/old windows. Maybe let use set a limit so that at some point they are forced to remove old window when they want to open a new one.
I have a miro board as a notepad, I constantly add new stuff but at the same time its unmanageable.
Another example could be browser tabs, since there's no limit my current window holds approximately 60 open tabs which (which I dont use ofc) - this is the effect of chrome not having a native way to save stuff for later in a semantic way (you cannot search through bookmarks the same way you would search through google).
The success of this project will be defined by how well and easy users are able to retain the context (or content) of their canvas.
I like Obsidian for note taking and it does have an infinite canvas, but it feels bolted on. I would love to have a more canvas first note taking app, maybe with folders for visual declutter.
Navigation in default Obsidian is one of the weakest points imo
Nice, but I'd love to see something more native. Maybe rust written for better performance without using any sort of GPU acceleration to keep the battery running longer on laptops. Even better if we can have a headless setup where you can connect from any computer without using VNC or what's so ever. Probably can also have collaborative sessions and have AI-assisted sessions with a 2nd cursor rendered like in the OpenAI examples weve seen lately.
Cate is an open source desktop workspace built around an infinite canvas. Instead of constantly switching between terminals, editors, browser previews, docs, and AI tools, you arrange everything spatially in one place.
Big improvements since the earlier posts:
docking, tabs, and splits
detachable native OS windows
git worktree support
unified Cmd+K search
much smoother rendering/performance on larger canvases
AI provider + MCP integration
Stack:
Electron, React, Monaco, xterm.js/node-pty, Zustand.
Runs on macOS, Windows, and Linux. MIT licensed.
Would love feedback from people with heavy multi-window or terminal-based workflows.
I'd love to get this as a self-hosted web service, so that I could access my infinite terminal canvas from any browser. It should of course held the sessions in the background even when I'm not connected.
The IDE has been "static" for most of the past ~20 years, with obvious improvements, but they were always incremental. The kind of exploration we see now is a bit more extreme, and I like it. It also seems like a lot of people are looking for alternatives, and I like some ideas. Even the funky ideas (I once saw a post comparing and proposing IDEs to follow RTS games UI) are interesting. Who knows what might stick.
Is Cate's canvas per git-repo or can I add multiple?
Unlike Cate, the windows of the terminals, editor, browser, etc, each one was handled similarly like Niri tiling scrolling window manager, that way you can use the keyboard to move around, where you can group windows in a column or split them, have different sizes, is not quite where you have a free form, but an horizontal collection of windows that you can scroll.
LLM powered visual diagramming of the code as you work? The ability to edit the diagrams and have tje LLM apply that back to the code? Visualisation of test coverage over the UI you are working on? Allowing you to attach user submitted videos of bugs directly to tests in the code?
I don't know if any of that is a good idea, but I really hope a bunch of people try.
[1] https://github.com/haystackeditor/haystack-editor
One of the reasons why I did not go with an HTML based approach is because the XY translation gets really laggy with a couple dozen items.
Is that something you thought about and accounted for?
The homepage explicitly calls out that "Cate is not a window manager replacement" yet as far as I can tell pretty much all its features are window management. And the ones that aren't would be better off living in their own dedicated apps anyway (or aren't going to replace people's preferred editors or terminals).
The infinite canvas idea sounds cool, and I'm not aware of a window manager that lets you zoom and pan around a massive "desktop", but it really does sound like the cool bits would be better implemented as an actual window manager. Then we can keep using our favourite IDEs, terminals, editors, etc. etc which is where the actual friction for change sits, and have the cool infinite canvas/docking/arranging stuff on top.
If you want their fancy windowing stuff, I think you also need to use their apps. Terminal, IDE, etc etc. Switching to a different terminal is friction, switching to a different IDE is a really big jump. My bet is most people aren't going to switch to a different IDE just to get different window management behaviours. And if the bundled IDE is brilliant, then you can't use that without this window management coming along for the ride too.
The differentiator for this project is the window management. Don't restrict that to just the re-implemented apps within the walled garden, and then you have the behaviour implemented in the right place.
I see Cate also uses node-pty. I didn't know what psuedo terminals were before, it's cool stuff
I have a miro board as a notepad, I constantly add new stuff but at the same time its unmanageable.
Another example could be browser tabs, since there's no limit my current window holds approximately 60 open tabs which (which I dont use ofc) - this is the effect of chrome not having a native way to save stuff for later in a semantic way (you cannot search through bookmarks the same way you would search through google).
The success of this project will be defined by how well and easy users are able to retain the context (or content) of their canvas.
Navigation in default Obsidian is one of the weakest points imo
I'm not sure what problem it actually solves or aims at solving other than being cool?
Visual orientation does matter in UX of the real world, video game worlds and to some degree operating systems, is this the goal?
Cate is an open source desktop workspace built around an infinite canvas. Instead of constantly switching between terminals, editors, browser previews, docs, and AI tools, you arrange everything spatially in one place.
Big improvements since the earlier posts:
docking, tabs, and splits detachable native OS windows git worktree support unified Cmd+K search much smoother rendering/performance on larger canvases AI provider + MCP integration Stack: Electron, React, Monaco, xterm.js/node-pty, Zustand.
Runs on macOS, Windows, and Linux. MIT licensed.
Would love feedback from people with heavy multi-window or terminal-based workflows.