spikard 0.17.1 copy "spikard: ^0.17.1" to clipboard
spikard: ^0.17.1 copied to clipboard

Codegen-first polyglot web toolkit with a Rust core and bindings for 14 languages

spikard - polyglot web toolkit

Spikard — Part of the spikard polyglot web toolkit.

Codegen-first polyglot web toolkit on a Rust core: OpenAPI/AsyncAPI/GraphQL/JSON-RPC/gRPC codegen, SQL-to-HTTP, tower-http middleware, and an MCP server. Experimental, pre-1.0. Dart bindings via flutter_rust_bridge with isolate-safe Future/Stream APIs.

Install · Quick example · Features · Docs


Important

spikard is experimental and pre-1.0. APIs change between releases and not every binding is at the same level of maturity, so it is not yet recommended for production. Feedback is genuinely wanted at this stage — open an issue if something is wrong, awkward, or missing.

What this package provides #

  • Flutter-compatible FFI — Dart 3.0+ with Future and Stream APIs

  • Type-safe routing — HTTP definitions with path, query, body, and header validation across all bindings

  • Spec-driven codegen — OpenAPI 3.0, AsyncAPI 3.0, GraphQL SDL, and JSON-RPC 2.0 support

  • Cross-language parity — same DTOs, fixtures, and error model prevent runtime drift

  • Tower middleware — compression, rate limiting, timeouts, auth (JWT/API key), static files

  • Lifecycle hooksonRequest, preValidation, preHandler, onResponse, onError

Installation #

dart pub add spikard

System Requirements #

  • Dart 3.0+ required

Quick example #

See the spikard repository for usage examples and guides.

Features #

Feature Support
Type-safe routing Path, query, body, and header parameter validation
Request extraction Typed structs for JSON, form data, multipart, and raw bodies
Spec support OpenAPI 3.0 · AsyncAPI 3.0 · GraphQL SDL · JSON-RPC 2.0
Middleware Compression, rate limiting, timeouts, authentication, static files
Lifecycle hooks Request, pre-validation, pre-handler, response, and error hooks
WebSocket & SSE Bidirectional streams and server-sent events
Error handling Consistent error responses across all bindings via ProblemDetails
Fixture testing Shared JSON fixtures for behavioral consistency across languages
Routing

See examples in the repository.

Validation

See examples in the repository.

Middleware & configuration

See examples in the repository.

Resources #

License #

MIT License — see LICENSE for details.

0
likes
145
points
277
downloads

Documentation

API reference

Publisher

verified publisherspikard.dev

Weekly Downloads

Codegen-first polyglot web toolkit with a Rust core and bindings for 14 languages

Repository (GitHub)
View/report issues
Contributing

License

MIT (license)

Dependencies

crypto, flutter_rust_bridge, freezed_annotation, http, json_annotation

More

Packages that depend on spikard