From efa088ec8a9a3f3afd743b0032a9a9d60ba1cf36 Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 22 May 2026 23:50:31 +0200 Subject: [PATCH] Added initial brandbook and design resources --- design/BrandBook.md | 50 +++++++++++++ design/HelixForge.jpg | Bin 0 -> 35516 bytes design/components.html | 149 ++++++++++++++++++++++++++++++++++++++ design/global.css | 20 +++++ design/tailwind.config.js | 33 +++++++++ 5 files changed, 252 insertions(+) create mode 100755 design/BrandBook.md create mode 100755 design/HelixForge.jpg create mode 100644 design/components.html create mode 100644 design/global.css create mode 100644 design/tailwind.config.js diff --git a/design/BrandBook.md b/design/BrandBook.md new file mode 100755 index 0000000..c72cf6a --- /dev/null +++ b/design/BrandBook.md @@ -0,0 +1,50 @@ +# HelixForge — Brand Identity & Design System +**Version 1.0 (2026)** + +> "HelixForge envisions a world where software capabilities evolve with understanding, not guesswork. We evolve software capabilities by uniting human understanding and executable precision." + +--- + +## 1. Executive Vision & Philosophy + +HelixForge balances two opposing but complementary forces, structured like a double helix: +- **The Strand of Discovery (Human Meaning):** Soft, organic text, fluid transitions, readable natural language typography, and spacious playgrounds that encourage exploration and natural-language clarity. +- **The Strand of Delivery (Machine Precision):** Sharp borders, high-contrast monochrome bases, technical micro-interactions, data-dense layout matrices, and strict geometric structural grids. + +--- + +## 2. Color Palette & Tailwind Configuration + +The color palette directly mirrors the industrial crucible and the glowing double helix logo: a dark, tech-heavy canvas illuminated by shifting cyan-to-coral/amber gradients and sparks of the forge. + +### Color Specifications +- **Forge Background (`#0B0F13`):** The deep, industrial workspace base. +- **Forge Muted BG (`#141A22`):** Surfaces, cards, and secondary content blocks. +- **Forge Border (`#222C3A`):** Hard engineering limits and structured guidelines. +- **Strand 1 - Discovery Cyan (`#4DEEEA`):** Technical clarity, discovery, and active paths. +- **Strand 1 - Deep Blue (`#247BA0`):** Structural anchors. +- **Strand 2 - Delivery Coral (`#FF6B6B`):** Intent execution, human energy, and active sparks. +- **Strand 2 - Amber Spark (`#FFA06A`):** Highlights, metrics, and warnings. +- **Text Primary (`#F8FAFC`):** Crisp high-contrast visibility. +- **Text Muted (`#94A3B8`):** Human commentary and descriptive context. + +The complete Tailwind CSS plugin config configuration can be found in `tailwind.config.js`. + +--- + +## 3. Typography Architecture + +- **Headings (Structure & Precision):** A geometric, slightly futuristic Sans-Serif design system font (e.g., *Inter*, *Plus Jakarta Sans*, or *Syncopate* for logos) to represent rigid frameworks. +- **Body Copy (Human Meaning):** Highly readable, modern human-centric Sans-Serif system fonts (*Inter*, *SF Pro*, or *Roboto*). +- **Executable Code (The Truth):** High-fidelity, perfectly aligned monospaced layout systems (*JetBrains Mono*, *Fira Code*). + +--- + +## 4. System File Directory (Assets Included) +The attached ZIP archive contains all ready-to-implement structural assets for the Tailwind system layout implementation: +1. `tailwind.config.js` - Color definitions, typography extending, background gradients. +2. `global.css` - Custom utilities, ambient glows, dot matrices, and custom animations. +3. `components.html` - Raw HTML playground templates featuring Buttons, Cards, Dividers, and Split Screen UI layouts. + +--- +© 2026 HelixForge. All Rights Reserved. Built for evolution. diff --git a/design/HelixForge.jpg b/design/HelixForge.jpg new file mode 100755 index 0000000000000000000000000000000000000000..da4b8d66af05f4150e4248e54afca3c29126c7f5 GIT binary patch literal 35516 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 EGET3qod5s; literal 0 HcmV?d00001 diff --git a/design/components.html b/design/components.html new file mode 100644 index 0000000..8f2fd54 --- /dev/null +++ b/design/components.html @@ -0,0 +1,149 @@ + + + + + + HelixForge Design System Playground + + + + + + +
+ + +
+
+ Design Token System v1.0 +

HelixForge Components

+

Uniting the natural-language art of discovery with the precise science of delivery.

+
+ + +
+

// Action Interactive Modules (Buttons)

+
+ + + + + + + + + + Evolve system asset → + +
+
+ + +
+

// Structural Components (Milled Blocks)

+
+ + +
+
+ Strand 01 // Discovery +

Human Meaning Sandbox

+

Where software capabilities are thoroughly explored through descriptive dialogue before they are built.

+
+ + +
+
+ Strand 02 // Delivery +

Machine Precision Engine

+

Continuous code compilation, executable verification frameworks, and deterministic truth metrics.

+
+ +
+
+ + +
+

// Layout Paradigms (The Double Helix Split Dashboard)

+
+ + +
+
HF-DISCOVER_NODE
+

<intent_playground>

+ +
+ Status: Ready to analyze + +
+
+ + +
+
HF-DELIVERY_NODE
+

// EXECUTABLE_TRUTH_OUTPUT

+
+

▶ Compiling capability structure...

+

struct CapabilityMesh {

+

id: uuid::Uuid,

+

intent: String,

+

rigor_score: f64,

+

}

+

✔ Verification passed: 100% test integrity achieved.

+
+
+ Metrics: 0.04ms propagation delay + Production Ready +
+
+ +
+
+ + + + +
+ + + diff --git a/design/global.css b/design/global.css new file mode 100644 index 0000000..74423f8 --- /dev/null +++ b/design/global.css @@ -0,0 +1,20 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; + +@layer utilities { + /* Engineering Desktop Matrix Pattern Background */ + .bg-forge-matrix { + background-image: radial-gradient(#222c3a 1px, transparent 1px); + background-size: 24px 24px; + } + + /* Precision glow effects */ + .glow-cyan { + box-shadow: 0 0 20px rgba(77, 238, 234, 0.15); + } + + .glow-coral { + box-shadow: 0 0 20px rgba(255, 107, 107, 0.15); + } +} diff --git a/design/tailwind.config.js b/design/tailwind.config.js new file mode 100644 index 0000000..d76e391 --- /dev/null +++ b/design/tailwind.config.js @@ -0,0 +1,33 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./*.{html,js}"], + theme: { + extend: { + colors: { + forge: { + bg: '#0B0F13', + 'bg-muted': '#141A22', + border: '#222C3A', + cyan: '#4DEEEA', + blue: '#247BA0', + coral: '#FF6B6B', + amber: '#FFA06A', + text: '#F8FAFC', + 'text-muted': '#94A3B8', + } + }, + fontFamily: { + sans: ['"Plus Jakarta Sans"', 'Inter', 'sans-serif'], + mono: ['"JetBrains Mono"', 'Fira Code', 'monospace'], + }, + backgroundImage: { + 'helix-gradient': 'linear-gradient(135deg, #4DEEEA 0%, #247BA0 40%, #FF6B6B 80%, #FFA06A 100%)', + 'helix-glow': 'radial-gradient(circle, rgba(77,238,234,0.12) 0%, rgba(255,107,107,0.04) 50%, transparent 100%)', + }, + animation: { + 'pulse-slow': 'pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite', + } + }, + }, + plugins: [], +}