DevCatz is the local development app of the Catzoid family. Point it at a project folder and it works out the
stack, installs the runtime the project asks for, gives the site a name like shop.localhost with HTTPS, and starts
whatever needs to run. Around the sites it keeps the rest of a dev setup in one window: databases, object storage,
WebSocket servers, search engines, a mail catcher, gateways, public sharing, Git and monitoring.
It is free and open source (GPL-3.0), with no account and no paid tier — all cats, no catch. It runs on macOS 13 or later (Apple silicon and Intel) and on Windows 10 or later (x64), and updates itself. Install it from the DevCatz page.
On a Mac the app is signed and notarized. Homebrew works too:
brew tap catzoidhub/catz && brew trust catzoidhub/catz
brew install --cask devcatz
On Windows the installer is DevCatz-Setup-<version>.exe. It installs for your account only, so no administrator
prompt appears, and in-app updates install without one too. Its pages: Welcome, Only me or Anyone (all
users, under Program Files, which does need an administrator), the install folder (Browse to change it), then
Shortcuts — DevCatz is always added to the Start menu, so Windows search finds it, and Create a desktop
shortcut is ticked by default. To pin it, right-click DevCatz in Start and choose Pin to taskbar. The last
page, DevCatz is ready, has Open DevCatz now. The installer is not code-signed yet, so the first time Windows
SmartScreen says Windows protected your PC: choose More info → Run anyway (why).
Getting started walks through the first install step by step.
Mac and Windows
DevCatz is the same app on both. Every rail section, every Settings tab, every site tab and every runtime page (PHP, Python, Node.js, Bun, Go and Rust) is on Windows. What still differs is short:
| Still Mac-only or limited | Why |
|---|---|
| Sockudo (WebSocket), Typesense and Sonic (search) | They publish no Windows build, so on Windows they run in DoCatz from their official images (Install in DoCatz…), with the same ports, domains and .env lines |
| Solana and Anchor (Rust) | On Windows they run inside WSL, as their own docs say |
| OrbStack, Colima and Finch as Docker engines | Mac apps; Windows uses DoCatz (recommended), Docker Desktop, Rancher Desktop or Podman Desktop |
| PHP 7.x and 5.6, and PHP from Laravel Herd, Homebrew or static-php | Windows PHP comes from php.net only, 8.x |
| Unix sockets for databases and PHP | Windows uses TCP ports only |
| Finding servers from DBngin, importing sites from Laravel Herd | DevCatz reads their Mac folders |
| Monitoring: load average and per-site network traffic | Windows has no load average; the Network card counts the whole PC |
| WP-CLI installed by DevCatz | On Windows put wp-cli.phar and a wp.bat on your Path yourself |
Firefox keeps its own certificate store on both platforms; see Sites, domains and HTTPS.
What works differently on Windows
- PHP comes from php.net’s Windows downloads (NTS x64, with Laravel’s usual extensions on) and is served by a few
php-cgiworkers per version, labelled PHP (FastCGI), on ports from9100up. There is no PHP-FPM. If PHP does not start, it needs the Microsoft Visual C++ Redistributable (x64) — DevCatz says so and gives the link. - The certificate authority goes into your own Trusted Root store (no administrator); Windows asks
install this certificate? once. Chrome and Edge read it; Firefox needs
ca.crtimported orsecurity.enterprise_roots.enabled. - URLs without a port use Windows’ port proxy (
netsh interface portproxy, run by the IP Helper service): one administrator prompt, and the rules survive restarts. - DNS rules. On Windows only browsers resolve
.localhostby themselves; Node, PHP, Python and curl do not, so a site calling another by name fails. DevCatz runs its own small DNS on127.53.0.1:53and adds Windows DNS rules (NRPT) for your suffix and.localhostthat point there — one administrator prompt, from the Welcome dialog or Settings → General → Default domain. DoCatz runs the same DNS on the same address, so whichever cat starts first answers for both. If port 53 is taken by something else (Mobile hotspot / Internet Connection Sharing, Docker Desktop), DevCatz names the program and offers Try again. - The shims folder goes first in your user Path with Add to my Path (Runtimes → Node.js → Terminal), no administrator needed; new terminals — Windows Terminal, PowerShell, cmd, VS Code — pick it up. A Node installed for all users still comes first, because Windows puts the system Path before yours.
- Databases listen on TCP only, there is no socket field, and nothing is compiled: MySQL, MariaDB, PostgreSQL, MongoDB and Elasticsearch come as official Windows builds, Redis and Valkey as community builds (each engine says where its builds come from, with a link).
- Docker works with DoCatz (recommended; its engine runs in WSL 2 and every container gets a
name), Docker Desktop, Rancher Desktop and Podman Desktop (containers on
127.0.0.1ports). The Docker gateways always run in DoCatz. - Secrets — the AI key, Git tokens, database passwords, tunnel tokens — are kept in Windows’ protected storage (DPAPI), tied to your account, instead of the Keychain.
- Rust links with Microsoft’s linker: when the Visual Studio Build Tools (C++) are missing, the Rust page offers Install Build Tools, which downloads Microsoft’s installer (signature checked) and asks for administrator rights once.
- The window has no menu bar: the window buttons sit on DevCatz’s own title strip, and the usual menus (File, Edit, View, Help) appear when you press Alt. Closing the window keeps DevCatz in the system tray.
- Removed files go to the Recycle Bin; Show in File Explorer stands in for Reveal in Finder.
On a Mac, DevCatz uses the login keychain for its CA, launchd for URLs without a port, /etc/resolver for a custom
domain, and APFS copy-on-write when it clones a worktree’s dependencies. What DevCatz changes on your computer
lists every one of these, on both platforms, and how to undo it.
The window
On the left runs the rail, one icon per section, with Settings (the gear) at the bottom:
| Section | What it holds |
|---|---|
| Projects | Your sites, each with its own page and tabs — see Sites, domains and HTTPS |
| Runtimes | PHP, Python, Node.js, Bun, Go and Rust versions, and the framework tools for each — see Runtimes |
| Database | MySQL, MariaDB, PostgreSQL, Redis, Valkey, MongoDB and Elasticsearch servers — see Databases |
| Object Storage (Storage) | S3-compatible storage — see Object storage |
| WebSocket | Real-time servers with an inspector — see WebSocket |
| Search Engine (Search) | Meilisearch, Typesense and friends — see Search engines |
| Git | Accounts, repositories and SSH keys — see Git |
| Every mail your sites send, caught here — see Mail | |
| Gateways | WhatsApp, email, push, SMS and Telegram servers — see Gateways |
| Expose | Share a site on a public URL — see Expose |
| Monitoring (Monitor) | CPU, memory and ports per site and service — see Monitoring |
| Settings | Every setting (mod+,) — see Settings and shortcuts |
On Windows the window has no menu bar. The minimise, maximise and close buttons sit on a title strip in DevCatz’s own colours, and pressing Alt shows the hidden File, Edit, View and Help menus.
The Projects sidebar
Projects shows your sites in a sidebar next to the site page:
- Search with
/or mod+F; Esc clears it. It matches a site’s name, domain, stack tag or group. - The ⇅ menu filters and sorts: Running sites only, Sort by default (drag & drop order), Sort by name, Sort by type, Group by default (your groups), Group by type and No grouping.
- Favorites and groups: star the sites you open most, put sites into collapsible groups, and drag them into the order you like.
- The Git chip on each site shows ● for changed files, ↑ for commits ahead and ↓ for commits behind; it turns amber when there are conflicts.
- Right-click a site for Add to Favorites / Remove from Favorites, Move to Group (an existing group, New Group…, or remove it from its group), Open in Browser and Open Folder. A site whose folder is gone offers Locate… and Remove instead (see Sites).
- Right-click a group for Rename Group…, Move Up, Move Down and Delete Group (keeps the sites).
The site you had selected opens again on the next launch. The Database sidebar has the same favorites, groups, ordering and running-only filter.
The menu bar and the system tray
DevCatz also lives in the menu bar (the system tray on Windows). Its tooltip reads DevCatz: N of M sites running, and the menu has your sites, Create New Site…, Start All / Stop All, the services and databases with Start / Stop / Restart, runtime updates, Check for Updates…, Settings… and Quit. Closing the window keeps DevCatz there. Monitoring and the menu bar has the full list.
The Help menu (in the menu barunder Alt) has Report a Bug…, Send Feedback… and DevCatz Docs, which opens these pages, plus About and Check for Updates….
The Welcome dialog
The first time DevCatz opens with no sites, it shows Welcome to DevCatz with up to three cards — Two or Three things ask for your passwordask you to confirm — only if you choose them. Nothing is installed until you press a button, and each can be undone in Settings:
- Trust DevCatz’s certificate — press Trust… so
https://works without warnings. The DevCatz Local CA lives only on this computer and goes into your login keychain; macOS asks for your password or Touch ID once and goes into your own Trusted Root certificates; Windows asks you to confirm once. - Names without a port (optional) — press Enable… to open sites at
https://shop.localhostinstead ofhttps://shop.localhost:8443. DevCatz adds two small system services that forward ports 443 and 80 to it; your administrator password once.DevCatz asks Windows to forward ports 443 and 80 to it; administrator approval once. - Site names for your code (recommended) — press Add…. Browsers find
*.localhostby themselves; Node, PHP, Python and curl on Windows do not, so a site calling another by name fails. DevCatz adds Windows DNS rules that send these names to its own DNS on this PC; administrator approval once. This card is always shown on Windows.On a Mac this card only appears once your default domain is something other than.localhost: the names then go to DevCatz’s own DNS through/etc/resolver/<tld>, with your administrator password once.
Each card shows its steps while it works. The footer promises what DevCatz does not do —
no changes to /etc/hosts, no kernel extensions, nothing at login unless you turn it
onno changes to the hosts file, no drivers, nothing at sign-in unless you turn it
on — and links to What DevCatz changes on your MacPC
(/docs/security). Press Get started, or Maybe later to do the steps later from Settings →
Project and Settings → General (see HTTPS and the local certificate).
Your first site, in short
- In Projects, press the Create New Site button at the top of the sidebar and pick Link a project folder… (or Clone from Git…, or Park a folder of projects…).
- Choose the folder. DevCatz detects the stack and fills in the name, domain and runtime version.
- Leave Start the dev server now on and press Create site.
- If the project needs a runtime you do not have yet, the site’s Overview says so — press Install.
- Open the URL chip in the site header.
Sites, domains and HTTPS explains every field, and Detected stacks lists what DevCatz recognises.
Back and forward
DevCatz remembers which screens you have visited, like a browser:
- The ← and → buttons at the top of the rail.
- mod+[ and mod+].
- The back and forward buttons of your mouse, and a trackpad swipe.
- Long-press or right-click ← / → to see recent screens and jump straight to one.
About 50 steps are kept while DevCatz is open; the history starts fresh on the next launch.
DevCatz and its siblings
DevCatz works on its own, and gets more useful next to the other cats:
- DBCatz lists every database DevCatz runs under DevCatz services, and Open in DBCatz buttons in DevCatz jump straight to one. See Databases and the DBCatz docs.
- DialCatz can import a site — its URL,
.envvariable names and routes — as an environment, and the site’s API tab has Open in DialCatz. See the DialCatz docs. - When a sibling is missing, DevCatz offers Download & Install for your platform and architecture.
The theme and the AI connection are shared between the apps; What the cats share explains how.
Where to next
- Sites, domains and HTTPS — linking, cloning and parking projects, domains and your own TLD, the local certificate, URLs without a port, the site header, per-site settings, monorepos and worktrees.
- Detected stacks — every PHP, Python, Node.js, Bun, Go and Rust framework DevCatz recognises, with its dev command, docroot and tasks.
- Runtimes — PHP with
php.iniand extensions, Node.js, Bun, Go, Python with uv, Rust and its tools, queues and dependencies. - Databases — database servers, versions, instances, linking them to sites, Redis indexes and importing from elsewhere.
- Object storage — S3 on your computer with RustFS, MinIO, Silo or SeaweedFS, buckets and keys.
- WebSocket — Reverb, Sockudo, Centrifugo, Mercure and NATS with an inspector and a test client.
- Search engines — Meilisearch, Typesense, OpenSearch, Manticore, ZincSearch and Sonic.
- Mail — catch every mail your sites send, preview it and check it.
- Expose — share a site through Cloudflare, Expose or ngrok.
- Gateways — WhatsApp, email servers, push, SMS and Telegram on your computer.
- Git — accounts, SSH keys, commits, branches, rebase, pull requests and worktrees.
- Docker — Dockerfiles and compose files from the detected stack, then Build & Up.
- A site’s tabs — Overview, Env, Database, Storage, API, Mail, Logs and the rest.
- Monitoring and the menu bar — CPU, memory and ports per site and service.
- AI in DevCatz — Ask DevCatz, Explain & fix, the helpers, and exactly what is sent.
- Settings and shortcuts — every setting, every shortcut, and where DevCatz keeps its data.
Last updated 2026-11-03