This repository implements a WakaTime language server extension for the Zed editor. It consists of two Rust crates: a Zed extension (src/lib.rs) that manages downloading and launching the wakatime-ls language server and the wakatime-cli binary, and the language server itself (wakatime-ls/src/main.rs) that translates editor document events (open, change, save) into heartbeats sent to the WakaTime API via the external CLI. The extension uses Zed's extension API for lifecycle management and binary caching, while the language server is built with tower-lsp and tokio, providing robust async handling of LSP notifications. The architecture is a clean plugin-plus-LSP design where the extension is a thin orchestrator and the language server does the actual event processing and API communication. The codebase is well-structured, uses modern Rust patterns, and includes CI/CD configuration for cross-platform releases.