VS Code's UI is tightly coupled to Electron's renderer process. Changing a panel requires understanding the full Chromium lifecycle. Hot-reload means restarting the entire renderer.
"Every panel is a component. Instant hot-reload."
Sky provides three workbench layouts (full desktop, embedded, minimal) built from Astro components. Tauri reloads Sky instantly on any component change. High-fidelity VS Code UI compatibility with a significantly smaller footprint. No Electron renderer magic. Web components rendered by the OS's own WebView.
- Three workbench layouts. Full desktop, embedded, and minimal deployments from the same component set.
- Instant hot-reload. Tauri reloads Sky immediately on any component change during development.
- VS Code UI compatibility. Panels, sidebars, tab bars, and status bars match the VS Code UX.
- OS-native rendering. Components rendered by WKWebView/WebView2/WebKitGTK, not bundled Chromium.
graph LR
classDef sky fill:#9cf,stroke:#333,stroke-width:2px;
classDef wind fill:#ffc,stroke:#333,stroke-width:2px;
classDef tauri fill:#f9d,stroke:#333,stroke-width:2px;
classDef mountain fill:#f9f,stroke:#333,stroke-width:2px;
classDef external fill:#ddd,stroke:#666,stroke-dasharray: 5 5;
subgraph "Sky π (UI Component Layer - Tauri Webview)"
Pages["Pages (index, Browser, Electron, Mountain, Isolation)"]:::sky
Workbenches["Workbench Components (Browser, Mountain, Default, NLS)"]:::sky
WorkbenchImpl["Workbench Implementations (BrowserProxy/, Electron/)"]:::sky
end
subgraph "Wind π (Service Layer - Tauri Webview)"
PreloadJS["Preload.js (Environment Shim)"]:::wind
WindServices[Wind Effect-TS Services]:::wind
TauriIntegrations[Wind/Tauri Integrations]:::wind
end
subgraph "Tauri Shell & Mountain π (Rust Backend)"
TauriWindow[Tauri Window API]:::tauri
TauriEvents[Tauri Event System]:::tauri
MountainCore[Mountain Rust Core]:::mountain
end
subgraph "External"
VSCodeComponents[VSCode Core UI Components from Output]:::external
end
Pages --> Workbenches
Pages --> WorkbenchImpl
Workbenches --> PreloadJS
WorkbenchImpl --> PreloadJS
Workbenches -- Consumes services from --> WindServices
WorkbenchImpl -- Consumes services from --> WindServices
WindServices -- Uses --> TauriIntegrations
TauriIntegrations -- Calls --> TauriWindow
TauriIntegrations -- Listens to --> TauriEvents
TauriWindow -- IPC --> MountainCore
TauriEvents -- Emits from --> MountainCore
Workbenches -- Loads --> VSCodeComponents
WorkbenchImpl -- Loads --> VSCodeComponents
Sky/
βββ Source/
β βββ pages/ # Page routes
β β βββ index.astro # Home page (default workbench entry)
β β βββ Browser.astro # A1: Browser workbench page
β β βββ BrowserProxy.astro # A1: Browser + services proxy page
β β βββ Electron.astro # A3: Electron + polyfills page
β β βββ Isolation.astro # Isolated mode page
β β βββ Mountain.astro # A2: Mountain providers page (RECOMMENDED)
β βββ Workbench/ # Workbench component implementations
β β βββ Default.astro # Deprecated entry point
β β βββ Browser.astro # Browser workbench component
β β βββ BrowserTest.astro # Test workbench component
β β βββ Mountain.astro # A2: Mountain workbench component (RECOMMENDED)
β β βββ NLS.astro # Natural Language Support component
β β βββ BrowserProxy/ # A1: Browser Proxy implementation
β β β βββ Bootstrap.ts
β β β βββ Layout.astro
β β β βββ ServicesProxy.ts
β β β βββ WindPreload.ts
β β β βββ Workbench.ts
β β βββ Electron/ # A3: Electron implementation
β β βββ Bootstrap.ts
β β βββ Layout.astro
β β βββ Polyfills.ts
β β βββ WindPreload.ts
β β βββ Workbench.ts
β βββ Function/ # Utility functions and base components
β β βββ Debug.ts # Build-time debug utilities
β β βββ Shared.ts # Shared utilities
β β βββ Meta.astro # Meta component
β β βββ Markup/
β β βββ Base.astro # Base markup layout
β βββ env.d.ts # TypeScript definitions
βββ Public/ # Static assets served directly
β βββ Manifest.json
β βββ robots.txt
β βββ Favicon/
βββ Target/ # Build output directory
βββ .env.example # Environment variables template
βββ astro.config.ts # Astro configuration
βββ package.json
βββ tsconfig.json # TypeScript configuration
Sky is a component of the Land workspace. Follow the Land Repository instructions to build and run.
CC0 1.0 Universal. Public domain. No restrictions. LICENSE
Sky is a core element of the Land ecosystem. This project is funded through NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.
The project is operated by PlayForm, based in Sofia, Bulgaria.
PlayForm acts as the open-source steward for Code Editor Land under the NGI0 Commons Fund grant.
| Land | PlayForm | NLnet | NGI0 Commons Fund |
|---|---|---|---|
|
|
|
|
|
Project Maintainers: Source Open (Source/Open@Editor.Land) | GitHub Repository | Report an Issue | Security Policy