loopwind.json
Configure colors and fonts for all your templates in .loopwind/loopwind.json.
File Location
your-project/
├── .loopwind/
│ ├── loopwind.json ← Configuration file
│ └── templates/
Minimal Example
{
"theme": {
"colors": {
"primary": "#3b82f6",
"background": "#ffffff"
}
}
}
Theme Colors
Default shadcn/ui Palette
{
"theme": {
"colors": {
"primary": "#18181b",
"primary-foreground": "#fafafa",
"secondary": "#f4f4f5",
"secondary-foreground": "#18181b",
"background": "#ffffff",
"foreground": "#09090b",
"muted": "#f4f4f5",
"muted-foreground": "#71717a",
"accent": "#f4f4f5",
"accent-foreground": "#18181b",
"destructive": "#ef4444",
"destructive-foreground": "#fafafa",
"border": "#e4e4e7",
"input": "#e4e4e7",
"ring": "#18181b",
"card": "#ffffff",
"card-foreground": "#09090b"
}
}
}
Custom Colors
{
"theme": {
"colors": {
"primary": "#3b82f6",
"brand": "#ff6b6b",
"success": "#22c55e",
"warning": "#f59e0b"
}
}
}
Use in templates:
tw('text-brand') // #ff6b6b
tw('bg-success') // #22c55e
tw('border-warning') // #f59e0b
Fonts
Simple (System Fonts)
{
"fonts": {
"sans": ["Inter", "system-ui", "sans-serif"],
"serif": ["Georgia", "serif"],
"mono": ["Courier New", "monospace"]
}
}
With Font Files
{
"fonts": {
"sans": {
"family": ["Inter", "system-ui", "sans-serif"],
"files": [
{ "path": "./fonts/Inter-Regular.woff", "weight": 400 },
{ "path": "./fonts/Inter-Bold.woff", "weight": 700 }
]
}
}
}
Paths are relative to loopwind.json.
Supported formats:
- ✅ WOFF (
.woff) - ✅ TTF (
.ttf) - ✅ OTF (
.otf) - ❌ WOFF2 (
.woff2)
External URLs
{
"fonts": {
"sans": {
"family": ["Inter", "sans-serif"],
"files": [
{
"path": "https://unpkg.com/@fontsource/inter@5.0.18/files/inter-latin-400-normal.woff",
"weight": 400
}
]
}
}
}
Complete Example
{
"theme": {
"colors": {
"primary": "#6366f1",
"primary-foreground": "#ffffff",
"background": "#ffffff",
"foreground": "#0f172a",
"muted": "#f1f5f9",
"muted-foreground": "#64748b",
"border": "#e2e8f0",
"card": "#ffffff",
"brand": "#8b5cf6"
}
},
"fonts": {
"sans": {
"family": ["Inter", "sans-serif"],
"files": [
{ "path": "./fonts/Inter-Regular.woff", "weight": 400 },
{ "path": "./fonts/Inter-Bold.woff", "weight": 700 }
]
},
"serif": {
"family": ["Playfair Display", "serif"],
"files": [
{ "path": "./fonts/Playfair-Regular.woff", "weight": 400 }
]
}
}
}
Schema
{
"theme"?: {
"colors"?: {
[name: string]: string; // Hex color
}
},
"fonts"?: {
[class: string]: string[] | {
family: string[];
files: Array<{
path: string; // Local or URL
weight: number; // 100-900
}>;
}
}
}
Auto-Detection
If no loopwind.json exists, loopwind auto-detects tailwind.config.js:
your-project/
├── tailwind.config.js ← Auto-detected
└── .loopwind/
└── templates/
Priority:
.loopwind/loopwind.jsontailwind.config.js- Built-in defaults
Next Steps
- Styling - Use colors in templates
- Fonts - Font configuration details
- Getting Started - Setup guide