slave-framework
The runtime behind applications created with
slave, a Laravel-inspired Rust framework for
MCP-first apps. You normally get it through slave new rather than adding it
by hand.
| Module | Provides |
|---|---|
server |
serve(router, host, port): an Axum server with graceful shutdown on Ctrl+C / SIGTERM |
env |
.env loading and typed settings (var_or, parse_or) |
logging |
tracing setup driven by RUST_LOG |
database (feature database) |
Turso Cloud connections (libSQL remote client only: no engine compiled in) |
migration (feature database) |
Migrations with batches, status and rollback, plus the console used by slave migrate |
oidc (feature oidc) |
Sign-in through an OpenID Connect provider: OidcVerifier checks ID tokens (signature via JWKS with key rotation, issuer, audience, expiry); OidcClient runs the Authorization Code flow with PKCE for server-rendered apps. No passwords are handled. |
testing (feature testing) |
TestDatabase and TestIdentityProvider (a tiny, insecure OIDC provider) for integration tests and local development |
database and oidc are on by default. Template apps in a slave workspace use
default-features = false plus oidc (for sign-in); the backend's tests add
testing.
async
See the slave README for the full framework. License: MIT.