Skip to content

CodeEditorLand/Air

Air

🪁

+

🏞️


Air 🪁

VS Code cold-starts slowly because everything initializes fresh each launch. Updates require a full restart that kills open terminals and in-progress work. There is no mechanism to pre-stage work between sessions.

"The next version is already downloaded and verified before you decide to update. No restart prompt ever."

License: CC0-1.0 RustCrates.io RustRust Version

Air is a persistent background daemon that keeps running after you close the editor. It pre-downloads and PGP-verifies the next version between sessions, pre-indexes workspace changes while the editor is closed, and keeps language server warm caches available. When you launch Land, the expensive work is already done. Cold start under 200 ms. Updates apply between sessions with no interruption.

📖 Rust API Documentation


What It Does 🔐

  • Pre-staged updates. The next version is downloaded, PGP-verified, and ready before you decide to update.
  • Pre-indexed workspaces. File changes that happened while the editor was closed are already indexed.
  • Warm language server caches. IntelliSense is ready before you finish the first keystroke.
  • No restart prompt. Updates apply between sessions. You never see 'Restart to Update'.

In the Ecosystem 🪁 + 🏞️

graph LR
    classDef mountain fill:#f9f,stroke:#333,stroke-width:2px;
    classDef Air fill:#9cf,stroke:#333,stroke-width:2px;
    classDef external fill:#ddd,stroke:#666,stroke-dasharray: 5 5;

    subgraph "Land Runtime Ecosystem"
        direction TB

        subgraph "Mountain ⛰️ (Main App)"
            UI[User Interface]:::mountain
            CoreLogic[Core Logic]:::mountain
            CoreLogic -- Requests Task --> IPC_Client
        end

        subgraph "Air 🪁 (Daemon Sidecar)"
            IPC_Server[gRPC Server]:::Air
            UpdateMgr[Update Manager]:::Air
            Downloader[Resilient Downloader]:::Air
            AuthService[Signer & Auth]:::Air

            IPC_Server -- Routes to --> UpdateMgr
            IPC_Server -- Routes to --> Downloader
            IPC_Server -- Routes to --> AuthService
        end

        IPC_Client -- IPC (Vine Protocol) --> IPC_Server
    end

    subgraph "External World"
        Cloud[Update Servers / Registry]:::external
    end

    UpdateMgr -- Fetches --> Cloud
    Downloader -- Downloads --> Cloud
Loading

Development 🛠️

Air is a component of the Land workspace. Follow the Land Repository instructions to build and run.


License ⚖️

CC0 1.0 Universal. Public domain. No restrictions. LICENSE


See Also

Changelog 📜

Stay updated with our progress! See CHANGELOG.md for a history of changes specific to Air.


See Also

Funding & Acknowledgements 🙏🏻

Air 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
Land PlayForm NLnet NGI0 Commons Fund

Project Maintainers: Source Open (Source/Open@Editor.Land) | GitHub Repository | Report an Issue | Security Policy

About

Air 🪁 + Land 🏞️

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Languages