Complete wire protocol implementation for xREPL - 83 operations across 12 modules with 100% spec coverage
✅ Production Ready - All 83 operations from the unified xREPL specification are implemented with 776 comprehensive tests.
This library provides a complete implementation of the xREPL protocol:
- 83 operations across 12 organized modules
- MessagePack encoding/decoding with length framing
- Request/response builders for all operations
- Comprehensive message validation
- Field aliasing for client compatibility (Emacs, VSCode, etc.)
- Full error handling and standardization
The protocol is organized into 12 modules covering:
- Session Management - Session lifecycle and state
- Code Evaluation - Execution and file loading
- System & Introspection - Server capabilities and health
- Code Intelligence - Completion, signatures, formatting
- Navigation - Symbol lookup and definitions
- Documentation - Doc access and generation
- Debugging - Breakpoints, stepping, inspection
- Testing - Test execution and coverage
- Refactoring - Symbol rename, function extraction
- Compilation - Building and static analysis
- BEAM Operations - Hot reload, process inspection
- Advanced Features - Macros, profiling, LSP integration
Add to your rebar.config
:
{deps, [
{xrepl_protocol, "0.2.0"}
]}.
;; Encoding an eval request
(let ((request (xrepl-ptcl-ops-eval:eval-request #m(code "(+ 1 2)"))))
(xrepl-ptcl-msgpack:encode request))
;; Decoding a response
(case (xrepl-ptcl-msgpack:decode binary-data)
(`#(ok ,message)
(xrepl-ptcl-ops-eval:parse-response 'eval message)))
Run the full test suite:
rebar3 as test eunit
All 776 tests passing ✅
Apache 2.0