
xs
is a local-first event stream store for personal projects. Think of it likesqlite
but specializing in the event sourcing use case.
See the documentation for detailed installation instructions, tutorials and examples.
# install
cargo install cross-stream --locked
# or:
brew install cablehead/tap/cross-stream
brew services start cablehead/tap/cross-stream # starts a store in ~/.local/share/cross.stream/store
# optional Nushell helpers
xs nu --install
# then in Nushell
use xs.nu *
# start a server
xs serve ./store
# in another window
echo "hello" | xs append ./store notes
xs cat ./store
# the xs.nu helpers fall back to ~/.local/share/cross.stream/store
# to use a different location temporarily:
with-env {XS_ADDR: "./store"} { .cat }
- Local-first append-only store
- Content-addressable storage for large payloads
- Real-time subscriptions to new events
- Generators and handlers for background processing
Join our Discord to ask questions or share ideas.