1 unstable release
| 0.1.0 | Dec 14, 2025 |
|---|
#758 in Command-line interface
93 downloads per month
Used in 15 crates
49KB
671 lines
π₯ Molten Brand
Design tokens and brand system for building beautiful CLI tools in Rust.
Features β’ Installation β’ Quick Start β’ Documentation β’ Ecosystem
Why Molten Brand?
Building beautiful CLI tools shouldn't mean hardcoding hex values everywhere. Molten Brand gives you a complete design system in Rustβthe same tokens powering Lair, our GPU-rendered terminal.
use molten_brand::{colors, products, semantic};
// One source of truth for your entire CLI
let primary = colors::molten::PRIMARY; // #F97316 - Molten Orange
let success = semantic::SUCCESS; // #10B981 - Consistent everywhere
let terminal_bg = products::lair::terminal::BACKGROUND; // #0F0F1A - Cave Dark
"Update colors in one place. Watch your entire ecosystem transform."
Features
π¨ Complete Color System
|
π Product Themes
|
π Spacing & Typography
|
β‘ Zero Runtime Cost
|
Installation
cargo add molten_brand
Or add to your Cargo.toml:
[dependencies]
molten_brand = "0.1"
Quick Start
Colors
use molten_brand::colors::{forge, molten, neutral, surface, text};
// Forge brand colors (shared across all products)
let bg = forge::BLACK; // #0A0A0A
let accent = forge::MOLTEN; // #F97316
// Full color scales
let orange_light = molten::SCALE_300; // #FDBA74
let orange = molten::PRIMARY; // #F97316
let orange_dark = molten::SCALE_700; // #C2410C
// Surfaces for dark mode UIs
let card_bg = surface::RAISED; // #18181B
let modal_bg = surface::OVERLAY; // #27272A
// Text colors
let primary_text = text::PRIMARY; // #FAFAFA
let secondary_text = text::SECONDARY; // #A1A1AA
Product Themes
Each Molten Labs product has its own visual identity:
use molten_brand::products::{lair, hearth, alloy};
// Lair - The Terminal for Goblins πΊ
let goblin_purple = lair::PRIMARY; // #7C3AED
let cave_dark = lair::terminal::BACKGROUND; // #0F0F1A
let cursor = lair::terminal::CURSOR; // #7C3AED
let glow = lair::goblin::GLOW; // Purple glow effect
// Hearth - Content Platform π°
let editorial_blue = hearth::PRIMARY; // #3B82F6
let card = hearth::content::CARD; // #111111
// Alloy - Design System π¨
let system_orange = alloy::PRIMARY; // #F97316
Semantic Colors
Colors that convey meaningβconsistent across your entire app:
use molten_brand::semantic;
let success = semantic::SUCCESS; // #10B981 - Green
let warning = semantic::WARNING; // #F59E0B - Amber
let error = semantic::ERROR; // #EF4444 - Red
let info = semantic::INFO; // #3B82F6 - Blue
// Agent status colors (for AI/automation UIs)
let running = semantic::agent::RUNNING; // Green
let thinking = semantic::agent::THINKING; // Amber
let failed = semantic::agent::FAILED; // Red
Typography
use molten_brand::typography::{families, sizes, presets};
// Font families
let sans = families::SANS; // Geist Sans + system fallbacks
let mono = families::MONO; // Geist Mono + system fallbacks
let display = families::DISPLAY; // Space Grotesk for headlines
// Sizes
let body = sizes::BASE; // 16px
let h1 = sizes::H1; // 36px
let huge = sizes::DISPLAY; // 48px
// Presets (family + size + weight + line-height)
let heading_style = presets::H1;
let body_style = presets::BODY;
let code_style = presets::CODE;
Spacing
use molten_brand::spacing::{scale, semantic, units};
// Scale values
let xs = scale::S2; // 8px
let md = scale::S4; // 16px
let xl = scale::S8; // 32px
// Semantic aliases
let padding = semantic::COMPONENT_MD; // 12px
let gap = semantic::GAP_MD; // 16px
let section = semantic::SECTION; // 32px
// Calculate from units (4px base)
let custom = units(5); // 20px
Brand Hierarchy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MOLTEN LABS (Parent) β
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β LAIR β β HEARTH β β ALLOY β β
β β Terminal β β Content β βDesign Systemβ β
β β Purple β β Blue β β Orange β β
β β #7C3AED β β #3B82F6 β β #F97316 β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Use with Sigil (Terminal Styling)
Combine with sigil for beautiful terminal output:
use molten_brand::colors::molten;
use sigil::{style, Color};
// Convert brand colors to terminal colors
let styled = style("π₯ Molten Labs")
.fg(Color::from_hex(&molten::PRIMARY.hex()))
.bold()
.to_string();
println!("{}", styled);
Ecosystem
Molten Brand is part of the Molten Labs open source ecosystem:
| Crate | Description | Status |
|---|---|---|
| molten-brand | Design tokens (you are here) | β Released |
| sigil | ANSI escape sequences | β Released |
| lacquer | Terminal styling (like lipgloss) | π§ Coming Soon |
| cauldron | TUI framework (like bubbletea) | π Planned |
| rune | Shell script tools (like gum) | π Planned |
| ember | Markdown renderer (like glow) | π Planned |
Documentation
- π API Documentation
- π¨ Brand Guidelines
- π‘ Examples
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# Clone and run tests
git clone https://github.com/moltenlabs/molten-brand
cd molten-brand
cargo test
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Built with π₯ by Molten Labs
"Let them cook."
Dependencies
~140KB