Svelixir. Config. Project
(svelixir v0.11.0)
Copy Markdown
Identity of the project being scaffolded — the project: section.
name and app are independent: name is the mix new positional
directory argument, app is the OTP application name, and
mix svelixir.new NAME --app other_app is a supported invocation. Never
derive one from the other, and never require them to match.
This struct accepts any non-blank name, because it is also the model of
priv/templates/*, whose placeholder default is "NAME". A name arriving
from a project's svelixir.exs is additionally held to
~r/\A[a-z][a-z0-9_]*\z/ — by Svelixir.Config.read!/1, at the file
boundary, which is the only place that grammar applies.
type gates the assets section only. security and container are
type-independent, so they apply to an :otp project too.
github_org is the canonical name. The scaffolder skills spell it
github.org, a sectioned TOML key flattened to one atom here; see the
mapping table in Svelixir.Config.