Skip to content

Distributor Guide

Zakaria Madaoui edited this page Aug 18, 2026 · 5 revisions

Distributor Guide

This guide is for developers who want to port RTICX to new hardware, create a new distribution, or write a new compilation pass.

It assumes you are familiar with the user-facing syntax described in the User Guide and Syntax Reference.

What is a distributor?

A distributor crate:

  1. Implements the low-level, target-specific backend traits defined by rticx-core (and optionally by passes such as rticx-sw-pass).
  2. Registers the compilation passes it wants to use via RticMacroBuilder.
  3. Exposes the final #[<distro>::app] proc macro.

The result is a self-contained RTICX distribution that application developers can depend on.

Important scope note

This repository maintains the core framework and a set of reference distributions. New distributions for additional hardware targets are expected to live in their own crates and repositories. They are not merged into this repository.

LLM-assisted ports

Porting RTICX to new hardware (a new distribution) or writing a new compilation pass can be largely automated with the help of an LLM. The repository ships agent skills encoding the backend trait surface, pipeline order, and InfoBus API:

Point your LLM at these (or load them as skills) to speedrun a port or a pass.

Guide sections

Core concepts

  • RticMacroBuilder: the API used by every distribution to assemble the macro pipeline.
  • CorePassBackend: the target-specific interface for the core code generation phase.
  • RticPass: the interface for syntax-transformation passes.
  • Backend extension traits: passes such as rticx-sw-pass may define their own backend traits (e.g., SwPassBackend) for target-specific details.

Start with Architecture for the big picture.

Clone this wiki locally