Skip to content

SilkCircuit Design Language

Electric meets elegant.

Git-Iris ships with the SilkCircuit design language as its default look, layered on top of the opaline theme engine. Every color, gradient, and style is defined in TOML, so you can swap in any opaline-compatible theme or author your own without touching Rust.

Philosophy

SilkCircuit was designed around three core principles:

  1. Electric Energy — Bold, saturated colors that command attention
  2. Elegant Structure — Semantic tokens that maintain visual hierarchy
  3. Easy Customization — Simple TOML configuration, no code required

The result is a visual language that feels futuristic and refined, built for developers who spend hours in the terminal.

Core Color Palette

The original SilkCircuit Neon theme defines six core brand colors:

ColorHexRGBUsage
Electric Purple#e135ff(225, 53, 255)Primary accents, active modes
Neon Cyan#80ffea(128, 255, 234)Paths, interactions, focus
Coral#ff6ac1(255, 106, 193)Hashes, numbers, constants
Electric Yellow#f1fa8c(241, 250, 140)Warnings, timestamps
Success Green#50fa7b(80, 250, 123)Success states, staged changes
Error Red#ff6363(255, 99, 99)Errors, danger, deleted files

Theme Catalog

Git-Iris exposes 39 builtin themes that ship inside opaline 0.4 — the five SilkCircuit variants plus a curated set of community classics (Dracula, Nord, Tokyo Night, Catppuccin, Gruvbox, Ayu, Rose Pine, Kanagawa, Everforest, Flexoki, GitHub, Monokai Pro, One Dark, One Light, Palenight, Solarized, Night Owl, Light Owl).

The five SilkCircuit variants:

ThemeVariantDescription
SilkCircuit NeonDarkElectric purple and neon cyan (default)
SilkCircuit SoftDarkMuted elegance with desaturated colors
SilkCircuit GlowDarkMaximum neon intensity against pure black
SilkCircuit VibrantDarkHigh saturation with rich purple tones
SilkCircuit DawnLightPurple accents on soft lavender-white

Run git-iris themes to list every builtin alongside any user themes you have installed. The Gallery has visual previews and a tour of the non-SilkCircuit families.

Token-Based Architecture

Unlike traditional themes that hardcode colors, SilkCircuit uses a semantic token system:

toml
[palette]
purple_500 = "#e135ff"      # Raw color primitive

[tokens]
"accent.primary" = "purple_500"  # Semantic token → palette
"mode.active" = "accent.primary" # Token → token reference

[styles]
mode_active = { fg = "mode.active", bold = true }  # Composed style

This three-layer architecture enables:

  • Consistency — Change one palette color, update everywhere
  • Flexibility — Override specific tokens without rebuilding
  • Clarity — Semantic names reveal intent (accent.primary vs #e135ff)

Quick Start

Switching Themes

bash
# List available themes
git-iris themes

# Use a different theme for this session
git-iris studio --theme silkcircuit-soft

# Set persistently in config.toml: theme = "silkcircuit-glow"

Creating Custom Themes

Create ~/.config/git-iris/themes/my-theme.toml:

toml
[meta]
name = "My Custom Theme"
author = "Your Name"
variant = "dark"

[palette]
primary = "#ff00ff"
secondary = "#00ffff"

[tokens]
"accent.primary" = "primary"
"accent.secondary" = "secondary"

See Creating Custom Themes for a complete guide.

Architecture Overview

mermaid
flowchart TB
    subgraph Theme["Theme System"]
        palette[Palette]
        tokens[Tokens]
        styles[Styles]
        gradients[Gradients]

        palette --> tokens
        tokens --> styles
        tokens --> gradients
    end
LayerPurposeExample
PaletteRaw color primitivespurple_500 = "#e135ff"
TokensSemantic color assignmentsaccent.primary = "purple_500"
StylesComposed styles with modifierskeyword = { fg = "accent.primary", bold = true }
GradientsMulti-stop color transitionsprimary = ["purple_500", "cyan_400"]

Documentation Structure

Design Inspiration

SilkCircuit draws inspiration from:

  • Synthwave aesthetics — Neon colors and retro-future vibes
  • Cyberpunk UI — High contrast, electric gradients
  • Modern terminal themes — Dracula, Tokyo Night, Nord
  • Material Design — Semantic color systems and elevation

The result is a unique visual identity that stands out in the crowded landscape of terminal themes while remaining functional and readable for extended coding sessions.

Technical Implementation

The theme system is built on the opaline crate (v0.4):

  • TOML configuration — Simple, human-readable format
  • 26 named semantic tokens — opaline's standard contract for text, backgrounds, accents, status colors, borders, and code syntax
  • Color interpolation — Smooth multi-stop gradients
  • Runtime switching — Change themes without restarting
  • Graceful fallbacks — Missing tokens resolve to OpalineColor::FALLBACK (a neutral gray); missing styles return OpalineStyle::default(). There is no separate "validation" step

Git-Iris layers a handful of extra runtime-registered tokens on top of opaline's contract (git.*, diff.*, mode.*, code.hash, code.path) so file-tree, diff, and tab styling have semantic names too. These are derived from opaline's standard tokens by default but theme TOMLs can override them.

Theme files load from ~/.config/opaline/themes/ and ~/.config/git-iris/themes/. The only load-time errors come from TOML parsing failures, invalid hex colors, unresolved or circular token references, and empty gradients.


Ready to explore? Check out the Theme Gallery or dive into creating your own theme.

Released under the Apache 2.0 License.