Kazo OS is a simulated operating system that runs in the browser, written in C# with Blazor WebAssembly (.NET 10). It provides a complete environment for building and running applications: desktop and windows, a persistent file system, processes, a POSIX shell and Linux commands, a simulated network, internal web sites, and a public SDK (NuGet packages) to create your own apps, commands, services and sites.
- Try it: https://os.kazo.ca/ (PWA, works offline).
- Features: Kazo OS overview and features: what Kazo OS offers today, the goal of the ecosystem, ways to deploy it, and what is in development.
- Code:
wasm2/KazoOs/. - Documentation:
doc/en/wasm/README.md(French:doc/fr/wasm/README.md). - Source repository: Kazo-ca/Os.
Prerequisite: the .NET 10 SDK (wasm2/KazoOs/global.json).
cd wasm2/KazoOs
dotnet build Kazo.Os.sln
dotnet test Kazo.Os.sln
dotnet run --project OS/Kazo.Os.Ecosystem # the OS as a standalone PWADebug hosts, the trimmed publish, known workarounds and how to run the E2E
tests are described in
building-and-testing.md.
| To… | Read |
|---|---|
| Discover what Kazo OS offers and what is coming | features.md |
| Understand the OS code | project-overview.md, then doc/en/wasm/dev/ |
| Write an app, a command or a service | sdk-developer-guide.md and sdk-reference.md |
| Build on Kazo OS from another repository | building-on-kazoos.md |
| Create an internal web site (ASP.Kazo, Blazor) | asp-kazo-developer-guide.md |
| Avoid problems already met | pitfalls.md |
| Know the project state and its conventions | doc/en/wasm/memory/ |
| Architecture decisions | doc/en/wasm/dev/adr/ |
| Folder | Contents |
|---|---|
wasm2/KazoOs/ |
Active version: the Kazo OS solution (OS, SDK, apps, hosts, tests). |
doc/ |
Documentation, in English (doc/en/) and French (doc/fr/). |
src/ |
Legacy TypeScript version, kept read-only as a reference. |
.github/workflows/ |
Verification and GitHub Pages publishing. |
Art/ |
Icons and screenshots. |
The first version, written in TypeScript with Webpack, stays in
src/ and is published at https://os.kazo.ca/legacy/. It
no longer gets new features. Its documentation (building with Node.js 20,
layout, features) is in src/README.md.
Both versions are published by a single GitHub Pages workflow (deployment guide).
- Check the features overview: the feature may already exist or be in development.
- Search the open issues: if someone already asked for it, add your use case in a comment.
- Otherwise, open an issue with the Feature request form: describe the need (what you want to do and why), the solution you imagine and the part of the OS it touches. French or English are both fine.
- The maintainer answers in the issue. To report a problem, use the Bug report form instead.
Details are in CONTRIBUTING.md.
Contribution rules are in CONTRIBUTING.md and
AGENTS.md (where code goes, docs kept current with every change
in both languages, folder indexes, working with the maintainer: questions,
TODO issues, branches, merges). Claude Code reads them through
CLAUDE.md; the project's state and memory are in
doc/en/wasm/memory/.
See LICENSE.md.