Current section
Files
Jump to
Current section
Files
guides/features/configuration.md
# Configuration
Rekindle uses the host application's standard Elixir configuration:
```elixir
config :my_app, Rekindle,
integration: :gpui,
targets: [
web: [features: ["web"]],
desktop: [features: ["desktop"]]
]
```
## Top-level options
- `:integration` — required; `:gpui`, `:egui`, or `:slint`.
- `:targets` — required; a non-empty keyword list containing `:web`,
`:desktop`, or both.
The Rust client is located at `client/`. Web release output is published below
`priv/static/rekindle/`.
## Target options
Each target accepts:
- `:features` — Cargo features enabled for the target.
- `:package` — Cargo package name when the workspace contains more than one
package.
- `:binary` — Cargo binary name when it cannot be selected from the target
entry.
- `:profiles` — Cargo profile names for Rekindle's `:dev` and `:release`
modes. Defaults to `[dev: "dev", release: "release"]`.
For example:
```elixir
config :my_app, Rekindle,
integration: :egui,
targets: [
web: [
package: "editor_client",
binary: "web",
features: ["web"],
profiles: [dev: "dev", release: "release"]
],
desktop: [
package: "editor_client",
binary: "desktop",
features: ["desktop"],
profiles: [dev: "dev", release: "release"]
]
]
```
`mix rekindle.doctor` validates the effective configuration and Cargo metadata
without changing the project.