Rekindle publishes production artifacts from the same Mix entry point used during development. Web and desktop publication use target-specific output formats while sharing configuration and Cargo execution.
Build a release artifact
Use the target's configured Cargo release profile:
mix rekindle.build web --release
mix rekindle.build desktop --release
See Web Target and Desktop Target for their output layouts and runtime requirements.
Programmatic builds
The Mix tasks and Elixir API use the same build pipeline:
{:ok, result} =
Rekindle.build(:web,
otp_app: :my_app,
profile: :release
)
result.artifact
result.metadata.manifestRekindle.build/2 returns typed errors for configuration, Cargo, toolchain, and
publication failures.
Phoenix Web entry
The installer adds the selected integration's host markup and logical Web entry module to the Phoenix root layout. An egui installation, for example, adds the equivalent of:
<%= Phoenix.HTML.raw(Rekindle.Phoenix.web_host(:egui)) %>
<script
type="module"
src={Rekindle.Phoenix.web_entry_path(MyAppWeb.Endpoint)}
></script>web_host/1 returns fixed trusted markup owned by the integration. GPUI returns
an empty string, egui returns <canvas id="the_canvas_id"></canvas>, and Slint
returns <canvas id="canvas"></canvas>. web_entry_path/1 resolves through the
endpoint's static manifest after phx.digest; loading that module starts the
selected immutable Web generation.
The helper functions remain public for applications that intentionally move the generated host or script to another layout.
Rekindle publishes each complete generation below
priv/static/rekindle/web/ and updates priv/static/rekindle/entry.js only
after publication succeeds. Phoenix can then add digested and compressed
derivatives to those files.