[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83681":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},83681,"cate","0-AI-UG\u002Fcate","0-AI-UG","An infinite zoomable canvas for coding. Editor, terminal, and browser panels in a spatial workspace.","https:\u002F\u002Fcate.cero-ai.com",null,"TypeScript",1303,77,5,4,0,102,306,103.68,"MIT License",false,"main",[],"2026-06-12 04:01:41","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.producthunt.com\u002Fproducts\u002Fcate?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-cate\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cimg alt=\"CATE - Figma like open canvas for development | Product Hunt\" width=\"250\" height=\"54\" src=\"https:\u002F\u002Fapi.producthunt.com\u002Fwidgets\u002Fembed-image\u002Fv1\u002Ffeatured.svg?post_id=1150094&theme=neutral&t=1779630669260\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fcate-logo.svg\" alt=\"Cate\" width=\"240\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Cate\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README.md\">English\u003C\u002Fa> | \u003Ca href=\"README.fr.md\">Français\u003C\u002Fa> | \u003Ca href=\"README.zh-CN.md\">简体中文\u003C\u002Fa> | \u003Ca href=\"README.de.md\">Deutsch\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  An infinite canvas for your code, terminals, browsers, docs, and AI agents.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002F0-AI-UG\u002Fcate?style=flat-square\" alt=\"Release\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002F0-AI-UG\u002Fcate?style=flat-square\" alt=\"MIT License\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate\u002Factions\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002F0-AI-UG\u002Fcate\u002Fci.yml?style=flat-square\" alt=\"CI\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002F0-AI-UG\u002Fcate\u002Ftotal?style=flat-square\" alt=\"Downloads\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemo.gif\" alt=\"Cate demo\" width=\"900\" \u002F>\n\u003C\u002Fp>\n\nCate is a desktop IDE built on an infinite canvas. Instead of stacking windows and tabs, you spread editors, terminals, browsers, documents, and AI agents across freeform space and arrange them however you think about the project. Float panels on the canvas, dock them into tabs and splits, or detach them into their own OS windows. Cate restores everything when you reopen the folder.\n\n## Getting started\n\nOpen a folder. Cate makes it a workspace and brings back your layout, panel positions, and terminals each time you return. Right-click the canvas to add panels, press `Cmd+K` for the command palette, and drag panels onto the dock to build tabs and splits. There are no config files to set up.\n\n## Why a canvas?\n\nAlt-tab is fine until you have a dozen terminals, six open files, docs in another window, and notes spread across desktops. Past that point, finding the right window is the bottleneck.\n\nCate gives each project one canvas that remembers where you left things. This is not a window manager. Tiling WMs like Hyprland, Niri, and GlazeWM arrange OS windows for everything you run; Cate arranges the tools for a single project, closer to Figma than to a WM.\n\n## What's inside\n\n**Canvas and layout.** Zoom and pan an infinite canvas, dock panels into tabs and splits across four zones, detach panels into separate windows, and save named layouts. Keep several projects open and restore them on restart.\n\n**Editors and terminals.** Monaco editor panels with syntax highlighting, multi-cursor, find\u002Freplace, diffs, and Markdown preview. Native xterm.js terminals backed by `node-pty`, rooted in the workspace with shell auto-detection. Document panels render PDFs, DOCX, and images.\n\n**Git.** A git-aware file tree with live watching and search, plus a source-control sidebar for staging, branches, worktrees, history, and inline diffs. Full-text project search.\n\n**AI agents.** Run an in-app coding agent (Pi) with chat threads and per-chat model memory. Connect Anthropic, OpenAI Codex, GitHub Copilot, Gemini, OpenRouter, Groq, Mistral, DeepSeek, and others via OAuth or API key. Install extensions from the marketplace.\n\n**Navigation.** Canvas-wide search across files, terminal scrollback, and panel titles (`Cmd+Shift+F`). Panel switcher (`Ctrl+Space`). Command palette (`Cmd+K`).\n\n## Install\n\nDownload a prebuilt release. Don't build from source for daily use.\n\n| Platform | Formats | Link |\n|----------|---------|------|\n| macOS | DMG, ZIP (`arm64`, `x64`) | [Latest release](https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate\u002Freleases\u002Flatest) |\n| Windows | NSIS installer, ZIP (`x64`) | [Latest release](https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate\u002Freleases\u002Flatest) |\n| Linux | AppImage, DEB, `tar.gz` (`x64`) | [Latest release](https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate\u002Freleases\u002Flatest) |\n\n> **macOS:** release builds are notarized. Unsigned local builds may need `xattr -cr \u002FApplications\u002FCate.app`.\n\n> **Linux:** on Steam Deck or read-only-root distros, use the `tar.gz` build. If the AppImage won't launch, try `.\u002FCate.AppImage --no-sandbox`.\n\n## Build from source\n\nFor contributors. Use the release above otherwise.\n\n**Prerequisites:**\n- [Bun](https:\u002F\u002Fbun.sh) — package manager and script runner.\n- [Node.js](https:\u002F\u002Fnodejs.org\u002F) 20 or 22 LTS (see `.nvmrc`) on your PATH. The build scripts run under it; the companion daemon bundles its own Node 22.\n- **Linux only:** `node-pty` ships prebuilt binaries for macOS and Windows, but not Linux, so it compiles from source there. Install Python 3 and a C++ toolchain:\n  - Debian\u002FUbuntu: `sudo apt install build-essential python3`\n  - Fedora\u002FRHEL: `sudo dnf install @development-tools gcc-c++ make python3`\n  - Arch: `sudo pacman -S base-devel python`\n\nFresh clone — one command sets everything up (installs dependencies and builds the local companion daemon):\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002F0-AI-UG\u002Fcate.git\ncd cate\nbun run setup\n```\n\nThen:\n\n```bash\nbun run dev          # dev server with hot reload\nbun run typecheck\nbun run test         # unit tests (vitest)\nbun run test:e2e     # Playwright integration tests\nbun run build        # production build\nbun run package      # package for distribution (:mac, :win, :linux)\n```\n\nPackaged binaries land in `release\u002F`. The companion daemon is rebuilt by `bun run companion:tarball` (re-run it after changing anything under `src\u002Fcompanion\u002F`).\n\n## Architecture\n\n```text\nsrc\u002F\n├── agent\u002F      # Embedded Pi coding-agent: process manager, auth, marketplace, panel UI\n├── main\u002F       # Electron main process: IPC, workspaces, windows, updater, security\n├── preload\u002F    # Context-isolated IPC bridge\n├── renderer\u002F   # React 18 app: canvas, docking, panels, sidebar, stores, hooks\n└── shared\u002F     # IPC channels and shared types\n```\n\nCate runs all IPC through a context-isolated preload bridge. Filesystem access is scoped to registered workspace roots, browser panels disable node integration, and terminals can't spawn outside approved directories.\n\n**Stack:** Electron 41, React 18, Zustand 5, Monaco 0.52, xterm.js 5.5 + node-pty 1.0, Tailwind 3.4, electron-vite, electron-builder, electron-updater, Sentry. PDFs and DOCX via pdf.js and mammoth, git via simple-git, file watching via chokidar. The agent runtime is `@earendil-works\u002Fpi`.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). Release-by-release history lives in the [CHANGELOG](CHANGELOG.md).\n\n## Star history\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F#0-AI-UG\u002Fcate&Date\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=0-AI-UG\u002Fcate&type=Date&theme=dark\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=0-AI-UG\u002Fcate&type=Date\" \u002F>\n    \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=0-AI-UG\u002Fcate&type=Date\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## License\n\n[MIT](LICENSE)\n",2,"2026-06-11 04:11:27","high_star"]