An Agentic Development Environment (ADE).
One window for your tools, your terminal, your files, and your coding agent.
OpenKaava is an Agentic Development Environment, or ADE. An ADE is a desktop app. It holds your development tools in one window. It also holds a coding agent that works alongside you.
VS Code works in a similar way. VS Code is a code editor. Extensions add tools to VS Code. OpenKaava works the same way: tools mount into OpenKaava.
OpenKaava makes one assumption that VS Code does not. OpenKaava assumes you work next to a coding agent from the start.
This repository holds the orchestrator. The orchestrator is the main window itself. It loads your tools. It also runs the code that your tools share.
OpenKaava is a development tool. It does not run the software that you build with it.
Most tools bolt a coding agent onto an existing code editor. OpenKaava takes a different approach: it keeps design and code in one place.
Two design tools mount into OpenKaava. A product design tool. Use it to write a product requirements document, or PRD. A PRD describes what to build and why. A technical design tool. Use it to turn the PRD into a technical design. A technical design specifies the architecture, the interfaces, and the boundaries between systems. A team of coding agents reads both documents and builds the software. The agents work inside an environment that enforces strict code quality rules. OpenKaava traces every step. The trace starts at the PRD. It runs through the technical design, the code, the tests, and the build. You can follow any line of code back to the decision that produced it. This traceability is the idea that sets OpenKaava apart from other development environments. Forger builds the technical design tool. Journeyman builds the product
design tool. Both ship as apps inside this repository rather than as separate
downloads — see |
OpenKaava has one main window. The window has five bands. The bands stack in a column. Only the middle band grows or shrinks. The other four bands stay a fixed height.
The OpenKaava window tutorial explains each band. Read it first. Every other tutorial uses these five names.
The window runs. Its own tools run inside it: Home, the File Explorer, the File Viewer, and Tutorials. Rust answers all of them.
A cluster is one workspace. Each cluster has its own project and its own arrangement of panes. Split a pane. The tool beside it keeps working. Clusters sit along the switcher bar. Switch clusters. The panes and the terminals under them swap together. | ![]() |
The terminal band runs the full width, under your panes. Press Ctrl and the key under Escape to open and close it. Terminals belong to the cluster, not to the window. Switch clusters. The terminal band swaps with everything else. | ![]() |
Press | ![]() |
The panel on the right shows your branch, your staged changes, and your
unstaged changes. A box below takes your commit message. Press Git worktrees are here too. A second branch does not need a second clone. | ![]() |
MCP stands for Model Context Protocol. MCP lets your coding agent call
external tools. OpenKaava hosts MCP servers for you. It writes each one into
The MCP server manager explains which servers exist and when a new one is worth adding. | ![]() |
Right-click a folder in Explorer and open it as a project. Right-click a file and it opens in the File Viewer, with its folder as the project. A second right-click while OpenKaava is running goes to the window that is already open. OpenKaava runs as one process, so two windows can never disagree about your layout. | |
OpenKaava generates every setting from one schema. A row you can see is a value that something reads. | ![]() |
OpenKaava is pre-alpha. The honest list is short.
- The design tools are not built yet. Forger and Journeyman are apps that
live in this repository (see
apps/README.md) and neither has a working screen behind it yet. The switcher bar shows only the orchestrator's other apps in the meantime. - Nothing is signed. Windows SmartScreen warns about the installer. You have to click through it.
- Windows only. macOS and Linux are untested, not excluded. Nothing in the design is Windows-only. No machine here runs them yet.
- Some menu items do nothing. The command palette, the Run menu, and four
of the five Help items already exist. The shape of the menu is settled. None
of those items acts yet. Help ▸ Check for Updates is the exception and is
wired — see
docs/dev/releases.md.
Download OpenKaava for Windows
Run the installer. It does not ask for administrator rights. It installs for your account only. OpenKaava also fetches the WebView2 runtime for you, if your machine does not already have it.
Windows will warn you. You can go ahead. The installer is not signed. SmartScreen shows "Windows protected your PC" and hides the button. Click More info, then Run anyway. A signing certificate costs money that a pre-alpha does not yet justify. Releases and updates explains what signing would and would not fix.
After installing, right-click any folder in Explorer and choose Open with OpenKaava. OpenKaava opens the folder as a project. The same entry appears on files. A file opens in the File Viewer, with its folder as the project.
Use this option to build OpenKaava yourself, or to contribute code to it.
Every prerequisite below is a Windows prerequisite. Install each one once.
- Rust (stable):
winget install Rustlang.Rustup - MSVC build tools: install Visual Studio Build Tools 2022. Choose the Desktop development with C++ workload. Rust needs the MSVC linker on Windows.
- WebView2 runtime: Windows 11 already has this.
- Node 20+ and pnpm: run
npm i -g pnpm.
Then run:
git clone https://github.com/Firelight-Innovations/OpenKaava.git
cd OpenKaava
pnpm install
pnpm appThe first pnpm app command compiles the whole Rust dependency tree. This
step takes several minutes. Later runs are fast.
Ten short tutorials cover the window, panes and clusters, files, search, terminals, git, MCP servers, and settings. OpenKaava ships the same ten pages in its own Tutorials tool. Read each tutorial beside the thing it describes.
Start with The OpenKaava window.
OpenKaava is multi-repo by design: a tool with its own repository, its own release
cadence, and its own checkout beside this one, pinned to an exact version in
kaava.toml. That stays the model for a genuinely third-party tool — it is why
kaava.toml and catalog.toml both keep working with zero rows rather than
being deleted (see their headers).
Forger and Journeyman are not that kind of tool, though. Both live in this
repository, under apps/, and ship in the same binary as Home and the File
Explorer rather than as a separate checkout — see
apps/README.md for what that distinction means. That
leaves kaava.toml's [[tool]] array empty today: there is nothing pinned,
and nothing for the switcher bar's health badge to report on, which is the
badge's normal silent state rather than a sign that something failed to load.
The stack, end to end is what that badge
means and how to read it once something is pinned there again.
Pull requests are welcome. Read CONTRIBUTING.md first. It explains how to get a build running, the four checks every pull request must pass, and what we will not accept.
Then read the developer docs. These pages cover the technical details:
The maintainer builds three pieces directly: the app download system, Forger, and Journeyman. This is not a closed door. Nobody should spend a weekend on a foundation that already has an owner. Outside contributions fit best as features and quality-of-life work on top of those three pieces. A roadmap and a set of starter issues are coming. They will point to exactly where.
Found a bug? Open an issue. Want something that is not here? Open an issue too. Want to talk about an idea first? Open a discussion.
OpenKaava uses the Apache-2.0 license. LICENSE has the full text. NOTICE is the file that a redistributor must carry with it.
OpenKaava uses Apache, not MIT, because of the patent grant. Third-party tools load into OpenKaava through the tool protocol. MIT says nothing about patents. OpenKaava does not use GPL or AGPL, under any circumstances. A copyleft license would give someone a real argument that private tools mounting into OpenKaava are derivative works.
The license covers the code. It does not cover the names. OpenKaava, Forger, and Journeyman, and the marks that go with them, are trademarks of Firelight Innovations.
You can fork OpenKaava. You can sell what you build on it. State plainly that your work is based on OpenKaava. All of that is fine.
Do not ship your fork as OpenKaava itself. The code is free to copy. The name is not. The name tells a user which build runs the tools on their machine.






