Constructdocs
section · guides

Branding

Canonical Construct brand contract — visual identity, naming, voice, tone, and profile terminology for generated artifacts.

3 min read·guides / reference / branding

Construct branding

Single index for maintainers and agents. Generated surfaces (init scaffolding, platform sync, publish/export, dashboard, supported hosts) must align with these rules.

Visual identity

ElementValueSource
Sans / displaySpace Grotesk (weights 400–700)lib/brand-tokens.mjs
MonospaceJetBrains Monolib/brand-fonts.mjs
ColorMonochrome ink ramp; white accenttemplates/distribution/construct-brand.typ
Published artifact tokensSame ink + typography via templates and CSS varslib/brand-tokens.mjs, packages/cx-ui/styles/theme.css

Bundled fonts for offline export: templates/distribution/fonts/. Typst export passes --font-path, --ignore-system-fonts, and --ignore-embedded-fonts so system fallbacks (Libertinus, DejaVu) never replace the brand faces.

Retired typography (do not ship)

These families are retired from active brand surfaces. References in docs, templates, or app source are drift:

  • Plus Jakarta Sans
  • Geist / Geist Mono
  • IBM Plex (sans or mono as brand body)
  • Inter as primary UI font
  • Libertinus Serif (Typst fallback only — blocked by export flags)

Naming

See naming.md and prompt surfaces.

ContextForm
Product / docs nameConstruct (capital C)
CLI, npm package, public personaconstruct (lowercase)
Internal specialistscx-\<role> (never user-facing)
Artifact metadatacx_doc_id, cx_release_gate, …

Users address @construct only. Specialists route internally.

Voice and tone

Prose rules: STYLE.md. No marketing voice (robust, enterprise-grade, best-in-class, …). Acknowledge limits; refer to Construct as a project, not a product.

Typed artifacts resolve tone from:

  1. specialists/artifact-manifest.json toneDefault / toneAllowed
  2. specialists/tone-profiles.json
  3. Optional project override .construct/brand-voice.json

Validate before ship: construct artifact validate \<path> --type=\<doc-type>.

Artifact workflow branding

specialists/artifact-manifest.json also defines the registered document-class workflow. A class resolves its author chain, reviewer chain, validation policy, output formats, and branding policy from that manifest. Any registered class is eligible; Construct does not silently substitute a PRD for an unknown class.

For workflow settings, precedence is: invocation override, then construct.config.json artifactWorkflow, then manifest defaults. Branded is the default for all styling-capable distribution formats (PDF, HTML, deck, PPTX, DOCX/DOC, RTF, ODT, EPUB, and TeX). Markdown and text remain plain by nature; a request or project configuration can explicitly opt out of branding.

Profile terminology (rebrand)

Each curated profile may define rebrand.intakeQueueLabel and rebrand.signalNoun in profiles/*.json. lib/scopes/rebrand.mjs centralizes lookup; defaults are Intake queue / signal.

User-facing surfaces that must honor rebrand:

  • construct intake CLI output and --help
  • Session-start intake prelude
  • Dashboard /api/intake/* and intake-related pages
  • Mission Control insights (summarizeIntakeQueue)

Example: operations profile → Request queue / request.

Init templates and guides should use profile-neutral language and point readers to construct intake --help for profile-specific labels.

Enforcement

GateWhat it checks
tests/brand-fonts.test.mjsBundled TTF paths and family names
tests/brand-prose.test.mjsMarketing voice, Construct/cli naming, code-fence skipping
tests/functional/publish-template.functional.test.mjsTypst/HTML deck brand fonts
scripts/audit/03d-brand.mjsRetired fonts, marketing voice, Construct/cli naming, hardcoded dashboard intake titles
lib/hooks/brand-prose-lint.mjsPostToolUse block on the same rules for governed paths
construct init:updateProposes or applies (--apply-guide) stale .construct/construct_guide.md refresh
construct artifact validateTyped doc structure, visuals, tone

Run the brand audit: node scripts/audit/03d-brand.mjs.

Related

  • Document I/O — export formats and branded PDF/deck/PPTX
  • Templates — shipped doc shapes and overrides