Skip to content

zhaog100/w3cos

 
 

W3C OS

CI Build ISO License Rust

An AI-native operating system built on W3C standards. TypeScript + DOM compiled to native binaries. No browser. No V8.

W3C OS Demo

app.ts  →  w3cos build  →  native binary (2.4 MB)

What is this?

W3C OS is a Linux-based operating system where:

  • Applications use standard W3C DOM + CSS (the same APIs as the Web)
  • TypeScript is compiled to native machine code via Rust/LLVM (not interpreted)
  • AI agents can read and operate every UI element directly through the DOM — no screenshot guessing
  • The system boots from a minimal Linux kernel directly into the W3C OS Shell

Write Web-standard code. Get native performance. Give AI full visibility.

Quick Start

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Clone and build
git clone https://github.com/anthropic-ai/w3cos.git
cd w3cos
cargo build --release

# Compile a TypeScript app to a native binary
./target/release/w3cos build examples/showcase/app.ts -o showcase --release
./showcase    # Opens a native window — no browser involved

Example

TSX Syntax (recommended)

// app.tsx — a native application written in TSX
import { Column, Text, Button } from "@w3cos/std"

export default
<Column style={{ gap: 20, padding: 48, alignItems: "center", background: "#0f0f1a" }}>
  <Text style={{ fontSize: 42, color: "#e94560" }}>W3C OS</Text>
  <Text style={{ fontSize: 20, color: "#a0a0b0" }}>Native binary from TSX.</Text>
  <Button style={{ background: "#e94560", borderRadius: 8 }}>Get Started</Button>
</Column>

Function Syntax

// app.ts — alternative function-call syntax
import { Column, Text, Button } from "@w3cos/std"

export default Column({
  style: { gap: 20, padding: 48, alignItems: "center", background: "#0f0f1a" },
  children: [
    Text("W3C OS", { style: { fontSize: 42, color: "#e94560" } }),
    Text("Native binary from TypeScript.", { style: { fontSize: 20, color: "#a0a0b0" } }),
    Button("Get Started", { style: { background: "#e94560", borderRadius: 8 } }),
  ]
})
$ w3cos build app.tsx -o myapp --release
⚡ Transpiling TS → Rust... done
🔨 Compiling native binary... done
✅ Output: ./myapp (2.4 MB)

Why?

Electron React Native Flutter W3C OS
Binary Size 90+ MB 30+ MB 15+ MB 2.4 MB
RAM Usage 200+ MB 100+ MB 80+ MB ~15 MB
Startup 2-5 sec 1-3 sec 0.5-2 sec < 100ms
Language JS (V8 JIT) JS (Hermes) Dart (AOT) TS (native AOT)
Runtime Chromium Bridge + Native Dart VM None
DOM API ✅ (browser only) ✅ (system-wide)
AI reads UI Screenshot Screenshot Screenshot DOM tree (< 1ms)
Standard Proprietary Proprietary Proprietary W3C
Installable OS

AI-Native: Why This Matters

Traditional operating systems are opaque to AI — an AI agent must take screenshots and guess what's on screen (slow, expensive, fragile).

W3C OS applications are built with the DOM. AI agents read the DOM tree directly:

Traditional OS:  AI sees pixels → vision model → guess UI → click coordinates (1-3 sec, $$$)
W3C OS:          AI reads DOM  → structured tree → precise action (< 1ms, free)

Three access levels for AI agents:

  • Layer 1 — DOM Access: Read/write any element, trigger events. 100% precise. < 1ms.
  • Layer 2 — Accessibility Tree: ARIA-compliant summary. Minimal tokens for LLMs.
  • Layer 3 — Annotated Screenshot: For Claude Computer Use / UI-TARS compatibility.

Install as an OS

W3C OS can boot as a standalone operating system — directly into the W3C OS Shell.

Build the bootable ISO

# Prerequisites (Linux): build-essential, ncurses-dev, wget, python3
# On macOS, the script will automatically use Docker for cross-compilation.

./system/scripts/build-iso.sh    # Output: w3cos.iso (~50-100 MB)

Run

# Option 1: QEMU virtual machine
qemu-system-x86_64 -cdrom w3cos.iso -m 2G -vga virtio

# Option 2: Flash to USB and boot real hardware
sudo dd if=w3cos.iso of=/dev/sdX bs=4M status=progress

# Option 3: Docker (compile apps, no GUI)
docker build -t w3cos . && docker run w3cos --help

# Option 4: GitHub Codespaces (one-click dev environment)
# Click "Open in Codespaces" on the GitHub repo page

See system/INSTALL.md for the full installation guide.

How It Works

TypeScript (W3C DOM + CSS)            ← You write this
        ↓  w3cos-compiler
Rust source code (auto-generated)     ← AST transform
        ↓  rustc + LLVM
Native ELF/Mach-O binary              ← Machine code
        ↓  Linux kernel
Runs directly on hardware             ← No runtime

Technology Stack

Layer Technology What it does
CSS Layout Taffy 0.9 Flexbox, Grid, Block, position
Text Layout Parley Line-breaking, shaping, bidi
2D Rendering tiny-skiaVello (Phase 2) Vector graphics
Windowing winit Cross-platform native windows
OS Base Linux kernel (Debian Minimal / Buildroot) Drivers, processes, filesystem

CSS Support

Feature Status
Flexbox / Grid ✅ Full
Block layout
position: relative / absolute
position: fixed / sticky 🔜
overflow: hidden / scroll
z-index
Units: px, %, rem, em, vw, vh
border-radius, opacity
box-shadow
transform: translate / scale / rotate
transition (easing functions)
display: inline / inline-block 🔜
Mouse events (hover, click)

Project Structure

w3cos/
├── crates/
│   ├── w3cos-std/         # Type definitions (Style, Component, Color)
│   ├── w3cos-dom/         # W3C DOM API (Document, Element, Events)
│   ├── w3cos-a11y/        # Accessibility tree (ARIA, for AI + screen readers)
│   ├── w3cos-ai-bridge/   # AI agent interface (3-layer access + permissions)
│   ├── w3cos-compiler/    # TS → Rust transpiler
│   ├── w3cos-runtime/     # Layout + Rendering + Window + Events
│   └── w3cos-cli/         # CLI: w3cos build / w3cos run
├── system/
│   ├── buildroot/         # Bootable ISO config
│   ├── rootfs_overlay/    # System init scripts
│   ├── scripts/           # build-iso.sh, run-qemu.sh
│   └── INSTALL.md         # Installation guide
├── examples/              # 4 example applications
├── .openclaw/             # OpenClaw + Lobster AI workflow configs
├── .devcontainer/         # One-click dev environment
├── Dockerfile             # Container build
├── ARCHITECTURE.md        # Full architecture document
├── AI_DEVELOPMENT.md      # AI-driven development model
├── ROADMAP.md             # Phased development plan
└── CONTRIBUTING.md        # How to contribute (AI + humans)

AI-Driven Development

W3C OS is built by AI agents, directed by humans.

Humans file Issues  →  Management AI triages  →  Contributor AI codes  →  Human approves
  • Humans: File Issues, review PRs, make architecture decisions, sponsor tokens
  • AI (Management): Triage issues, review PRs, run CI, manage releases
  • AI (Contributor): Pick up ai-ready issues, implement features, write tests, submit PRs

AI tokens are funded by community sponsors. Every dollar goes to AI compute.

See AI_DEVELOPMENT.md for the full model, and CONTRIBUTING.md to get involved.

Sponsor

AI agents need tokens. Your sponsorship keeps development moving.

Sponsor

Tier Amount Impact
Byte $5/mo ~1 AI-implemented issue/month
Kilobyte $25/mo ~5 AI-implemented issues/month
Megabyte $100/mo ~20 AI-implemented issues/month
Gigabyte $500/mo Sustained AI development capacity

100% goes to AI compute. No human salaries. Fully transparent.

License

Apache 2.0 — open, neutral, not controlled by any single corporation.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 93.5%
  • Shell 5.8%
  • Dockerfile 0.7%