TypeRB 1.0 capability map
This catalog is a working proposal for the capabilities TypeRB should have by 1.0. The target is intentionally revisable: items may be split, combined, added, removed, or reworded as real projects clarify what the language needs. It is not a release promise or a replacement for the roadmap.
The map compares that proposed target with publicly documented behavior. Each capability has equal weight regardless of implementation effort. Only Available items count as complete; Partial remains visible as a separate segment and is not converted into a subjective fraction.
- Available: the stated 1.0 capability is documented and usable now.
- Partial: a meaningful implementation exists, but the stated 1.0 scope is incomplete.
- Planned: the capability belongs in the proposed 1.0 set but has no sufficient public implementation yet.
- Exploring: the need is visible, but the 1.0 shape still requires design or inventory.
Use Current status for a narrative of implemented behavior and the language specification for confirmed semantics. Update this catalog when merged public behavior changes a capability state or when the proposed 1.0 set is reviewed; do not use it to show current task scheduling.
Language and type system Portable semantics shared by Go, Ruby, TypeScript, and the evaluator.
Functions, closures, and structured collection blocks Specification Available
Use typed function values, lexical capture, and multi-statement map, select, reduce, predicate, and sort-key blocks.
Records, enums, payload enums, and pattern matching Language guide Available
Model product and sum types with checked construction, exhaustive cases, raw values, and payload binding.
Classes, modules, and interfaces Specification Partial
The object model is usable, while superclass construction, override rules, initialization order, and some generic member semantics remain incomplete.
Generics and type inference Roadmap Partial
Generic aliases, records, enums, classes, functions, and instance methods exist; broader call-site inference and generic member forms remain.
Union, nullable, and discriminant narrowing Specification Partial
Normalized unions, nullable narrowing, literal types, and readonly discriminants exist, but structured and collection alternatives need broader flow analysis.
Result propagation and recovery Specification Available
Represent recoverable failures with Result and use prefix try and postfix catch across functions, callbacks, and application packages.
Aliases and nominal newtypes Language guide Available
Choose transparent aliases for shorthand and nominal newtypes for distinct represented values, including typed serialization boundaries.
Checked numeric and value-type semantics Current status Partial
Integer and Float behavior is portable and checked, while exact large integers, decimal values, rounding, and richer validated value objects remain.
Mutation, suspension, and structured concurrency effects Roadmap Partial
Immutable parameters, explicit local mutation, hidden suspension propagation, cancellation, and bounded concurrent_map exist; general mutation and composition effects remain.
Tuples, destructuring, and typed projection Roadmap Planned
Add position-typed local products, destructured returns, and precise projection without replacing named records at public boundaries.
Module visibility, initialization, and minimal runtime type information Roadmap Exploring
Complete public and file-local visibility, cross-file initialization, constant rules, and only the runtime type information justified by real workflows.
Compiler and projects The shared compiler pipeline, project model, diagnostics, and development iteration.
Shared parser, checker, formatter, and typed IR Current status Available
Use one compiler-owned grammar and semantic pipeline for formatting, checking, generation, the language server, and the evaluator.
Go, Ruby, and TypeScript generation Current status Available
Generate all three target modes from the same checked TypeRB program while keeping target-only APIs behind explicit platform imports.
Configured projects and file-root workflows CLI reference Available
Discover trbconfig.jsonc projects or check, build, run, format, lint, and serve an explicit standalone source closure.
Deterministic diagnostics, linting, and safe fixes Linting guide Partial
Structured diagnostics, suggestions, and a small built-in lint registry exist; the stable catalog and bounded third-party rule boundary need broader evidence.
Incremental analysis and persistent build caching Roadmap Partial
Dependency-aware analysis and reusable compiler services exist, while phase-level invalidation, multi-file change sets, and persistent output caches remain.
TypeRB source maps, stack traces, and debugging Editor support Partial
Generated ranges and Go debug artifacts map back to TypeRB; Ruby and TypeScript source maps, runtime failures, coverage, and complete stack traces remain.
Workspace graph and coordinated development server Roadmap Planned
Coordinate multiple applications and packages with affected builds, watch mode, process readiness, browser bundling, restart, and HMR where ordinary tools are insufficient.
Read-only compiler tooling protocol Tooling protocol Partial
A versioned project snapshot exposes sources, modules, checked declarations, semantic types, and diagnostics; persistent queries and a stable SDK remain deferred.
Cross-backend conformance, reliability, and performance Roadmap Partial
A large shared test suite exercises the modes, but 1.0 still needs explicit end-to-end conformance, performance baselines, and supported-toolchain reliability gates.
Standard library and foundations Portable everyday APIs with the same types, failures, and resource behavior in every mode.
Scalars, Unicode text, Arrays, Hashes, Range, and iteration Standard library Partial
The daily core is substantial, while Unicode normalization, additional collection aggregation, and a few common structures and text operations remain.
Bytes, binary encoding, hashing, and secure randomness Standard library Available
Use Bytes, hex and Base64, modern and compatibility digests, HMAC, constant-time comparison, and secure random generation portably.
JSON, JSONC, and typed codecs Standard library Available
Parse general JSON values and encode or decode typed records, enums, newtypes, collections, and standard values with structured errors.
Date, time, duration, and time zones Standard library Partial
Civil and exact time values, durations, named zones, parsing, formatting, and codecs exist; calendar periods, injectable clocks, and locale formatting remain.
Filesystem, logical paths, and process access Standard library Partial
Scoped whole-file operations, bounded reads, entries, environment access, and shell-free processes exist; metadata, temporary files, atomic replacement, and streaming remain.
Full URL, regular expression, and UUID values Roadmap Planned
Add strict cross-backend URL parsing and resolution, a portable regular-expression subset, and canonical UUID parsing and generation.
Streams, buffers, and scoped resource ownership Roadmap Exploring
Define bounded-memory byte sources and sinks, partial reads, cancellation, and reliable close semantics from concrete file and network workflows.
CSV, compression, archives, MIME, and multipart data Roadmap Planned
Process common structured and binary formats with explicit limits, encoding policy, safe archive paths, and streaming where input can be large.
Additional collections and exact numeric values Roadmap Planned
Add evidence-backed Set and queue structures, aggregation operations, BigInteger, and Decimal without changing current Integer or Float semantics.
Structured logging, metrics, and tracing foundations Web guide Partial
Web request JSONL logging exists; 1.0 needs application-wide levels, fields, redaction, context propagation, metrics, spans, and replaceable sinks.
Typed configuration, internationalization, and locale services Roadmap Planned
Provide typed startup configuration and evidence-backed message, pluralization, number, currency, date, and locale facilities without exposing secrets.
Packages and native interoperability Reproducible TypeRB packages and explicit, typed boundaries to existing ecosystems.
Distributed package resolution and canonical identity Package guide Available
Resolve TypeRB source from Git or local paths with canonical manifests, scoped dependency aliases, and one checked package graph.
Lockfile, checksums, offline, and frozen installation Package guide Available
Pin commits and content hashes, verify cached source, and install deterministically without network access or lockfile drift.
Selective updates and semantic version selection Package guide Partial
Selected direct dependency graphs can update while others remain pinned; semantic version constraints, solver policy, and compatibility guidance remain.
Per-mode native dependency integration Package guide Available
Merge package-owned Go modules, gems, npm packages, and Bun packages into generated target manifests without changing portable imports.
TypeScript declaration indexing and adapters Package guide Partial
Index installed declarations and apply package-owned generic, class, interface, component, alias, and Result bridge corrections; broader native shapes remain.
Ruby and Go native declaration import Roadmap Planned
Import ordinary public types from RBS-compatible metadata and Go type information while diagnosing unsupported shapes instead of producing Any.
Package-owned runtime adapters Package guide Partial
A narrow String-to-String leaf ABI with Result and suspension propagation works in all modes; typed wire values, handles, streams, and lifecycle hooks remain.
Declarative project input and generated-source protocols Package guide Partial
Versioned declaration, project input, generated source, and call-specialization boundaries support bundled packages; external stability and incremental behavior remain.
Package author tooling and sandboxed providers Package guide Partial
Authors can validate and run explicit conformance projects; scaffold, inspection, capability permissions, and resource-bounded provider execution remain.
Publishing, provenance, audit, and namespace-stable APIs Roadmap Planned
Complete package publication, signatures, advisories, vulnerability checks, stable cross-package type identity, and production cache policy.
Application platform Official and ecosystem capabilities for full-stack services, tools, data, and browser applications.
Typed command-line applications CLI application guide Partial
Generate help, conversion, defaults, subcommands, and a Go single binary from records and payload enums; validation, aliases, completion, and more deployment profiles remain.
Portable Web routing, middleware, and server lifecycle Web guide Partial
File routes, middleware, cookies, CORS, security headers, compression, timeouts, cancellation, graceful shutdown, and in-process testing work across the modes; production hardening remains.
Typed HTTP path, query, body, and JSON responses Web guide Available
Bind route parameters, query values, and JSON bodies to checked records and return typed JSON through one portable dispatcher contract.
Endpoint catalog, OpenAPI, and generated browser clients CLI reference Partial
Versioned endpoint metadata, OpenAPI 3.1 output, and a generated TypeScript-browser client exist; validation policy, compatibility checks, and richer wire metadata remain.
Authentication, authorization, and server sessions Authentication guide Partial
Portable OIDC bearer validation and typed principals exist; authorization policy, browser login, rotating cookies, CSRF, session storage, and token lifecycle remain.
Portable outbound HTTP Browser HTTP Partial
Shared HTTP values and a typed browser client exist; Go, Ruby, and server-TypeScript transport, retry, streaming, close, interception, and test doubles remain.
ORM models, queries, writes, relations, and transactions ORM guide Partial
Typed models, associations, preload, locks, batches, writes, transactions, enums, time, and three database systems work across three modes; advanced queries and production policy remain.
Database schema workflow Database guide Partial
Plan, apply, export, lock, and check schemas with explicit destructive changes; online compatibility, multi-database workflows, fixtures, and release validation remain.
Background Jobs, schedules, retries, and recovery Jobs guide Partial
Typed jobs, SQL queues, scheduling, retry, heartbeat, stale recovery, operations commands, and graceful stop work across supported modes and databases; adapters and production profiles remain.
Cache, object storage, uploads, mail, and notifications Roadmap Planned
Add typed cache coordination, bounded streaming storage and uploads, and testable mail and notification contracts with provider adapters.
React, JSX, components, events, and state React guide Partial
Checked JSX, TSX generation, typed props, events, and use_state connect to React; lifecycle, broader hooks, accessibility diagnostics, and component-package coverage remain.
Browser routing, server state, forms, and platform APIs React guide Partial
Native declaration and Result bridges prove initial router and query integration; typed route generation, form lifecycle, DOM breadth, and browser resource semantics remain.
Browser assets, bundling, development, and HMR Roadmap Planned
Coordinate ordinary bundlers with TypeRB generation, CSS and static assets, code splitting, source maps, stale-chunk recovery, size budgets, and local HMR.
Shared wire contracts, validation, and compatibility Web guide Partial
Records, enums, newtypes, typed binders, endpoint metadata, and generated clients share a foundation; field validation, schema diff, versioning, and generic contract identity remain.
External SDK and service integration Package guide Partial
Package-owned shims can normalize narrow SDK calls across modes; credentials, typed service models, pagination, streaming, cancellation, and reusable provider conformance remain.
Testing, editors, and learning The feedback loops required to understand, test, edit, and debug TypeRB every day.
Portable test declarations and runner Testing guide Partial
Colocated tests, source-located failures, filtering, JSON events, backend execution, and editor integration exist; the language-level workflow still needs broader application evidence.
Test lifecycle, assertions, doubles, and determinism Testing guide Partial
Core assertions and in-process Web testing exist; setup and teardown, richer diffs, verified doubles, fake time and randomness, and external-call isolation remain.
Application, component, browser, and end-to-end tests Tutorial Partial
Web, ORM, Jobs, and native conformance fixtures cover important slices; browser hosts, component accessibility, Playwright integration, and standard full-stack fixtures remain.
TypeRB coverage and scalable CI test operation Roadmap Planned
Map backend coverage to TypeRB source and add thresholds, affected selection, sharding, retries, flake visibility, and common CI report formats.
Language-server everyday editing Editor support Available
Use compiler-backed diagnostics, formatting, completion, hover, signature help, navigation, rename, symbols, selection, folding, highlights, and quick fixes.
Ecosystem-aware language intelligence Roadmap Partial
Project imports and generated ORM declarations participate in completion and navigation; packages, schemas, routes, jobs, contracts, components, and large workspaces need deeper indexing.
Visual Studio Code integration Editor support Available
A thin extension supplies syntax, snippets, language-server features, standalone files, Test Explorer integration, and Go debug artifact support without duplicating compiler semantics.
Neovim, JetBrains, and GitHub integrations Editor support Available
Use the shared language server and TextMate grammar through a Neovim plugin, LSP4IJ setup, and a GitHub syntax-highlighting extension.
Cross-target source debugging Editor support Partial
Go debug builds and Delve integration exist; Ruby and TypeScript adapters, target-standard maps, browser and worker process selection, and exception mapping remain.
REPL, playground, and guided tour Current status Available
Explore persistent typed state, completion, formatting, inspection, interrupts, and the same evaluator through local and hosted interactive surfaces.
Searchable reference, guides, and maintained tutorials Documentation Partial
The hosted documentation covers language, tooling, packages, and application slices; 1.0 needs complete searchable references, upgrade paths, and additional production-shaped tutorials.
Distribution, compatibility, and operation Reproducible installation, release, security, deployment, and long-term maintenance boundaries.
Direct binary, Homebrew, and container distribution Getting started Available
Install TypeRB directly or with Homebrew and build or run projects through the published container workflow.
Reproducible CI builds and deployable artifacts Containers Partial
Frozen package installs and deterministic generated trees provide a base; production bundles, source maps, cache policy, and end-to-end artifact verification remain.
Supported operating-system, architecture, and toolchain matrix Roadmap Partial
Current toolchains and multiple installation paths are tested, while 1.0 needs an explicit supported matrix and complete target-runtime conformance.
Signed releases, provenance, and SBOMs Roadmap Partial
Release automation packages and attests important artifacts; the complete compiler, package, container, and dependency provenance story still needs a public support boundary.
Compatibility, deprecation, and migration policy Roadmap Planned
Define version and upgrade rules independently for language semantics, the standard library, official packages, extension protocols, generated wires, and database contracts.
Security audit and supply-chain response Roadmap Partial
Checksums, secure primitives, typed Web defaults, and bounded extension principles exist; advisories, dependency audit, secret policy, and coordinated response remain.
Deployment, observability, and failure recovery Roadmap Planned
Document and verify health, readiness, telemetry, redaction, schema and queue operations, rollback, and recovery for representative deployed applications.
Predictable release cadence and support policy Roadmap Planned
Publish supported versions, security-update expectations, deprecation windows, release cadence, and lifecycle commitments before 1.0 stability is claimed.