## 00 Essence what we are

Right Agent — a multi-agent runtime for Claude Code, built on NVIDIA OpenShell. Each agent runs as its own Claude Code session inside its own OpenShell sandbox with a declarative YAML policy. A Rust CLI orchestrates lifecycles via process-compose.

double meaning

right = proper (security-first, sandboxed by default)
right = the one that fits (the right agent for the job)

heritage mark

The claw is a visual signature inherited from the project's original name.
Read it as a metaphor for grip: the runtime holds agents inside their sandboxes.

Core promise. Run multiple autonomous Claude Code agents safely — each in its own sandbox, with its own identity and memory, with a single command.

Emotional payoff. Confidence. "I can leave them running."

Naming. In prose — `Right Agent` (Title Case, two words). In wordmark — `right agent` (lowercase). In CLI — `rightagent` (one token, no space, no hyphen).

## 01 Logo system three marks, one family

The brand has three marks: primary (strict, functional), character (friendly, for stage), wordmark (anywhere text is needed). They don't compete — they cover different sizes and registers.

### 1.1 Primary mark

Primary on darkOrange claw on #0f0f0f. Primary context — dev tools, terminals, dark UI.
Primary on creamOrange claw on #f2ede4. For docs, print, light web pages.
Primary reversedWhite claw + white check on brand orange. Stickers, merch, accents.

The claw always faces right. The check sits inside the upper-right claw, never outside. Proportions are locked — never stretch or tilt.

### 1.2 Character · C1 (smile-check)

C1 · thin smileTwo eyes, mouth = check. Default character.
C1 · bold smileSame construction, heavier mouth stroke (width 5). For merch, banners — anywhere you want more weight.
C1 · on creamFor light backgrounds: eye whites stay white, pupils and smile go dark.

Character is used only at ≥ 48px. Below that — primary mark only (no eyes).

### 1.3 Wordmark family

Six canonical variants. All used contextually — this is not "pick one," this is a family. Accent always lands on the word boundary: all of `right`, all of `agent`. Never inside "right".

W1 · default inline
right agent

`right` orange + `agent` dim. Default for nav, headers, docs. Canonical.

W2 · white-right
right agent

When there's too much orange around (next to the mark). For docs, README.

W3 · with tagline
right agent
the proper claude code runtime

For hero, landing, first screen. Wordmark + tagline in one block.

W4 · underline-check
right agent

An uneven check-stroke underline — rhymes with the check inside the mark. For posters, covers, presentations.

W5 · dot-compact
right · agent

With a middle dot, smaller. For sidebar, footer, captions in dense layouts.

W6 · stacked · square
right
AGENT

Two lines — big orange `right` + small spaced `AGENT`. For square formats: social avatar, favicon 512, sticker.

Wordmark rules.

1. Always lowercase (except `AGENT` in W6 — that's an intentional stencil device).

2. Accent — only the whole word `right`. Never `r·igh·t`, `ri·ght` — it breaks the word.

3. `agent` in dim (`#666`) — canonical. On light — `#776e5e`.

4. In prose: `Right Agent` (Title Case, two words with a space) — that's a mention, not the wordmark. CLI binary: `rightagent` (one token).

### 1.4 Lockups

right agent
L1 · horizontalMark + wordmark, gap = height of "a". Default for navigation, headers.
right agent
L2 · stackedMark above wordmark, gap = 0.5× mark height. For square areas: social avatar, favicon 512+.
right agent
v0.1.0
L3 · with versionWordmark + version. Version in `--muted`, monospace, two steps smaller.

## 02 Wordmark accent word boundary

### anatomy

right agent
└──right──┘ └─agent─┘

The accent covers 5 letters: `r·i·g·h·t`. No more, no less.

### color values

right | #E8632A | orange-500
agent (on dark) | #666666 | dim — canonical
agent (on light) | #776E5E | dim-on-cream
agent · W2 white | #EEEEEE | W2 only

### scale behaviour

right agent
right agent
right agent
right agent
right agent
right agent

Letter-spacing: `-0.025em` down to 28px, `-0.02em` at 22–18px, `-0.01em` at 14px and below. Under 14px — wordmark without accent (contrast falls off).

## 03 Clear space & minimum sizes

### clear space

X

X = 25% of mark height. No other elements inside clear space.

### minimum sizes

Context | Min size | What
--- | --- | ---
Web / digital | 24×24 px | primary mark
Favicon | 16×16 px | simplified (see 08.1)
Character C1 | 48×48 px | eyes vanish below
Wordmark w/ accent | 14 px | below — no accent
Print | 8 mm | primary mark
Embroidery | 25 mm | primary, claw only

## 04 Color

### core palette

orange / brand
#E8632A
primary · accent · "right"
coal
#0F0F0F
primary background (dark)
panel
#161616
cards, surfaces
cream
#F2EDE4
primary background (light)

### semantic (cli + ui)

ok
#6BBF59
✓ success · ready
warn
#D9A82A
! caution · degraded
err
#E03C3C
✗ fail · fatal
info
#4A90E2
… running · pending

### neutral ladder

heading
#EEEEEE
text
#DDDDDD
muted
#888888
dim
#666666
line
#222222
line-soft
#1A1A1A
dark-text
#1A1108
cream-line
#DDD6C9

Color rules.

1. `#E8632A` — the only brand accent. Don't shift the hue. Don't substitute "some orange."

2. Orange is not used for semantic states. `warn` — yellow, `err` — red.

3. Orange on orange — forbidden. On a brand-orange background, the claw goes white.

4. Minimum text contrast — WCAG AA (4.5:1). White check on brand-orange passes.

## 05 Typography

display / wordmark
right agent

Inter 800 · SIL Open Font License. Free, stable, broad coverage.

fallback: `-apple-system, system-ui, sans-serif`

ui / body

Multi-agent runtime for Claude Code. Each agent in its own sandbox.

Inter 400 / 500 / 600 / 700 · size 13–16px, line-height 1.5–1.65.

mono / terminal / code
▐✓ right agent v0.1.0

JetBrains Mono · Apache 2.0. Renders `▐`, `✓` and box-drawing crisply.

fallback: `Fira Mono, Menlo, ui-monospace, monospace`

### scale

Role | Size | Weight | Tracking | Example
--- | --- | --- | --- | ---
Hero wordmark | 48–64 px | 800 | -0.025em | right agent
Page title | 28–36 px | 800 | -0.02em | Right Agent
Section H2 | 10–11 px | 600 | 0.2em | ESSENCE
Body | 14 px | 400 | 0 | body text
Caption | 11–12 px | 400 | 0 | caption
Mono / code | 12–13 px | 400 | 0 | rightagent up

## 06 Voice & tone

### voice attributes

- precise — technical accuracy, no handwaving
- lowercase-first — like rust/go tools
- serious-friendly — not corporate, not hipster
- opinionated — has a position on security
- terse — the tool does the work, doesn't talk about it

### taglines

sandboxed multi-agent runtime
— primary, factual

the proper claude code runtime
— secondary, voicey

right by default
— micro / sticker / CTA

### copy · do / don't

#### ✓ do

policy validation failed
Fact. Short note of exactly what. No apologies.
3 agents spawned
Past-tense verb, number first. Factual.
Run multiple Claude Code agents safely.
Verb-first, benefit clear in a second.

#### ✗ don't

oops! something went wrong :(
Apologies, emotions, emoji. Not our voice.
Successfully Initialized!
Title Case, exclamation. Sounds like Windows.
Revolutionize Your AI Workflow 🚀
Marketing-speak. Rockets. No.

### level glyphs

Level | Glyph | Color | Pattern
--- | --- | --- | ---
ok | ✓ | #6BBF59 | ✓ {noun} {past-verb}
warn | ! | #D9A82A | ! {subject} {concern}
err | ✗ | #E03C3C | ✗ {subject} {failure}
info | … | #4A90E2 | … {subject} {ing-verb}

## 07 Character usage

The character (C1) is not a replacement for primary. It's for places that need stage and emotion: hero, cover, sticker, README illustration. Don't use the character in UI chrome, don't use it as a favicon.

### do

- · landing hero image
- · README header illustration
- · Twitter/X card
- · stickers, merch
- · t-shirt print
- · 404 page

### don't

- · in nav / header
- · as a favicon
- · below 48px
- · in the terminal
- · in error states

## 08 Applications

### 8.1 Favicon

64×64full primary
32×32thicker strokes
16×16claw only, no check
apple touchorange bg, inset white

At 16×16 — claw only, no check (check disappears). At 32+ — full version. Apple touch icon: white inset on brand-orange.

### 8.2 README header

github.com/onsails/rightagent
right agent
sandboxed multi-agent runtime for claude code
crates.io v0.1.0 ci passing license MIT

Run multiple Claude Code agents safely — each sandboxed by OpenShell policies, orchestrated by one CLI.

### 8.3 GitHub social preview · 1280×640

right agent
sandboxed multi-agent
runtime for claude code.
cargo install rightagent

### 8.4 Website hero

rightagent.dev
right agent
docs github install
run agents.
safely.
multi-agent runtime for claude code. each agent in its own openshell sandbox. declarative policies. one cli.
get started →
$ cargo install rightagent

### 8.5 Social · avatar + banner

avatar · 400×400primary mark on coal, centered. Circle-crop ready.
avatar · altreversed — on orange. For contexts with many dark avatars in a row.

## 09 Terminal brief — full spec lives in v13

### three atoms

▐✓ | ASCII mark · the only one · 2 cells
▐ | bar element · "sandbox rail," log prefix
right agent | wordmark · anywhere bigger than ▐✓

### example · splash

▐✓ right agent v0.1.0 ▐ sandboxed multi-agent runtime ▐ ▐ ✓ process-compose ready ▐ ✓ openshell ready ▐ ✓ 3 agents spawned

No large-format ASCII claw art. `NO_COLOR` / `TERM=dumb` — fall back to `[ok]`/`[warn]`/`[err]` without ANSI.

## 10 Do / Don't summary

#### ✓ do

Use `#E8632A` as the only orange. Period.
Accent the whole word `right` — all of it, never a slice.
Keep clear space ≥ 25% of mark height.
Use the character (C1) only at 48px+ and only on stage.
Add a fallback for `NO_COLOR` / `TERM=dumb`.
In prose use `Right Agent` (Title Case, two words). Wordmark — lowercase. CLI — `rightagent`.

#### ✗ don't

Shift the orange hue "brighter" or "warmer."
Write `r·igh·t·agent` or `ri·ght·agent` — it breaks the word "right."
Stretch, tilt, outline, or gradient the mark.
Use the character in nav / favicon / small sizes.
Draw the claw with ASCII block art.
Write `RIGHTAGENT` in uppercase or `rightAgent` in camelCase.
Add 🚀 emoji to the tagline or marketing copy.
Place the orange mark on an orange background.

## 11 Assets manifest what lives in the repo

Canonical `assets/` structure at the root of `rightagent/`:

assets/ ├── primary.svg # claw + check, transparent bg ├── primary-on-dark.svg # with #0f0f0f background ├── primary-on-light.svg # with #f2ede4 background ├── primary-reversed.svg # white claw on orange ├── character.svg # C1 smile-check (thin) ├── character-bold.svg # C1 bold smile for merch ├── character-on-cream.svg # C1 for light backgrounds ├── wordmark.svg # right · agent with accent ├── wordmark-underline.svg # W4 with uneven underline ├── wordmark-stacked.svg # W6 right · AGENT ├── lockup-horizontal.svg # L1 ├── lockup-stacked.svg # L2 ├── favicon.ico # 16/32/48 multi-size ├── favicon-16.png ├── favicon-32.png ├── apple-touch-icon.png # 180×180 ├── og-image.png # 1280×640 social preview ├── avatar.png # 400×400 └── README.md # which file is for what

### naming convention

- · `primary-*` — functional mark for tools/UI
- · `character-*` — stage versions
- · `lockup-*` — fixed mark + wordmark combinations
- · everything in SVG; PNG only for specific sizes (favicon, og, avatar)
- · no JPG in `assets/`