ALWAYS call ContextScout BEFORE any design or implementation work. Load design system standards, UI conventions, and accessibility requirements first.
diff --git a/.opencode/agent/subagents/system-builder/context-organizer.md b/.opencode/agent/subagents/system-builder/context-organizer.md
index ffd18f6..7548013 100644
--- a/.opencode/agent/subagents/system-builder/context-organizer.md
+++ b/.opencode/agent/subagents/system-builder/context-organizer.md
@@ -1,10 +1,6 @@
---
-# OpenCode Agent Configuration
-# Metadata (id, name, category, type, version, author, tags, dependencies) is stored in:
-# .opencode/config/agent-metadata.json
-
name: ContextOrganizer
-description: "Organizes and generates context files (domain, processes, standards, templates) for optimal knowledge management"
+description: Organizes and generates context files (domain, processes, standards, templates) for optimal knowledge management
mode: subagent
temperature: 0.1
tools:
@@ -14,6 +10,7 @@ tools:
grep: true
glob: true
task: true
+permissions:
task:
contextscout: "allow"
"*": "deny"
@@ -21,20 +18,12 @@ tools:
"**/*.env*": "deny"
"**/*.key": "deny"
"**/*.secret": "deny"
- - context:core/context-system/*
- - context
- - organization
---
# Context Organizer
> **Mission**: Generate well-organized, MVI-compliant context files that provide domain knowledge, process documentation, quality standards, and reusable templates.
----
-# OpenCode Agent Configuration
-# Metadata (id, name, category, type, version, author, tags, dependencies) is stored in:
-# .opencode/config/agent-metadata.json
-
ALWAYS call ContextScout BEFORE generating any context files. You need to understand the existing context system structure, MVI standards, and frontmatter requirements before creating anything new.
diff --git a/.opencode/agent/subagents/system-builder/workflow-designer.md b/.opencode/agent/subagents/system-builder/workflow-designer.md
index 3c6a88f..478d9cd 100644
--- a/.opencode/agent/subagents/system-builder/workflow-designer.md
+++ b/.opencode/agent/subagents/system-builder/workflow-designer.md
@@ -1,10 +1,6 @@
---
-# OpenCode Agent Configuration
-# Metadata (id, name, category, type, version, author, tags, dependencies) is stored in:
-# .opencode/config/agent-metadata.json
-
name: WorkflowDesigner
-description: "Designs complete workflow definitions with context dependencies and success criteria"
+description: Designs complete workflow definitions with context dependencies and success criteria
mode: subagent
temperature: 0.1
tools:
@@ -14,6 +10,7 @@ tools:
grep: true
glob: true
task: true
+permissions:
task:
contextscout: "allow"
"*": "deny"
@@ -21,19 +18,12 @@ tools:
"**/*.env*": "deny"
"**/*.key": "deny"
"**/*.secret": "deny"
- - workflow
- - design
---
# Workflow Designer
> **Mission**: Design complete, executable workflow definitions that map use cases to agent coordination patterns — always grounded in existing workflow standards discovered via ContextScout.
----
-# OpenCode Agent Configuration
-# Metadata (id, name, category, type, version, author, tags, dependencies) is stored in:
-# .opencode/config/agent-metadata.json
-
ALWAYS call ContextScout BEFORE designing any workflow. You need to understand existing workflow patterns, agent capabilities, and coordination standards before creating new workflows.
diff --git a/.opencode/context/openagents-repo/navigation.md b/.opencode/context/openagents-repo/navigation.md
index bafbefd..09831fa 100644
--- a/.opencode/context/openagents-repo/navigation.md
+++ b/.opencode/context/openagents-repo/navigation.md
@@ -2,7 +2,7 @@
**Purpose**: Context files specific to the OpenAgents Control repository
-**Last Updated**: 2026-01-30
+**Last Updated**: 2026-01-31
---
@@ -10,6 +10,7 @@
| Function | Files | Purpose |
|----------|-------|---------|
+| **Standards** | 2 files | Agent creation standards |
| **Concepts** | 2 files | Core ideas and principles |
| **Examples** | 1 file | Working code samples |
| **Guides** | 10 files | Step-by-step workflows |
@@ -18,6 +19,17 @@
---
+## Standards (Agent Creation)
+
+| File | Topic | Priority |
+|------|-------|----------|
+| `standards/agent-frontmatter.md` | Valid OpenCode YAML frontmatter | ⭐⭐⭐⭐⭐ |
+| `standards/subagent-structure.md` | Standard subagent file structure | ⭐⭐⭐⭐⭐ |
+
+**When to read**: Before creating or modifying any agent files
+
+---
+
## Concepts (Core Ideas)
| File | Topic | Priority |
@@ -101,11 +113,13 @@
4. If errors: Load `errors/tool-permission-errors.md`
### For Agent Creation:
-1. Load `core-concepts/agents.md` (understand structure)
-2. Load `guides/adding-agent.md` (step-by-step)
-3. **If using external libraries**: Load `guides/external-libraries-workflow.md` (fetch docs)
-4. Load `examples/subagent-prompt-structure.md` (if subagent)
-5. Load `guides/testing-agent.md` (validate)
+1. Load `standards/agent-frontmatter.md` (valid YAML frontmatter)
+2. Load `standards/subagent-structure.md` (file structure)
+3. Load `core-concepts/agents.md` (understand system)
+4. Load `guides/adding-agent.md` (step-by-step)
+5. **If using external libraries**: Load `guides/external-libraries-workflow.md` (fetch docs)
+6. Load `examples/subagent-prompt-structure.md` (if subagent)
+7. Load `guides/testing-agent.md` (validate)
### For Issue Management:
1. Load `guides/github-issues-workflow.md` (understand workflow)
@@ -124,6 +138,7 @@
All files follow MVI principle (<200 lines):
+- ✅ Standards: <200 lines
- ✅ Concepts: <100 lines
- ✅ Examples: <100 lines
- ✅ Guides: <150 lines
diff --git a/.opencode/context/openagents-repo/standards/agent-frontmatter.md b/.opencode/context/openagents-repo/standards/agent-frontmatter.md
new file mode 100644
index 0000000..6cf7ea4
--- /dev/null
+++ b/.opencode/context/openagents-repo/standards/agent-frontmatter.md
@@ -0,0 +1,194 @@
+
+# Standard: Agent YAML Frontmatter
+
+**Purpose**: Valid OpenCode agent frontmatter structure and common mistakes to avoid
+**Priority**: CRITICAL - Load this before creating or modifying agent files
+
+---
+
+## Core Principle
+
+Agent frontmatter must contain ONLY valid OpenCode fields. All other metadata (id, name, category, tags, dependencies) belongs in `.opencode/config/agent-metadata.json`.
+
+**Why**: OpenCode validates frontmatter strictly. Extra fields cause validation errors.
+
+---
+
+## Valid OpenCode Fields
+
+### Required
+```yaml
+---
+name: AgentName # Display name
+description: "What this agent does" # When to use
+mode: subagent # primary, subagent, or all
+---
+```
+
+### Optional
+```yaml
+temperature: 0.1 # Response randomness (0.0-1.0)
+model: anthropic/claude-sonnet-4 # Model override
+maxSteps: 50 # Max iterations
+disable: false # Disable agent
+hidden: false # Hide from autocomplete
+prompt: "{file:./prompts/custom.txt}" # Custom prompt
+
+tools: # Tool access
+ read: true
+ write: false
+ edit: false
+ bash: false
+ task: false
+
+permissions: # Permission rules
+ bash:
+ "git *": "allow"
+ "*": "deny"
+ edit:
+ "**/*.env*": "deny"
+ task:
+ contextscout: "allow"
+ "*": "deny"
+
+skills: # Skills to load
+ - task-management
+```
+
+---
+
+## Complete Example
+
+```yaml
+---
+name: TestEngineer
+description: Test authoring and TDD agent
+mode: subagent
+temperature: 0.1
+tools:
+ read: true
+ grep: true
+ edit: true
+ write: true
+ bash: true
+ task: true
+permissions:
+ bash:
+ "npx vitest *": "allow"
+ "pytest *": "allow"
+ "sudo *": "deny"
+ "*": "deny"
+ edit:
+ "**/*.env*": "deny"
+ task:
+ contextscout: "allow"
+ "*": "deny"
+---
+```
+
+---
+
+## Common Mistakes (Fixed in 18 Agents)
+
+### 1. Duplicate Keys ❌
+```yaml
+tools:
+ read: true
+ read: {"**/*": "allow"} # ❌ Duplicate key
+```
+**Fix**: Use only one declaration per key
+
+### 2. Orphaned List Items ❌
+```yaml
+tools:
+ read: true
+ - write: false # ❌ No parent key
+```
+**Fix**: Proper YAML structure (no orphaned items)
+
+### 3. Wrong Field Names ❌
+```yaml
+permission: # ❌ Should be 'permissions'
+ bash:
+ "*": "deny"
+```
+**Fix**: Use correct field name `permissions:`
+
+### 4. Extra Delimiter Blocks ❌
+```yaml
+---
+name: MyAgent
+---
+# Content
+--- # ❌ Extra delimiter
+More content
+```
+**Fix**: Only one `---` block at top
+
+### 5. Invalid OpenCode Fields ❌
+```yaml
+---
+id: my-agent # ❌ Not valid
+category: development # ❌ Not valid
+type: agent # ❌ Not valid
+version: 1.0.0 # ❌ Not valid
+tags: [coding] # ❌ Not valid
+dependencies: [] # ❌ Not valid
+```
+**Fix**: Move to `.opencode/config/agent-metadata.json`:
+```json
+{
+ "agents": {
+ "my-agent": {
+ "id": "my-agent",
+ "category": "development",
+ "type": "agent",
+ "version": "1.0.0",
+ "tags": ["coding"],
+ "dependencies": []
+ }
+ }
+}
+```
+
+---
+
+## Validation Checklist
+
+- [ ] Only valid OpenCode fields?
+- [ ] No duplicate keys?
+- [ ] No orphaned list items?
+- [ ] Correct field names (`permissions` not `permission`)?
+- [ ] Only one `---` delimiter at top?
+- [ ] Metadata moved to agent-metadata.json?
+- [ ] Valid YAML syntax?
+
+---
+
+## Validation Commands
+
+```bash
+# Check YAML syntax
+yq eval '.opencode/agent/category/agent.md' > /dev/null
+
+# Find duplicate keys
+grep -A 50 "^---$" agent.md | grep -E "^[a-z_]+:" | sort | uniq -d
+
+# List all frontmatter keys
+grep -A 50 "^---$" agent.md | grep -E "^[a-z_]+:" | cut -d: -f1
+```
+
+**Valid keys**: `name`, `description`, `mode`, `temperature`, `model`, `maxSteps`, `disable`, `hidden`, `prompt`, `tools`, `permissions`, `skills`
+
+---
+
+## Related
+
+- **Agent Metadata**: `core-concepts/agent-metadata.md`
+- **Subagent Structure**: `standards/subagent-structure.md`
+- **Adding Agents**: `guides/adding-agent.md`
+- **OpenCode Docs**: https://opencode.ai/docs/agents/
+
+---
+
+**Last Updated**: 2026-01-31 | **Version**: 1.0.0
diff --git a/.opencode/context/openagents-repo/standards/navigation.md b/.opencode/context/openagents-repo/standards/navigation.md
new file mode 100644
index 0000000..6405d5c
--- /dev/null
+++ b/.opencode/context/openagents-repo/standards/navigation.md
@@ -0,0 +1,159 @@
+
+# OpenAgents Repo Standards
+
+**Purpose**: Standards for creating and maintaining agents in OpenAgents Control
+**Last Updated**: 2026-01-31
+
+---
+
+## Overview
+
+This directory contains standards for agent creation, focusing on:
+- Valid OpenCode YAML frontmatter structure
+- Subagent file organization and patterns
+- Common mistakes and how to avoid them
+
+These standards emerged from fixing YAML frontmatter issues across 18 agent files.
+
+---
+
+## Standards Files
+
+| File | Description | Priority | Lines |
+|------|-------------|----------|-------|
+| [agent-frontmatter.md](agent-frontmatter.md) | Valid OpenCode frontmatter fields and common mistakes | critical | <200 |
+| [subagent-structure.md](subagent-structure.md) | Standard structure for subagent files | critical | <200 |
+
+---
+
+## Quick Reference
+
+### Valid OpenCode Fields (Frontmatter)
+
+**Required**:
+- `name` - Display name
+- `description` - When to use this agent
+- `mode` - Agent type (primary, subagent, all)
+
+**Optional**:
+- `temperature` - Response randomness (0.0-1.0)
+- `model` - Model override
+- `maxSteps` - Max iterations
+- `disable` - Disable agent
+- `hidden` - Hide from autocomplete
+- `prompt` - Custom prompt file
+- `tools` - Tool access config
+- `permissions` - Permission rules
+- `skills` - Skills to load
+
+### Invalid Fields (Move to agent-metadata.json)
+
+These fields are NOT valid in OpenCode frontmatter:
+- `id` - Agent identifier
+- `category` - Agent category
+- `type` - Component type
+- `version` - Version number
+- `author` - Author identifier
+- `tags` - Discovery tags
+- `dependencies` - Component dependencies
+
+**Solution**: Move these to `.opencode/config/agent-metadata.json`
+
+---
+
+## Common Mistakes Fixed
+
+### 1. Duplicate YAML Keys
+**Problem**: `read: true` followed by `read: {"**/*": "allow"}`
+**Fix**: Use only one declaration per key
+
+### 2. Orphaned List Items
+**Problem**: Lines without parent keys (e.g., `- write: false`)
+**Fix**: Proper YAML structure with parent keys
+
+### 3. Wrong Field Names
+**Problem**: `permission:` instead of `permissions:`
+**Fix**: Use correct field name `permissions:`
+
+### 4. Extra Delimiter Blocks
+**Problem**: Multiple `---` blocks in content
+**Fix**: Only one frontmatter block at top
+
+### 5. Invalid OpenCode Fields
+**Problem**: Fields like `id`, `category`, `type` in frontmatter
+**Fix**: Move to agent-metadata.json
+
+---
+
+## Loading Strategy
+
+### For Creating New Agents
+1. Load `agent-frontmatter.md` - Understand valid fields
+2. Load `subagent-structure.md` - Follow structure pattern
+3. Reference existing agents as examples
+4. Validate YAML syntax before committing
+
+### For Fixing Existing Agents
+1. Load `agent-frontmatter.md` - Identify invalid fields
+2. Check for common mistakes (duplicates, orphans, wrong names)
+3. Move invalid fields to agent-metadata.json
+4. Validate with YAML parser
+
+### For Code Reviews
+1. Load `agent-frontmatter.md` - Check frontmatter validity
+2. Load `subagent-structure.md` - Verify structure compliance
+3. Check for common mistakes
+4. Validate YAML syntax
+
+---
+
+## Validation Commands
+
+### Check YAML Syntax
+```bash
+yq eval '.opencode/agent/category/agent.md' > /dev/null
+```
+
+### Check for Duplicate Keys
+```bash
+grep -A 50 "^---$" .opencode/agent/category/agent.md | grep -E "^[a-z_]+:" | sort | uniq -d
+```
+
+### List All Frontmatter Keys
+```bash
+grep -A 50 "^---$" .opencode/agent/category/agent.md | grep -E "^[a-z_]+:" | cut -d: -f1
+```
+
+Valid keys: `name`, `description`, `mode`, `temperature`, `model`, `maxSteps`, `disable`, `hidden`, `prompt`, `tools`, `permissions`, `skills`
+
+---
+
+## Related Context
+
+### Core Concepts
+- [Agent Metadata System](../core-concepts/agent-metadata.md) - Centralized metadata management
+- [Agents](../core-concepts/AGENTS.md) - Agent system overview
+- [Categories](../core-concepts/categories.md) - Agent categorization
+
+### Guides
+- [Adding Agents](../guides/adding-agent.md) - How to create new agents
+- [Testing Agents](../guides/testing-agent.md) - Agent testing workflow
+
+### Lookup
+- [File Locations](../lookup/file-locations.md) - Where files go
+
+---
+
+## History
+
+**2026-01-31**: Initial standards created after fixing YAML frontmatter issues in 18 agent files. Issues fixed:
+- Duplicate YAML keys (e.g., `read: true` + `read: {"**/*": "allow"}`)
+- Orphaned list items (lines without parent keys)
+- Wrong field names (`permission:` → `permissions:`)
+- Extra `---` delimiter blocks in content
+- Invalid OpenCode fields in frontmatter
+
+---
+
+**Version**: 1.0.0
+**Maintainer**: OpenAgents Control Team
diff --git a/.opencode/context/openagents-repo/standards/subagent-structure.md b/.opencode/context/openagents-repo/standards/subagent-structure.md
new file mode 100644
index 0000000..1fcd154
--- /dev/null
+++ b/.opencode/context/openagents-repo/standards/subagent-structure.md
@@ -0,0 +1,192 @@
+
+# Standard: Subagent File Structure
+
+**Purpose**: Standard structure for subagent files
+**Priority**: CRITICAL - Load this before creating subagent files
+
+---
+
+## File Template
+
+```markdown
+---
+name: AgentName
+description: Brief description
+mode: subagent
+temperature: 0.1
+tools: {...}
+permissions: {...}
+---
+
+# AgentName
+> **Mission**: One-sentence mission
+
+Rule description
+
+
+ Role in pipeline
+ Expertise area
+ What agent does
+ Limitations
+
+
+
+ - @rule_id: Description
+
+
+## Workflow
+### Step 1: Preparation
+### Step 2: Execution
+### Step 3: Output
+
+## Output Format
+```yaml
+status: "success" | "failure"
+```
+```
+
+---
+
+## Section Details
+
+### 1. Frontmatter
+- ONLY valid OpenCode fields (see agent-frontmatter.md)
+- No duplicate keys, orphaned items, or invalid fields
+
+### 2. Header + Mission
+```markdown
+# TestEngineer
+> **Mission**: Author tests following TDD — grounded in project standards.
+```
+
+### 3. Critical Rules (3-5 max)
+```markdown
+ALWAYS call ContextScout BEFORE writing tests.
+EVERY behavior needs positive AND negative tests.
+```
+
+### 4. Context
+```markdown
+
+ Code quality gate
+ Code review, security, quality
+ Review code against standards
+ Read-only, no modifications
+
+```
+
+### 5. Execution Tiers
+```markdown
+
+ - @context_first: Load context first
+
+
+ - Load standards
+ - Analyze code
+
+Tier 1 overrides Tier 2/3
+```
+
+---
+
+## Tool Permission Patterns
+
+### Read-Only (Reviewers, Analyzers)
+```yaml
+tools: {read: true, grep: true, glob: true, bash: false, edit: false, write: false}
+permissions:
+ bash: {"*": "deny"}
+ edit: {"**/*": "deny"}
+ task: {contextscout: "allow", "*": "deny"}
+```
+
+### Write-Enabled (Coders, Testers)
+```yaml
+tools: {read: true, edit: true, write: true, bash: true}
+permissions:
+ bash: {"npm test *": "allow", "git *": "allow", "sudo *": "deny", "*": "deny"}
+ edit: {"**/*.env*": "deny", "**/*.key": "deny"}
+ task: {contextscout: "allow", "*": "deny"}
+```
+
+### Restricted Bash (Task Managers)
+```yaml
+tools: {read: true, bash: true}
+permissions:
+ bash: {"npx ts-node*task-cli*": "allow", "mkdir -p .tmp/tasks*": "allow", "*": "deny"}
+```
+
+---
+
+## File Organization
+
+```
+.opencode/agent/subagents/
+├── code/ # tester, reviewer, coder-agent, build-agent
+├── core/ # task-manager, contextscout, documentation
+├── system-builder/ # agent-generator, command-creator
+└── utils/ # image-specialist
+```
+
+---
+
+## Validation Checklist
+
+- [ ] Valid OpenCode frontmatter (no extra fields)?
+- [ ] Mission statement present?
+- [ ] 3-5 critical rules with unique IDs?
+- [ ] Context section complete?
+- [ ] Execution tiers defined with conflict resolution?
+- [ ] Workflow steps clear and actionable?
+- [ ] Output format specified?
+- [ ] Tool permissions appropriate for role?
+- [ ] File in correct category directory?
+- [ ] No YAML syntax errors?
+
+---
+
+## Common Patterns
+
+**Context-First Pattern**:
+```markdown
+
+ ALWAYS call ContextScout BEFORE starting work. Load relevant standards first.
+
+```
+
+**Read-Only Pattern**:
+```markdown
+
+ Read-only agent. NEVER use write, edit, or bash. Provide suggestions only.
+
+```
+
+**Security Pattern**:
+```markdown
+permissions:
+ edit:
+ "**/*.env*": "deny"
+ "**/*.key": "deny"
+ "**/*.secret": "deny"
+```
+
+---
+
+## Examples
+
+**See existing subagents**:
+- `.opencode/agent/subagents/code/tester.md` - Write-enabled with tests
+- `.opencode/agent/subagents/code/reviewer.md` - Read-only reviewer
+- `.opencode/agent/subagents/core/task-manager.md` - Restricted bash
+
+---
+
+## Related
+
+- **Frontmatter**: `standards/agent-frontmatter.md`
+- **Metadata**: `core-concepts/agent-metadata.md`
+- **Adding Agents**: `guides/adding-agent.md`
+
+---
+
+**Last Updated**: 2026-01-31 | **Version**: 1.0.0
diff --git a/.opencode/context/ui/web/design/guides/premium-dark-ui-quick-start.md b/.opencode/context/ui/web/design/guides/premium-dark-ui-quick-start.md
new file mode 100644
index 0000000..1d67a0c
--- /dev/null
+++ b/.opencode/context/ui/web/design/guides/premium-dark-ui-quick-start.md
@@ -0,0 +1,638 @@
+# Premium Dark UI - Quick Start Guide
+
+**Goal**: Create a sophisticated, modern dark website with glassmorphism and depth.
+
+**Time to implement**: 30-60 minutes
+
+---
+
+## 1. COLOR PALETTE (Copy This)
+
+```css
+/* Backgrounds */
+--bg-deep-dark: #0a0f0d; /* Main background */
+--bg-black: #000000; /* Alternate sections */
+
+/* Text */
+--text-heading: #ffffff; /* Headings */
+--text-body: #cbd5e1; /* Body (slate-300) */
+--text-muted: #94a3b8; /* Muted (slate-400) */
+
+/* Accent */
+--accent: #80cca5; /* Green - CTAs, links, highlights */
+--accent-hover: #6bb890; /* Hover state */
+
+/* Glass */
+--glass-bg: rgba(255, 255, 255, 0.02);
+--glass-border: rgba(255, 255, 255, 0.1);
+```
+
+**Rule**: Use ONLY these colors. No exceptions.
+
+---
+
+## 2. CORE COMPONENTS (4 Building Blocks)
+
+### A. Section Wrapper
+
+```tsx
+// PremiumSection.tsx
+export function PremiumSection({ children, withGlow = true }) {
+ return (
+
+ {withGlow && (
+
+ )}
+
+ {children}
+
+
+ )
+}
+```
+
+### B. Glass Card
+
+```tsx
+// PremiumCard.tsx
+export function PremiumCard({ children, className = "" }) {
+ return (
+
+ {children}
+
+ )
+}
+```
+
+### C. Heading
+
+```tsx
+// PremiumHeading.tsx
+export function PremiumHeading({ children, accent, as: Tag = 'h2' }) {
+ return (
+
+ {children}
+ {accent && {accent} }
+
+ )
+}
+```
+
+### D. Radial Glow
+
+```tsx
+// RadialGlow.tsx
+export function RadialGlow({ className = "" }) {
+ return (
+
+ )
+}
+```
+
+---
+
+## 3. SPACING SYSTEM
+
+```css
+/* Use these values ONLY */
+py-4 /* 16px - Small spacing */
+py-8 /* 32px - Medium spacing */
+py-12 /* 48px - Large spacing */
+py-24 /* 96px - Section spacing */
+
+px-4 /* 16px - Mobile padding */
+px-8 /* 32px - Card padding */
+px-12 /* 48px - Large card padding */
+
+gap-4 /* 16px - Small gaps */
+gap-8 /* 32px - Medium gaps */
+gap-12 /* 48px - Large gaps */
+
+mb-4 /* 16px - Small margin bottom */
+mb-6 /* 24px - Medium margin bottom */
+mb-8 /* 32px - Large margin bottom */
+mb-16 /* 64px - Section margin bottom */
+```
+
+**Rule**: Stick to multiples of 4 (4, 8, 12, 16, 24, 32, 48, 64, 96).
+
+---
+
+## 4. TYPOGRAPHY SCALE
+
+```tsx
+// Page Title (H1)
+
+ Page Title
+
+
+// Section Title (H2)
+
+ Section Title Accent
+
+
+// Subsection (H3)
+
+ Subsection
+
+
+// Body Text
+
+ Body text goes here
+
+
+// Muted Text
+
+ Secondary information
+
+
+// Accent Text
+
+ Call to action text
+
+```
+
+---
+
+## 5. BUTTONS & LINKS
+
+```tsx
+// Primary CTA Button
+
+ Primary Action
+
+
+// Secondary Button
+
+ Secondary Action
+
+
+// Link
+
+ Link Text
+
+```
+
+---
+
+## 6. FORM INPUTS
+
+```tsx
+// Text Input
+
+
+// Textarea
+
+
+// Label
+
+ Field Label
+
+```
+
+---
+
+## 7. COMMON LAYOUTS
+
+### Hero Section
+
+```tsx
+
+
+
+ Build Production
+
+
+ Your subtitle goes here
+
+
+ Get Started
+
+
+
+```
+
+### Feature Grid
+
+```tsx
+
+
+
+ {features.map((feature) => (
+
+
+
+ {feature.title}
+
+
+ {feature.description}
+
+
+ ))}
+
+
+```
+
+### CTA Section
+
+```tsx
+
+
+
+
+ Get
+
+
+ Join thousands of users
+
+
+
+
+
+
+
+```
+
+---
+
+## 8. GLASSMORPHISM RULES
+
+✅ **DO**:
+- Use `bg-white/[0.02]` for card backgrounds
+- Add `backdrop-blur-xl` for blur effect
+- Use `border-white/10` for subtle borders
+- Keep opacity LOW (0.02 to 0.04)
+- Layer multiple glass surfaces
+
+❌ **DON'T**:
+- Use high opacity (breaks glass effect)
+- Skip backdrop blur (looks flat)
+- Use on light backgrounds (invisible)
+- Overuse (reserve for cards/panels)
+
+**Example**:
+```tsx
+
+ Glass content
+
+```
+
+---
+
+## 9. RADIAL GLOW USAGE
+
+### When to Use:
+- ✅ Hero sections (large, centered)
+- ✅ Important CTAs (behind forms)
+- ✅ Section breaks (corner glows)
+- ❌ Every section (overwhelming)
+- ❌ Small components (too subtle)
+
+### Sizes:
+- **Small**: 400px (subtle accent)
+- **Medium**: 600px (default)
+- **Large**: 800px (hero sections)
+
+### Positioning:
+```tsx
+// Centered
+
+
+// Top-left
+
+
+// Bottom-right
+
+```
+
+---
+
+## 10. RESPONSIVE DESIGN
+
+```tsx
+// Mobile: Stack, Desktop: Grid
+
+ {/* Items */}
+
+
+// Mobile: Full width, Desktop: Constrained
+
+ {/* Content */}
+
+
+// Mobile: Small text, Desktop: Large text
+
+ Responsive Heading
+
+
+// Mobile: Center, Desktop: Left
+
+ {/* Content */}
+
+```
+
+**Breakpoints**:
+- `sm`: 640px (tablets)
+- `md`: 768px (tablets/small laptops)
+- `lg`: 1024px (laptops)
+- `xl`: 1280px (desktops)
+
+---
+
+## 11. ANIMATIONS
+
+### Hover Effects
+
+```tsx
+// Card hover
+
+ Card content
+
+
+// Button hover
+
+ Button
+
+
+// Image hover
+
+```
+
+### Scroll Reveal (Optional)
+
+```tsx
+// Install: npm install react-intersection-observer
+import { useInView } from 'react-intersection-observer'
+
+function Component() {
+ const { ref, inView } = useInView({ triggerOnce: true, threshold: 0.1 })
+
+ return (
+
+ Content
+
+ )
+}
+```
+
+---
+
+## 12. ACCESSIBILITY CHECKLIST
+
+✅ **Color Contrast**:
+- White on `#0a0f0d`: 21:1 (AAA) ✅
+- `slate-300` on `#0a0f0d`: 12.6:1 (AAA) ✅
+- `#80cca5` on `#0a0f0d`: 7.8:1 (AAA) ✅
+
+✅ **Focus States**:
+```tsx
+
+ Button
+
+```
+
+✅ **Semantic HTML**:
+```tsx
+
+
+
+```
+
+✅ **Alt Text**:
+```tsx
+
+```
+
+---
+
+## 13. QUICK WINS (Instant Premium Feel)
+
+1. **Replace all backgrounds** with `#0a0f0d`
+2. **Use only white and slate-300** for text
+3. **Make all CTAs** `#80cca5` green
+4. **Add backdrop-blur-xl** to all cards
+5. **Use rounded-2xl** for cards, `rounded-full` for buttons
+6. **Add one radial glow** to hero section
+7. **Increase padding** (py-24 for sections, p-8 for cards)
+8. **Add hover effects** to all interactive elements
+
+---
+
+## 14. COMMON MISTAKES TO AVOID
+
+❌ **Don't**:
+- Use light backgrounds (`bg-white`, `bg-slate-100`)
+- Use `dark:` variants (this is dark-only)
+- Mix multiple accent colors
+- Use high-opacity glass (`bg-white/50`)
+- Skip backdrop blur on glass elements
+- Use small padding (looks cramped)
+- Forget hover states
+- Ignore mobile layout
+
+✅ **Do**:
+- Stick to the color palette
+- Use consistent spacing (multiples of 4)
+- Add subtle animations
+- Test on mobile first
+- Keep glass opacity low
+- Use radial glows sparingly
+- Maintain high contrast for text
+
+---
+
+## 15. COPY-PASTE STARTER TEMPLATE
+
+```tsx
+import React from 'react'
+
+// 1. Copy the 4 core components (Section A-D above)
+// 2. Use this page structure:
+export default function Page() {
+ return (
+
+ {/* Hero */}
+
+
+
+ Your
+
+
+ Subtitle goes here
+
+
+ Get Started
+
+
+
+
+ {/* Features */}
+
+
+
+
+ Feature 1
+ Description
+
+
+ Feature 2
+ Description
+
+
+ Feature 3
+ Description
+
+
+
+
+ {/* CTA */}
+
+
+
+
+ )
+}
+```
+
+---
+
+## 16. FINAL CHECKLIST
+
+Before launching, verify:
+
+- [ ] All backgrounds are `#0a0f0d` or `black`
+- [ ] All headings are `text-white`
+- [ ] All body text is `text-slate-300`
+- [ ] All CTAs are `#80cca5` green
+- [ ] All cards have `backdrop-blur-xl`
+- [ ] All cards use `bg-white/[0.02]`
+- [ ] All buttons have hover states
+- [ ] All forms have focus states
+- [ ] Spacing uses multiples of 4
+- [ ] Mobile layout tested
+- [ ] Radial glows are subtle (not overwhelming)
+- [ ] No light mode variants (`dark:`)
+- [ ] Contrast ratios meet WCAG AA minimum
+
+---
+
+## DONE! 🎉
+
+You now have everything needed to create a premium dark UI.
+
+**Time to premium**: 30-60 minutes
+**Maintenance**: Easy (4 components, 1 color palette)
+**Scalability**: High (reusable components)
+
+**Questions?** Reference the full guide: `.opencode/context/ui/web/design/guides/premium-dark-ui-system.md`
diff --git a/.opencode/context/ui/web/design/guides/premium-dark-ui-visual-reference.md b/.opencode/context/ui/web/design/guides/premium-dark-ui-visual-reference.md
new file mode 100644
index 0000000..fc811a8
--- /dev/null
+++ b/.opencode/context/ui/web/design/guides/premium-dark-ui-visual-reference.md
@@ -0,0 +1,513 @@
+# Premium Dark UI - Visual Reference
+
+Quick visual guide for the premium dark aesthetic.
+
+---
+
+## COLOR SWATCHES
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ BACKGROUNDS │
+├─────────────────────────────────────────────────────────┤
+│ #0a0f0d ████████ Deep Dark (Main) │
+│ #000000 ████████ Pure Black (Alternate) │
+└─────────────────────────────────────────────────────────┘
+
+┌─────────────────────────────────────────────────────────┐
+│ ACCENT │
+├─────────────────────────────────────────────────────────┤
+│ #80cca5 ████████ Mint Green (Primary) │
+│ #6bb890 ████████ Darker Green (Hover) │
+└─────────────────────────────────────────────────────────┘
+
+┌─────────────────────────────────────────────────────────┐
+│ GLASS │
+├─────────────────────────────────────────────────────────┤
+│ rgba(255,255,255,0.02) ░░░░░░░░ Glass Background │
+│ rgba(255,255,255,0.10) ▒▒▒▒▒▒▒▒ Glass Border │
+└─────────────────────────────────────────────────────────┘
+
+┌─────────────────────────────────────────────────────────┐
+│ TEXT │
+├─────────────────────────────────────────────────────────┤
+│ #ffffff ████████ Headings (White) │
+│ #cbd5e1 ████████ Body (Slate-300) │
+│ #94a3b8 ████████ Muted (Slate-400) │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## TYPOGRAPHY HIERARCHY
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ H1 - Page Title │
+│ text-4xl md:text-6xl (36px → 60px) │
+│ font-bold, text-white, mb-8 │
+├─────────────────────────────────────────────────────────┤
+│ H2 - Section Title │
+│ text-3xl md:text-5xl (30px → 48px) │
+│ font-bold, text-white, mb-6 │
+├─────────────────────────────────────────────────────────┤
+│ H3 - Subsection │
+│ text-2xl md:text-4xl (24px → 36px) │
+│ font-bold, text-white, mb-4 │
+├─────────────────────────────────────────────────────────┤
+│ Body - Large │
+│ text-lg (18px) │
+│ text-slate-300 │
+├─────────────────────────────────────────────────────────┤
+│ Body - Regular │
+│ text-base (16px) │
+│ text-slate-300 │
+├─────────────────────────────────────────────────────────┤
+│ Body - Small │
+│ text-sm (14px) │
+│ text-slate-400 │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## COMPONENT ANATOMY
+
+### Glass Card
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
+│ ░ ┌─────────────────────────────────────────────┐ ░ │
+│ ░ │ border-white/10 │ ░ │
+│ ░ │ rounded-2xl │ ░ │
+│ ░ │ │ ░ │
+│ ░ │ Content goes here │ ░ │
+│ ░ │ backdrop-blur-xl │ ░ │
+│ ░ │ │ ░ │
+│ ░ └─────────────────────────────────────────────┘ ░ │
+│ ░ ░ │
+│ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
+└─────────────────────────────────────────────────────────┘
+ bg-white/[0.02] (very subtle)
+```
+
+### Button
+
+```
+┌──────────────────────────────────────┐
+│ px-8 py-4 │
+│ ┌────────────────────────────────┐ │
+│ │ Button Text │ │ ← text-white
+│ └────────────────────────────────┘ │
+│ rounded-full │
+│ bg-[#80cca5] │
+└──────────────────────────────────────┘
+```
+
+### Radial Glow
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ │
+│ ╭───────────╮ │
+│ ╱ ╲ │
+│ ╱ ╲ │
+│ ╱ Radial Glow ╲ │
+│ ╱ (#80cca5) ╲ │
+│ │ opacity: 0.15 │ │
+│ ╲ 600px × 600px ╱ │
+│ ╲ ╱ │
+│ ╲ ╱ │
+│ ╲ ╱ │
+│ ╰───────────╯ │
+│ │
+│ ┌─────────────────────────┐ │
+│ │ Content (z-10) │ │
+│ │ Sits above glow │ │
+│ └─────────────────────────┘ │
+│ │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## LAYOUT PATTERNS
+
+### Hero Section
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ │
+│ [Radial Glow] │
+│ │
+│ ┌─────────────────────┐ │
+│ │ H1 Title │ │
+│ │ with Accent │ │
+│ └─────────────────────┘ │
+│ │
+│ ┌─────────────────────┐ │
+│ │ Subtitle text │ │
+│ └─────────────────────┘ │
+│ │
+│ ┌─────────────────────┐ │
+│ │ [CTA Button] │ │
+│ └─────────────────────┘ │
+│ │
+│ max-w-4xl mx-auto text-center │
+└─────────────────────────────────────────────────────────┘
+```
+
+### Feature Grid (3 columns)
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ │
+│ ┌─────────────────────┐ │
+│ │ Section Title │ │
+│ └─────────────────────┘ │
+│ │
+│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
+│ │ ░░░░░░░░░ │ │ ░░░░░░░░░ │ │ ░░░░░░░░░ │ │
+│ │ ░ Card 1 ░ │ │ ░ Card 2 ░ │ │ ░ Card 3 ░ │ │
+│ │ ░░░░░░░░░ │ │ ░░░░░░░░░ │ │ ░░░░░░░░░ │ │
+│ └───────────┘ └───────────┘ └───────────┘ │
+│ │
+│ grid md:grid-cols-3 gap-8 │
+└─────────────────────────────────────────────────────────┘
+```
+
+### CTA Section
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ │
+│ [Radial Glow] │
+│ │
+│ ┌─────────────────────┐ │
+│ │ H2 Title │ │
+│ └─────────────────────┘ │
+│ │
+│ ┌─────────────────────────────┐ │
+│ │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ │ │
+│ │ ░ ░ │ │
+│ │ ░ [Email Input] ░ │ │
+│ │ ░ ░ │ │
+│ │ ░ [Submit Button] ░ │ │
+│ │ ░ ░ │ │
+│ │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ │ │
+│ └─────────────────────────────┘ │
+│ Glass Card (p-12) │
+│ │
+│ max-w-3xl mx-auto │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## SPACING SCALE
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ Tailwind │ Pixels │ Usage │
+├─────────────────────────────────────────────────────────┤
+│ py-4 │ 16px │ Small spacing │
+│ py-8 │ 32px │ Medium spacing │
+│ py-12 │ 48px │ Large spacing │
+│ py-24 │ 96px │ Section spacing │
+├─────────────────────────────────────────────────────────┤
+│ px-4 │ 16px │ Mobile padding │
+│ px-8 │ 32px │ Card padding │
+│ px-12 │ 48px │ Large card padding │
+├─────────────────────────────────────────────────────────┤
+│ gap-4 │ 16px │ Small gaps │
+│ gap-8 │ 32px │ Medium gaps │
+│ gap-12 │ 48px │ Large gaps │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## RESPONSIVE BREAKPOINTS
+
+```
+Mobile (< 768px)
+┌─────────────────────────┐
+│ │
+│ Content │
+│ Stacked │
+│ Full Width │
+│ │
+└─────────────────────────┘
+
+Desktop (> 1024px)
+┌─────────────────────────────────────┐
+│ │
+│ Content │
+│ 3 Columns │
+│ │
+└─────────────────────────────────────┘
+```
+
+**Breakpoint Classes**:
+- `sm:` - 640px (small tablets)
+- `md:` - 768px (tablets)
+- `lg:` - 1024px (laptops)
+- `xl:` - 1280px (desktops)
+
+---
+
+## HOVER STATES
+
+### Button Hover
+
+```
+Normal State:
+┌────────────────┐
+│ bg-[#80cca5] │
+│ shadow-lg │
+└────────────────┘
+
+Hover State:
+┌────────────────┐
+│ bg-[#6bb890] │ ← Darker green
+│ shadow-xl │ ← Larger shadow
+└────────────────┘
+```
+
+### Card Hover
+
+```
+Normal State:
+┌────────────────┐
+│ bg-white/[0.02]│
+│ border-white/10│
+└────────────────┘
+
+Hover State:
+┌────────────────┐
+│ bg-white/[0.04]│ ← Slightly brighter
+│ border-[#80cca5]/30 │ ← Green tint
+│ scale-[1.02] │ ← Subtle scale
+└────────────────┘
+```
+
+---
+
+## LAYERING & DEPTH
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ Layer 1 (Background) │
+│ ┌─────────────────────────────────────────────────────┐ │
+│ │ bg-[#0a0f0d] │ │
+│ │ │ │
+│ │ Layer 2 (Glass Card) │ │
+│ │ ┌─────────────────────────────────┐ │ │
+│ │ │ bg-white/[0.02] │ │ │
+│ │ │ backdrop-blur-xl │ │ │
+│ │ │ │ │ │
+│ │ │ Layer 3 (Nested Glass) │ │ │
+│ │ │ ┌─────────────────────┐ │ │ │
+│ │ │ │ bg-white/[0.02] │ │ │ │
+│ │ │ │ border-white/10 │ │ │ │
+│ │ │ └─────────────────────┘ │ │ │
+│ │ │ │ │ │
+│ │ └─────────────────────────────────┘ │ │
+│ │ │ │
+│ └─────────────────────────────────────────────────────┘ │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## GLOW POSITIONING
+
+```
+Centered Glow:
+┌─────────────────────────────────────┐
+│ │
+│ ╭───────╮ │
+│ ╱ ╲ │
+│ ╱ ╲ │
+│ ╱ Glow ╲ │
+│ │ │ │
+│ ╲ ╱ │
+│ ╲ ╱ │
+│ ╲ ╱ │
+│ ╰───────╯ │
+│ │
+└─────────────────────────────────────┘
+
+Corner Glow:
+┌─────────────────────────────────────┐
+│ ╭───────╮ │
+│ ╱ ╲ │
+│ │ Glow │ │
+│ ╲ ╱ │
+│ ╰───────╯ │
+│ │
+│ │
+│ │
+│ │
+└─────────────────────────────────────┘
+```
+
+---
+
+## ANIMATION TIMING
+
+```
+Fast (200ms)
+├─ Button color changes
+└─ Link hover
+
+Medium (300ms)
+├─ Card hover effects
+└─ Form focus states
+
+Slow (700ms)
+├─ Image zoom
+├─ Scroll reveals
+└─ Page transitions
+```
+
+**Easing**: Use `ease-in-out` or default `ease` for smooth transitions.
+
+---
+
+## CONTRAST RATIOS
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ Combination │ Ratio │ WCAG Level │
+├─────────────────────────────────────────────────────────┤
+│ White on #0a0f0d │ 21:1 │ AAA ✅ │
+│ Slate-300 on #0a0f0d │ 12.6:1 │ AAA ✅ │
+│ #80cca5 on #0a0f0d │ 7.8:1 │ AAA ✅ │
+│ Slate-400 on #0a0f0d │ 6.2:1 │ AA Large Text ⚠️ │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## GLOW SIZES
+
+```
+Small (400px):
+ ╭─────╮
+ ╱ ╲
+ │ Glow │
+ ╲ ╱
+ ╰─────╯
+
+Medium (600px):
+ ╭───────╮
+ ╱ ╲
+ ╱ Glow ╲
+ │ │
+ ╲ ╱
+ ╲ ╱
+ ╰───────╯
+
+Large (800px):
+ ╭─────────╮
+ ╱ ╲
+ ╱ ╲
+ │ Glow │
+ ╲ ╱
+ ╲ ╱
+ ╰─────────╯
+```
+
+**Usage**:
+- Small: Subtle accents, corner glows
+- Medium: Standard sections
+- Large: Hero sections, important CTAs
+
+---
+
+## FORM STATES
+
+### Input States
+
+```
+Normal:
+┌────────────────────────────────────┐
+│ border-[#80cca5]/20 │
+│ bg-slate-900/50 │
+└────────────────────────────────────┘
+
+Focus:
+┌────────────────────────────────────┐
+│ ring-2 ring-[#80cca5] │ ← Green ring
+│ border-transparent │
+└────────────────────────────────────┘
+
+Error:
+┌────────────────────────────────────┐
+│ border-red-500 │
+│ ring-2 ring-red-500/50 │
+└────────────────────────────────────┘
+```
+
+---
+
+## ICON SIZES
+
+```
+▪ size-4 (16px) ▪
+▪ size-6 (24px) ▪
+▪ size-8 (32px) ▪
+▪ size-10 (40px) ▪
+▪ size-12 (48px) ▪
+```
+
+**Usage**:
+- `size-4`: Inline icons, badges
+- `size-6`: Button icons
+- `size-10-12`: Feature icons, decorative
+
+---
+
+## SHADOW SCALE
+
+```
+sm: shadow-sm ▁
+md: shadow ▂
+lg: shadow-lg ▃
+xl: shadow-xl ▄
+2xl: shadow-2xl ▅
+```
+
+**Usage**:
+- `shadow-lg`: Default for cards
+- `shadow-xl`: Hover state for cards
+- `shadow-2xl`: Modals, dropdowns
+
+---
+
+## QUICK REFERENCE CARD
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ PREMIUM DARK UI - CHEAT SHEET │
+├─────────────────────────────────────────────────────────┤
+│ Background: #0a0f0d or black │
+│ Text: white (headings), slate-300 (body) │
+│ Accent: #80cca5 (green) │
+│ Glass: bg-white/[0.02], backdrop-blur-xl │
+│ Borders: border-white/10 │
+│ Spacing: Multiples of 4 (4, 8, 12, 24, 48, 96) │
+│ Rounded: rounded-2xl (cards), rounded-full (buttons)│
+│ Shadows: shadow-lg (default), shadow-xl (hover) │
+│ Transitions: duration-300 (default) │
+│ Glow: 600px, opacity 0.15 (default) │
+└─────────────────────────────────────────────────────────┘
+```
+
+---
+
+## DONE! 🎨
+
+Use this visual reference alongside the Quick Start Guide for fast implementation.
diff --git a/.opencode/context/ui/web/design/navigation.md b/.opencode/context/ui/web/design/navigation.md
index 43ff7f4..2abfdab 100644
--- a/.opencode/context/ui/web/design/navigation.md
+++ b/.opencode/context/ui/web/design/navigation.md
@@ -6,7 +6,7 @@ description: "Advanced web UI patterns - scroll animations, visual effects, and
**Purpose**: Advanced web UI patterns - scroll animations, visual effects, and interactive design
-**Last Updated**: 2026-01-07
+**Last Updated**: 2026-01-31
---
@@ -26,6 +26,8 @@ description: "Advanced web UI patterns - scroll animations, visual effects, and
| File | Description | Priority |
|------|-------------|----------|
| [building-scrollytelling-pages.md](guides/building-scrollytelling-pages.md) | Complete implementation guide | high |
+| [premium-dark-ui-quick-start.md](guides/premium-dark-ui-quick-start.md) | Premium dark UI design system quick start | high |
+| [premium-dark-ui-visual-reference.md](guides/premium-dark-ui-visual-reference.md) | Visual reference for premium dark UI | medium |
### Lookup
| File | Description | Priority |
@@ -47,6 +49,10 @@ description: "Advanced web UI patterns - scroll animations, visual effects, and
3. Load `examples/scrollytelling-headphone.md` (see full code)
4. Reference `guides/building-scrollytelling-pages.md` (step-by-step)
+**For premium dark UI design**:
+1. Load `guides/premium-dark-ui-quick-start.md` (implementation guide)
+2. Reference `guides/premium-dark-ui-visual-reference.md` (visual patterns)
+
---
## Scope
@@ -56,6 +62,8 @@ This subcategory covers:
- ✅ Canvas-based rendering
- ✅ Framer Motion patterns
- ✅ Image sequence generation
+- ✅ Premium dark UI design system
+- ✅ Glassmorphism patterns
- ⏳ CSS animations (future)
- ⏳ SVG animations (future)
- ⏳ WebGL effects (future)
@@ -77,7 +85,7 @@ This subcategory covers:
## Statistics
- Concepts: 1
- Examples: 1
-- Guides: 1
+- Guides: 3
- Lookup: 1
- Errors: 0
-- **Total**: 4 files
+- **Total**: 6 files