Skip to content

Latest commit

 

History

History
124 lines (100 loc) · 2.88 KB

File metadata and controls

124 lines (100 loc) · 2.88 KB

Brand Profiles (.termlings/brand/)

termlings brand manages canonical brand profiles for agents and tooling. Current default behavior uses the default profile.

.termlings/brand/brand.json
.termlings/brand/profiles/<id>.json

Use this for public brand metadata only:

  • name and voice/tone
  • color tokens
  • logo asset paths
  • domain and email identity fields

Do not store secrets.

CLI

termlings brand schema
termlings brand show [--profile <id>] [--json]
termlings brand init [--profile <id>] [--name <name>] [--primary <hex>] [--logo <path>] [--domain <domain>] [--email <email>] [--force]
termlings brand extract [--profile <id>] [--from tailwind,shadcn,css,logos,package] [--write] [--replace] [--json]
termlings brand get <path> [--profile <id>] [--json]
termlings brand set <path> <value> [--profile <id>] [--json-value]
termlings brand validate [--profile <id>] [--strict] [--json]
termlings brand profiles [--json]
termlings brand schema [--json]

--profile <id> defaults to default.

Schema Contract

termlings brand schema returns the machine-readable command contract for AI agents.

Use termlings brand show --json to read the current brand profile object.

Profile JSON Shape

{
  "schemaVersion": 1,
  "name": "Termlings",
  "voice": "Clear, pragmatic, direct. Friendly but not fluffy. Avoid hype and jargon.",
  "colors": {
    "primary": "#574747",
    "secondary": "#F4F4F5",
    "accent": "#F4F4F5",
    "background": "#FFFFFF",
    "foreground": "#09090B",
    "palette": []
  },
  "logos": {
    "main": "",
    "mark": "",
    "favicon": ""
  },
  "identity": {
    "domain": {
      "primary": "termlings.com",
      "website": "https://termlings.com",
      "app": "",
      "docs": "",
      "api": ""
    },
    "email": {
      "fromName": "Termlings",
      "fromAddress": "",
      "replyTo": "",
      "support": "",
      "sales": "",
      "security": "",
      "noreply": ""
    }
  },
  "sources": [],
  "updatedAt": "2026-03-03T00:00:00.000Z"
}

Examples

# Create a new file
termlings brand init --name "Acme" --domain "acme.com"

# Create/show another profile
termlings brand init --profile marketing --name "Acme Marketing"
termlings brand show --profile marketing

# Extract from project files and save
termlings brand extract --from tailwind,shadcn,css,logos,package --write

# Read one field
termlings brand get colors.primary

# Update one field
termlings brand set voice "Direct, confident, practical."

# Update complex value
termlings brand set colors.palette '["#111111","#FFFFFF"]' --json-value

# Validate
termlings brand validate --strict

Disable This App

Disable brand for all agents in .termlings/workspace.json:

{
  "apps": {
    "defaults": {
      "brand": false
    }
  }
}

Per-agent access is narrowed in .termlings/agents/<slug>/SOUL.md with the apps: allowlist. See APPS.md.