Tsonic documentation

Tsonic compiles TypeScript into target-native source projects. TypeScript is the authored language; C#, Rust or Mojo is the generated language; the native target toolchain owns the final build.

TypeScript source
  -> TSTS parse, bind, check, and finalized semantic evidence
  -> Tsonic project and target orchestration
  -> target analysis, classification, planning, and target AST
  -> target printer and project artifacts
  -> dotnet, Cargo or Mojo

This directory is the canonical documentation source for the Tsonic host, the C#, Rust and Mojo targets, shared source semantics, surfaces, capabilities, provider authoring, and certification. Package repositories may summarize their local build commands, but they must link here rather than maintain a second product contract.

Table of Contents

Manual

Reference

Architecture

Validation

The target manuals use the same structure where the targets have the same responsibility. Target-native concepts remain target-native. C# documents assemblies, attributes, and NativeAOT. Rust documents foundations, ownership, lifetimes, traits, and Cargo. Mojo documents compile-time operations, origins and Pixi projects.

Documentation rules

  1. User-facing behavior is demonstrated with TypeScript input and observable target behavior.
  2. Exact option, marker, module, and support inventories live in reference pages, not in introductory prose.
  3. Targets use symmetric document locations only where their ownership is genuinely symmetric.
  4. Unsupported behavior is documented as a precise semantic boundary, never as a vague roadmap statement.
  5. Counts and support tables are mechanically checked; prose does not become a second source of truth.