ScalaScript documentation index
Guide documents live flat in docs/; normative feature contracts live in
specs/ and are linked here with their stable paths. Files are intentionally not
nested into topic subdirectories. This index is the map for both sets.
> New feature specs land here first (see AGENTS.md → Spec-driven
> development), then implementation PRs reference them by path.
Getting started & guides
- project-summary.md — Project Summary — one-page overview of the language, the five backends, and headline capabilities
- getting-started-standalone.md — Getting Started Standalone
- v2.0-getting-started.md — v2.0 Separate Compilation — Getting Started
- tutorial.md — Tutorial 1: Collaborative Todo API
- user-guide.md — ScalaScript User Guide
- frontend-usage.md — Frontend SPI — usage guide
- native-plugin-guide.md — Native Plugin Binary Guide
- community-plugins.md — Community Plugins
- writing-a-backend.md — Writing a ScalaScript Backend
Language & semantics
- markdown-as-syntax.md — Markdown as Syntax
- ../specs/markdown-content-introspection.md — Markdown-to-frontend content layer and metadata introspection
- dsl.md — Defining domain-specific languages
- ../specs/algebraic-effects.md — Algebraic Effects
- ../specs/coroutines.md — Coroutines
- ../specs/control-interoperability.md — target-neutral effects, multi-prompt
shift/reset, managed callbacks/TCO, and durablesave/runlaws - ../specs/scala3-bidirectional-control.md — Scala 3/JVM control host profile
- ../specs/scala3-control-macros.md — bounded Scala 3 lexical
direct.reset/direct.shiftmacros - ../specs/javascript-typescript-bidirectional-control.md — JavaScript/TypeScript control host profile
- ../specs/javascript-typescript-control-direct.md — bounded TypeScript 5.9 lexical
shift/resettransform, build-time marker erasure, and packed CLI - ../specs/rust-bidirectional-control.md — Rust control host profile
- ../specs/swift-bidirectional-control.md — Swift control host profile
- ../specs/control-interop-profile-portable-vm.md — portable-VM reference runner profile and measured capability row
- ../specs/wasm-wasi-control-runner.md — WASM/WASI saved-control runner profile
- direct-syntax.md — Direct-syntax do-notation
- error-handling.md —
throws[A, E]+ integration - exact-numerics.md — BigInt, Decimal, Money
- final-tagless.md — Final Tagless / typeclass UX
- metaprogramming.md —
inline+derivesMVP - tuple-monoid.md — Tuple Monoid
- ../specs/scala-interop.md — Scala ↔ ScalaScript Interop
- streams.md — Streams with Backpressure
- saga.md — Coordinated multi-actor state changes with compensation
Architecture & roadmaps
- architecture.md — Architecture overview
- targets.md — Target Backends (index)
- rust-backend.md — Rust target user guide (emit-rust / build-rust / run-rust, rust fence blocks, + the reactive web toolkit
serve: SSR + signals + SSE + WebSocket) - typer-real-types-roadmap.md — Typer real-type evidence roadmap
- modularity.md — Modularity — three layers
- arch-library-modularity.md — Library Modularity spec
- optimization-roadmap.md — Optimization & Modularity Roadmap
- performance.md — Performance & Memory (v1.61 roadmap + shipped phases)
- benchmarks.md — Benchmark reference (scripts/bench, JMH, corpus workloads)
- vm-jit-spec.md — Hot-spot register VM + run-time BytecodeJIT spec
- vm-jit-next.md — Interpreter performance — next optimization phases
- instancev-array-repr-spec.md — InstanceV positional array fields (Direction B)
- interpreter-perf-findings-2026-06.md — JFR profiling findings (2026-06-02)
- arch-metaprogramming-v2.md — Metaprogramming v2.x Roadmap
- arch-dsl-hooks.md — DSL Platform Hooks
- ../specs/arch-ffi.md — Lightweight FFI (@jvm / @js / @rust / @wasm)
- ../specs/separate-compilation-plan.md — v2.0 Separate Compilation Plan
- ../specs/v2.0-artifact-format.md — v2.0 Artifact Format wire spec
- v2.0-scale-benchmark.md — v2.0 Scale Benchmark
- v1.20-plan.md — v1.20 DSL primitives +
std/parsing
Backend SPI & plugins
- backend-spi.md — Backend SPI — Plan
- backend-spi-protocol.md — Backend SPI out-of-process wire protocol
- plugin-architecture.md — Pluggable Intrinsics — Architecture
- arch-stable-spi.md — Stable Plugin SPI
- arch-build-registry.md — Build-time Registry Consolidation
- arch-registry.md — Package Registry
- arch-distribution.md — Distribution Ecosystem
- arch-sbt-plugin.md — sbt-scalascript Plugin
- arch-ssc-new.md —
ssc newscaffolding & installation - intrinsics-migration.md — Intrinsics →
.sscpkgmigration - spi-5b-http-plan.md — SPI 5+/B std.http migration
- spi-followups-plan.md — Backend SPI follow-ups
- spi-intrinsics-design.md — Backend SPI intrinsics design notes
- nativecontext-state-bag.md — NativeContext State Bag
- config-system.md — Config System
- secret-resolvers.md — Secret Resolvers
- interpreter-server-extraction.md — Interpreter Server Extraction
- runtime-server-strategic-plan.md — Runtime-server strategic plan
Backends & targets
- wasm-backend.md — WebAssembly Backend
- native-platform.md — Native Platform Support
- spark-catalog.md — Apache Spark Catalog DSL
- spark-lakehouse.md — Spark Lakehouse formats (Delta / Iceberg / Hudi)
- spark-mllib.md — Spark MLlib integration
- spark-streaming.md — Spark Structured Streaming backend
- mapreduce.md — Map-reduce —
Dataset[T] - dep-cps-rewrite.md — Dep-block CPS rewriting on the JVM
- http-server-backends.md — Picking Jetty or Netty
- http-server-spi-plan.md — HTTP/WS Server SPI plan
Distribution, clustering & actors
- distributed-runtime.md — Distributed Runtime
- distributed-streams.md —
DStream[T]Beam-style pipelines - distributed-wire-protocol.md — Distributed Wire Protocol
- actors-dist.md — Actors Phase 2 + 3 architecture
- cluster-codegen-gap.md — Cluster intrinsics per-backend gap matrix
- cluster-federation.md — Multi-cluster addressing & routing
- cluster-management.md — Peer-cluster orchestration
- cluster-raft.md — Cluster leader election
Frontend, desktop & mobile
- frontend-abstract-model.md — Frontend abstract model
- frontend-framework-spi-plan.md — Frontend framework SPI plan
- frontend-toolkit-spec.md — High-level declarative UI spec
- electron-renderer.md — Electron Renderer
- electron-jvm-rest-backend.md — Electron JVM REST Backend
- electron-persistence-bridge.md — Electron Persistence Bridge
- electron-sql.md — Electron SQL
- javafx-desktop-frontend.md — JavaFX Desktop Frontend
- jvm-desktop-frontend.md — JVM Desktop Frontend
- swiftui.md — SwiftUI Native Frontend Backend
- swiftui-typed-models.md — SwiftUI Typed JSON Models (v1.66)
- typed-models-ir.md — Typed Models IR — cross-backend contract
- pwa-plugin.md — Progressive Web App support
- repl-web.md — REPL Web-Aware Mode +
mount() - mount-handlers.md — Mount handlers
Web services & protocols
- openapi.md — OpenAPI contract platform
- graphql.md — GraphQL contract platform
- contract-validation.md — Shared OpenAPI/GraphQL contract validation plan
- oauth.md — OAuth 2.1 + OIDC
- mcp.md — Model Context Protocol support
- future-protocols.md — Future web-services protocols
- typed-route-clients.md — Typed Route Clients
- fullstack-in-process-transport.md — Full-Stack In-Process Transport
Data & storage
- postgres.md — PostgreSQL Client
- redis.md — Redis Client
- kafka.md — Kafka Client
- graph-storage.md — Graph Storage
- data-mapping.md — Typed Data Mapping Across Stores
- client-server-object-store.md — Client/Server Object Store & Sync
- client-zookeeper.md — Minimal ZooKeeper client (deferred)
- browser-sql.md —
sqlblocks on JS / Node / Wasm - scljet.md — SclJet: a SQLite engine in pure ScalaScript — reads and writes real
.dbfiles (proven againstsqlite3), a JDBC façade, and value-level addressing
Payments, wallets & blockchain
- x402.md — HTTP Payment Protocol
- x402-cardano-scalus.md — Scalus settlement for Cardano
- payment-request.md — Payment Request API
- payment-rails-apac.md — Payment Rails APAC + Americas
- traditional-payments.md — v1.53 Traditional Payment Processors
- bank-rails.md — v1.54 Bank Rails Payments
- international-bank-rails.md — v1.55 International & Domestic-Instant Bank Rails
- micropayment-spi.md — Micropayment Platform SPI
- compliance-provider.md — v1.58 AML/KYC/Sanctions Compliance Provider
- bureau.md — v1.59 Bureau: Business–Government Interaction SPI
- blockchain-spi.md — Blockchain SPI — Plan
- evm.md — EVM Client
- coinbase.md — Coinbase Client
- smart-contracts.md — ScalaScript Smart Contracts (DRAFT)
- wallet-spi.md — Wallet SPI — Plan
- wallet-spi-scalajs.md — Wallet SPI — Scala.js cross-compile
- wallet-vault-ledger.md — Ledger Hardware Wallet Vault
- wallet-vault-trezor.md — Trezor Hardware Wallet Vault
- wallet-vault-mpc.md — MPC Wallet Vault
- mcp-x402-wallet.md — MCP × x402 × Wallet plan
Deploy, debug & tooling
- deploy.md — Deploy to hostings, clouds & Kubernetes-like environments
- dap-debugger.md —
ssc debugDebug Adapter Protocol server - repl-debugger.md — REPL debugger commands