Cate v1.0 is out: The Infinite canvas workspace for developers
Recorded: May 27, 2026, 7:01 a.m.
| Original | Summarized |
GitHub - 0-AI-UG/cate · GitHub Skip to content Navigation Menu Toggle navigation
Sign in
Appearance settings PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing Search or jump to... Search code, repositories, users, issues, pull requests...
Search Clear
Search syntax tips Provide feedback Include my email address so I can be contacted Cancel Submit feedback Saved searches
Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up
Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. Dismiss alert 0-AI-UG cate Public
Notifications
Fork
Star Code Issues Pull requests Actions Projects Security and quality Insights
Additional navigation options
Code Issues Pull requests Actions Projects Security and quality Insights
mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History302 Commits302 Commits.github/workflows.github/workflows assetsassets buildbuild e2ee2e scriptsscripts srcsrc .gitignore.gitignore .nvmrc.nvmrc CHANGELOG.mdCHANGELOG.md CLAUDE.mdCLAUDE.md CONTRIBUTING.mdCONTRIBUTING.md LICENSELICENSE README.mdREADME.md electron-builder.ymlelectron-builder.yml electron.vite.config.tselectron.vite.config.ts index.htmlindex.html package-lock.jsonpackage-lock.json package.jsonpackage.json playwright.config.tsplaywright.config.ts postcss.config.jspostcss.config.js tailwind.config.tstailwind.config.ts tsconfig.jsontsconfig.json tsconfig.node.jsontsconfig.node.json vitest.config.tsvitest.config.ts View all filesRepository files navigationREADMEContributingMIT license Cate A spatial desktop IDE with an infinite canvas for code, terminals, browsers, documents, AI agents, and git. Current source version: v1.0.3 Cate is an Electron desktop app for arranging development tools in freeform space. Mix floating canvas panels with docked tabs and splits, detach panels into standalone windows, and keep multiple workspaces synced across sessions. 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. Features Infinite canvas — zoom, pan, and arrange panels anywhere in freeform space. Pan with two-finger drag or right-click drag; zoom with Cmd+scroll or the canvas controls. 💻 Code, Docs & Terminals Monaco Editor panels — full VS Code-grade editing with syntax highlighting, multi-cursor, find/replace, diff support, and Markdown Preview/Source mode with GFM rendering. Scratch editors persist unsaved content across sessions. 🔧 Git & Source Control Git-aware file explorer — file tree with live filesystem watching, tracked/untracked dimming, search, and copy/paste for files and folders with collision-safe renaming. 🤖 AI Agent Pi Agent panel — run an in-app coding agent powered by @earendil-works/pi-agent-core, with chat threads, per-chat model restore, and workspace-aware panel placement. 🔍 Search & Navigation Canvas-wide search (Cmd+Shift+F) — Spotlight-style overlay that searches workspace files, live terminal scrollback, and open panel titles/paths in one place. Recent-focus ranked results with colored type-tile icons. 🖥️ Desktop Polish Auto-save & session restore — all panel state, positions, and open files persist automatically. Install Platform macOS Windows Linux macOS note: release builds are notarized and configured for hardened runtime. Unsigned local or test builds may require: Linux note: on Steam Deck or other read-only-root distros, prefer the tar.gz portable build. If the AppImage fails to launch, try --no-sandbox as a fallback (e.g. ./Cate.AppImage --no-sandbox). Build from Source The steps below are for contributors — use the prebuilt release above for daily use. Prerequisites Node.js 20 or 22 LTS (see .nvmrc). Node 23+ is not supported; node-pty has no prebuilds and native compilation will fail. macOS: Xcode Command Line Tools (xcode-select --install) Setup Tech Stack Electron 41 — desktop shell (Chromium + Node.js) Roadmap Contributing About No description, website, or topics provided. Readme MIT license Contributing Contributing Uh oh! There was an error while loading. Please reload this page. Activity Custom properties 406 2 31 Report repository Releases v1.0.3 Latest Packages
Uh oh! There was an error while loading. Please reload this page. Uh oh! There was an error while loading. Please reload this page. Contributors Uh oh! There was an error while loading. Please reload this page. Languages TypeScript Other
Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. |
Cate is an Electron-based desktop application designed to serve as a spatial desktop IDE, offering an infinite canvas for arranging various development tools, including code editors, terminals, browsers, documents, and AI agents. The core philosophy of Cate is to alleviate the bottleneck created by traditional window management when handling numerous tools, proposing a freeform, spatial canvas approach for a single project. Unlike window managers that focus on arranging operating system windows, Cate functions as a spatial canvas around a project, drawing inspiration from concepts like Figma's infinite canvas. The layout system is built around an infinite canvas where panels can be freely arranged, zoomed, and panned using gestures, allowing for spatially aware organization. This canvas is supported by a docked system where floating panels can be organized into tabs and splits, and these panel groupings can be detached into separate system windows. The application maintains session persistence through saved layouts, which allow users to save, load, and manage complex canvas arrangements, enabling multi-workspace sessions that can be restored upon system restart. For handling development content, Cate incorporates specialized panels for various tasks. Code editing is managed through Monaco Editor panels, which provide VS Code-grade features such as syntax highlighting, multi-cursor functionality, diff support, and Markdown rendering. Persistent editor buffers ensure that file-backed models are reused across panels, and scratch editor content persists across sessions. Document panels serve as native viewers for PDFs, DOCX files, and images, utilizing file type detection based on magic-byte checks. Terminals are provided by xterm.js with WebGL rendering, integrated with node-pty, which handles process I/O and shell auto-detection. Browser panels offer context-isolated webviews for previewing documentation or running development servers. Source control integration is handled via a Git-aware file explorer that features live filesystem watching, search capabilities, and collision-safe renaming for file and folder operations. A dedicated source control sidebar provides access to branch management, commit history, and inline diff views, with automatic monitoring of Git changes. Furthermore, the system supports project-wide search across all workspace files. An integrated AI agent feature, the Pi Agent panel, allows users to run an in-app coding agent. This agent connects to various provider authentication methods, supporting external services such as Anthropic, OpenAI Codex, and various API key providers like Google Gemini or Groq. The agent also features chat threads, model restore capabilities, and a marketplace for installing extensions, supported by a plan-mode helper for guided implementation planning. Navigation and interaction are streamlined through several overlays and commands. A canvas-wide search function allows users to spotlight files, terminal history, and panel titles in one location. A panel switcher provides a compact keyboard overlay for navigating between open panels. A comprehensive command palette offers unified access to commands, panel opening, and workspace file access. Maintenance and polish are addressed through automatic state persistence, including auto-save and session restoration for all panel positions and open files. The application includes checks for updates against GitHub releases and implements crash resilience measures, utilizing Sentry diagnostics and shell fallback banners to manage potential error states. The underlying technology stack is a contemporary set of tools, utilizing Electron as the desktop shell, React for the user interface, and Zustand for lightweight state management. Code editing relies on Monaco Editor, while terminals use xterm.js and node-pty, and document rendering employs pdf.js. The architecture is designed with strict security considerations, employing a context-isolated preload bridge for Inter-Process Communication, scoping filesystem access to registered workspace roots, and hardening webview settings. The project manages its complex structure by separating concerns across the main process, renderer process, and shared utilities, encapsulating agent logic, window management, and persistence within distinct modules. |