Thanks for your interest in contributing to SLOP! Here's how to get started.
# Clone the repo
git clone https://github.com/devteapot/slop.git
cd slop
# Install dependencies (requires Bun)
bun install
# Run tests
bun test packages/
# Run the Notes SPA example
cd examples/spa/notes && bun run serve.ts
# Run the Kanban board example
cd mvp && bun run demo:web
# Build the extension
cd extension && bun run build.ts# Create a virtual environment
cd packages/python
python3 -m venv .venv
# Install in editable mode
.venv/bin/pip install -e slop-ai
# Run tests
.venv/bin/pip install pytest
.venv/bin/pytest slop-ai/tests/cd packages/go/slop-ai
go test ./...cd packages/rust/slop-ai
cargo testspec/— Protocol specification (language-agnostic)packages/— Publishable SDK packages- TypeScript:
@slop-ai/core,@slop-ai/client,@slop-ai/server,@slop-ai/react,@slop-ai/consumer, etc. - Python:
slop-ai(inpackages/python/slop-ai/) - Rust:
slop-ai(inpackages/rust/slop-ai/) - Go:
github.com/slop-ai/slop-go(inpackages/go/slop-ai/)
- TypeScript:
apps/— Standalone consumer applicationsextension/— Chrome extensiondesktop/— Tauri desktop appcli/— Go CLI inspector
examples/— Runnable example apps
Open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your environment (OS, browser, Bun version)
Open an issue describing:
- The use case
- Why existing features don't solve it
- A rough idea of the solution (optional)
- Fork the repo
- Create a branch (
git checkout -b my-feature) - Make your changes
- Run tests (
bun test packages/) - Commit with a clear message
- Open a pull request
- Bug fixes
- New transport implementations
- Framework adapters (
@slop-ai/vue,@slop-ai/svelte, etc.) - Language SDKs (Swift, C#, etc. — Python, Rust, and Go SDKs already exist)
- Example apps showing SLOP integration
- Spec improvements and clarifications
- Documentation fixes
- No external runtime dependencies in
@slop-ai/core(browser-only) - Tests use Bun's built-in test runner (
bun:test)
- Python 3.10+ with type hints throughout
- Zero required dependencies in
slop-ai - Tests use pytest
- Pythonic API (decorators, context managers, properties)
- Core engine has no async runtime dependency (WASM-ready)
- Feature flags for transports (
websocket,unix,stdio,axum) serde+thiserror
- Single external dependency (
nhooyr.io/websocket) Handler/HandlerFuncmirrorshttp.Handlerpatterncontext.Contextin all handlersnet/httpnative —server.Mount(mux)works with any HTTP framework
- Keep it simple — prefer small, focused changes
By contributing, you agree that your contributions will be licensed under the MIT License.