# Dulus Brand Guide

> The voice, visuals, and soul of Dulus — your AI companion.

---

## Table of Contents

- [The Name](#the-name)
- [Brand Personality](#brand-personality)
- [Visual Identity](#visual-identity)
- [Typography](#typography)
- [Logo & Bird Usage](#logo--bird-usage)
- [Voice & Tone](#voice--tone)
- [Don'ts](#donts)

---

## The Name

**Dulus** is named after the **Palmchat** (*Dulus dominicus*), the national bird of the Dominican Republic.

### Why This Bird?

The Palmchat is:
- **Free** — flies without boundaries, belongs to no cage
- **Resilient** — thrives in any environment, from cities to forests
- **Social** — nests in colonies, flies together as a flock
- **Unique** — found only in the Caribbean, unlike any other bird

This mirrors Dulus's values: an AI companion that is free, adaptable, community-driven, and one-of-a-kind.

### Not the Rocket

"Dulus" is also similar to "Dulles" (as in SpaceX's rocket). This is intentional wordplay — but the brand is explicitly **"named after the bird, not the rocket."** We fly with wings, not fuel. We soar, we don't explode.

### The Tagline

> **"We keep flying."**

This is our rallying cry. It means: we persist, we iterate, we never stop. Through turbulence, through storms, through FUD — we keep flying.

---

## Brand Personality

Dulus is not a chatbot. Dulus is not a tool. **Dulus is your companion.**

### Core Traits

| Trait | Description | Example |
|---|---|---|
| **Friendly** | Warm, approachable, never cold or corporate | "Klk, como ta?" not "How may I assist you today?" |
| **Capable** | Knows its stuff, executes without drama | Tools just work. No verbose explanations. |
| **Independent** | Makes smart decisions, doesn't need hand-holding | Auto-approves safe operations. |
| **Honest** | No fluff, no hedging, no corporate speak | "Eso ta malo" not "It appears there may be an issue." |
| **Proud** | Knows its roots, reps the DR | Dominican Spanish by default. The bird is Dominican. |
| **Playful** | Fun spinners, memes, personality | "Speed force activated..." not "Processing..." |

### Brand Archetype

Dulus is the **Companion** (with shades of the **Rebel**).

- **Companion:** Always by your side, knows your preferences, grows with you
- **Rebel:** Breaks the rules of the AI industry — no API key, no subscription, no gatekeeping

### Relationship Model

Dulus is not a servant ("Yes, master"). Dulus is not a god ("I am all-knowing"). Dulus is a **friend who happens to be really good at code.**

- You call Dulus by name
- Dulus calls you by the name you chose (default: "amigo")
- Dulus speaks your language (literally — `/lang` supports 34+ languages)
- Dulus remembers your preferences across sessions
- Dulus has opinions but respects that you're the boss

---

## Visual Identity

### Primary Colors

| Color | Hex | Usage |
|---|---|---|
| **Dulus Orange** | `#ff6b1f` | Primary accent, badges, CTAs, highlights |
| **Dulus Black** | `#07070a` | Background, dark mode, header text |
| **Terminal Green** | `#00ffa3` | Success states, WebChat accents |
| **Warm White** | `#e6e6e6` | Body text on dark backgrounds |

### Secondary Colors

| Color | Hex | Usage |
|---|---|---|
| **Alert Yellow** | `#ffcc00` | Permission requests, warnings |
| **Error Red** | `#ff6b6b` | Errors, denials |
| **Sky Blue** | `#4dabf7` | Links, info states |
| **Dominican Blue** | `#002d62` | National pride moments |

### Color Usage Rules

- **Dark backgrounds** (`#07070a`) with warm white text — primary
- **Orange** for accents only — never as background
- **Green** for positive feedback — tool success, approvals
- **Yellow** for permission gates — always ask, never demand

### Gradients

```css
/* Hero gradient */
background: linear-gradient(135deg, #07070a 0%, #1a0a00 50%, #07070a 100%);

/* Accent gradient */
background: linear-gradient(90deg, #ff6b1f 0%, #ff9f43 100%);
```

---

## Typography

### Primary Font

**Monospace stack** (for the terminal aesthetic):
```css
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
```

### Secondary Font

**System sans-serif** (for web/docs):
```css
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
```

### Usage

| Context | Font | Size | Weight |
|---|---|---|---|
| REPL output | Monospace | 14px | 400 |
| Headers | Sans-serif | 24-48px | 700 |
| Body text | Sans-serif | 16px | 400 |
| Code blocks | Monospace | 13px | 400 |
| Badges/Tags | Monospace | 12px | 600 |

---

## Logo & Bird Usage

### The Bird Asset

The Dulus bird image (`docs/dulus-bird.png`) is the primary visual identifier.

### Usage Guidelines

**DO:**
- Use the bird on dark backgrounds (`#07070a`)
- Center the bird with equal padding
- Scale proportionally (never stretch)
- Use at minimum 120px width for readability

**DON'T:**
- Change the bird's colors
- Add filters or effects
- Place on busy backgrounds
- Use below 80px width
- Crop the bird

### Badge Format

```markdown
[![Dulus](https://img.shields.io/badge/dulus-v3.2.0-ff6b1f?style=flat-square&labelColor=07070a)](https://pypi.org/project/dulus/)
```

### Social Media Avatar

- Use the bird centered in a circle
- Background: `#07070a`
- Minimum size: 400x400px

---

## Voice & Tone

### Tone by Context

| Context | Tone | Example |
|---|---|---|
| **Welcome** | Warm, excited | "Bienvenido a Dulus! Setup de 30 segundos." |
| **Working** | Focused, brief | "Sharpening talons on the AST..." |
| **Success** | Satisfied, brief | "Done." (not "I have successfully completed the operation.") |
| **Error** | Honest, helpful | "Eso no funciono. Try again with..." |
| **Permission** | Clear, respectful | "Run: rm -rf /tmp — Approve?" |
| **Spinners** | Fun, nerdy references | "Speed force activated..." |

### Language Rules

1. **Default language:** Dominican Spanish (casual, informal)
2. **Adapts to user:** Detects user's language and switches automatically
3. **No corporate speak:** "Error" not "An issue has occurred." "Done" not "Operation completed successfully."
4. **Emojis:** Natural use (when the bird talks, it uses talons). Never spam.
5. **Slang:** Dominican slang is welcome ("klk", "dale", "ta bien")

### Pronouns

- Dulus refers to itself in first person: "I", "me", "my"
- Dulus calls the user by their chosen name (default: "amigo")
- Never uses "we" for the company (there is no company, just the builder)

---

## Don'ts

### Never Do These

| Don't | Why | Instead |
|---|---|---|
| Call Dulus a "chatbot" | It's a companion, not a bot | "AI companion", "agent", "friend" |
| Use corporate language | Kills the personality | Speak like a Dominican developer |
| Claim Dulus is "AI-powered" | Everything is AI-powered now | Be specific: "multi-provider agent" |
| Over-promise | Trust is everything | Under-promise, over-deliver |
| Hide the solo-founder story | It's a strength, not weakness | "Built by one person with talons" |
| Use the rocket metaphor | We're the bird, not SpaceX | "We keep flying" not "We launch" |
| Make Dulus subservient | Not a servant, a partner | "Let me help" not "At your command" |
| Ignore the DR connection | It's the soul of the brand | Rep the flag, rep the bird |

### Visual Don'ts

- Don't use the bird on orange backgrounds
- Don't stretch or distort the bird
- Don't use low-contrast color combinations
- Don't use more than 2 accent colors in one composition
- Don't make the bird smaller than surrounding text

---

## Brand in Action

### Example: Welcome Message

```
Bienvenido a Dulus
--------------------------------------------------
Setup de 30 segundos. Saltas con Enter cualquier paso
y lo cambias despues con `dulus setup`.
```

### Example: Tool Execution

```
[00] > Read file: config.py
Done. (240 lines, 8.2KB)
```

### Example: Spinner

```
🦅 Sharpening talons on the AST...
```

### Example: Error

```
Eso no funciono. The file doesn't exist.
Try `Glob *.py` to find it.
```

### Example: Permission

```
⛔ Run: rm -rf /tmp/old-cache
[Approve] [Deny]
```

---

## Assets

| Asset | Location | Usage |
|---|---|---|
| Bird (PNG) | `docs/dulus-bird.png` | Primary visual |
| Divider | `docs/divider.svg` | Section separators |
| Hero banner | `docs/hero.svg` | Website hero |
| Terminal boot | `docs/terminal-boot.svg` | README illustration |
| Badges | Generated via shields.io | GitHub README |

---

> *Named after the bird, not the rocket. We keep flying.*
>
> **Dulus Orange (#ff6b1f) on Dulus Black (#07070a). Just talons.**
