A build system for your design system.
Define your design tokens once, compile to native artifacts automatically. Build scripts are written in Starlark, the same language used by Bazel and Buck2.
# build.forje
target(
id="acme",
tokens=[
Token("primary", Color("#38BDF8")),
Token(
"surface",
dark=Color("#0F172A"),
light=Color("#FFFFFF"),
),
],
artifacts=[
Artifact("android", "acme/res"),
Artifact("apple", "acme", stem="Assets"),
],
)pip install forjeRequires Python 3.12+.
Create a build.forje in your project root and run:
forje buildPlugins expose new DSL functions and backends via Python entry points.
New DSL extension:
[project.entry-points."forje.dsl"]
myplugin = "myplugin.dsl:myplugin_module"New platform backend:
[project.entry-points."forje.backend"]
myplatform = "myplugin.backend.myplatform:MyPlatformBackend"MIT