Project
Roadmap
What has shipped, and what is being explored next for StreetJS.
This page tracks the direction of StreetJS. Priorities shift based on community feedback — open an issue or discussion to influence it.
Current release: v1.0.9. Much of what earlier drafts of this roadmap listed as “future” has already landed in the 1.0.x line. The list below reflects what is actually in the codebase today. Items are verified against the published
streetjspackage, the@streetjs/*packages, and the docs.
Shipped — available now
Core runtime
- HTTP server on
node:http; compiled-regex router with parameter extraction - IoC container with constructor injection and circular-dependency detection
- Middleware pipeline, typed context,
@Validateschemas - OpenAPI 3.1 generation from decorators (served at
/openapi.json) - API versioning —
@ApiVersion/@DeprecatedwithDeprecation/Sunsetheaders - Clustering (
node:cluster, IPC heartbeat, auto-restart), telemetry (ring buffer, P50/P99) - LRU cache, webhook dispatcher (HMAC + exponential backoff), streaming multipart upload
Database
- Native PostgreSQL wire driver (protocol v3, SCRAM-SHA-256 / MD5 / cleartext)
- Native MySQL / MariaDB driver
- SQLite support
- Connection pool with bounded acquire queue; repository pattern (parameterized queries)
- SQL migration runner, query builder, schema introspection, seeder, query profiler
- First-party ORM —
@streetjs/orm(dialects, metadata, migrations, repositories)
Auth & security
- JWT (HMAC-SHA256,
timingSafeEqual), AES-256-GCM sessions, scrypt vault - OAuth 2.0 / OIDC, WebAuthn / passkeys, MFA, mTLS
- RBAC decorators and helpers
- Sliding-window rate limiter, recursive XSS sanitizer, security headers, CORS, CSRF
Realtime & messaging
- Bounded WebSocket server (heartbeat, typed events) + channels/presence
- Server-Sent Events (heartbeat, backpressure)
- Transports: Kafka, RabbitMQ, Redis (RESP/Streams), NATS (plugin)
Observability
- OpenTelemetry (OTLP traces/metrics/logs), structured JSON logger with correlation IDs
- Prometheus
/metrics+ recording/alerting rules, Grafana dashboard, health checks, analytics
Microservices & architecture
- HTTP/2 server, gRPC (Protocol Buffers parser + server)
- Circuit breaker, service registry (discovery), distributed lock, CQRS, saga, event bus/store
- Edge runtime —
@streetjs/edge
Developer experience
- CLI:
create,dev,build,start,test,generate,migrate,seed - CLI:
info,doctor,diagnostics,audit,certify,deploy,plugin,registry,upgrade,add - Project templates (
app,saas,ecommerce,realtime-chat,dating-app) +--frontend react|next - SDK generators — TypeScript and Python clients from the OpenAPI spec
- Docker multi-stage build; GitHub Actions CI/CD with npm provenance + signed plugins
Exploring next
These are directions under consideration, not commitments. They are largely ecosystem- and adoption-driven rather than core-runtime gaps.
- More official plugins — expanding the signed
@streetjs/plugin-*catalog (payments, messaging, regional providers). - More database dialects & tooling — broader introspection and migration diffing.
- Tutorials & runnable examples — growing the catalog incrementally (see the Tutorials & Examples Program).
- Community & governance growth — see the Adoption & Go-To-Market Roadmap.
The honest current gaps are awareness, ecosystem breadth, and community size — not core capabilities.
How to influence the roadmap
- Open a feature request at github.com/hassanmubiru/StreetJS/issues
- Start a discussion at github.com/hassanmubiru/StreetJS/discussions
- Vote on existing issues with 👍
- Contribute — see the Contributing Guide