Compatibility and development
Supported environment
Section titled “Supported environment”Use Neovim 0.11.5 or newer with LuaJIT, on macOS or Linux. The client has passed protocol and socket checks on Neovim 0.11.5, and live dotfiles navigation on 0.12.6.
The supported server is lanej/Zellij 0.46.0 at 744c99f5, using contract_version_1. Compatibility with other revisions is unverified. The internal socket protocol can change independently of the version string.
Regenerate the contract
Section titled “Regenerate the contract”protocol/source.json pins the upstream repository and revision. The five protocol/*.proto files and protocol/LICENSE.md are copied from that revision. Generation reads those local sources, so it needs no runtime checkout or network after the pinned Python dependencies have been cached.
uv run scripts/generate.pyuv run scripts/generate.py --checkThe generator writes lua/zellij/schema.lua and independent Python protobuf reference messages in tests/protobuf.json. Edit the generator or source contract, not the generated files. When changing the runtime pin, deliberately replace all five source files, update the metadata and compatibility statement, and exercise a real integration.
Run checks
Section titled “Run checks”nvim --headless -u NONE -i NONE -l tests/protobuf.luanvim --headless -u NONE -i NONE -l tests/client.luastylua --check lua testsThe socket checks use private local servers. They cover fragmented replies, acknowledgement-before-query output, server errors, malformed frames, cancellation, close and uncertain timeouts without replay. They do not establish compatibility with another Zellij revision. The consuming dotfiles repository retains the live editor-to-pane acceptance test.
Build this documentation
Section titled “Build this documentation”cd websitenpm cinpm run checknpm run buildThe static site uses /zellij-client.nvim/ as its base path. The lanej.io website pins a reviewed package commit, builds this directory and assembles the output into its single GitHub Pages bundle. Update the website’s .zellij-client-version pin to publish a documentation revision.
MIT covers the Lua client and tooling; vendored Zellij definitions retain the upstream MIT license in protocol/LICENSE.md.