Skip to content

Repo layout

helixui is a pnpm + turbo monorepo. Source of truth lives in packages/; showcases and documentation live in apps/.

packages/
tokens/ DTCG JSON tokens + transformer (the canonical source).
core/ React components — each owns a sibling spec.md.
dna/ The genome model (themes, alleles, breeding).
icons/ 265+ stroke-consistent SVG icons (outline + filled).
slides/ PPTX exporter that shares helixui tokens.
document/ DOCX exporter that shares helixui tokens.
prompt/ Compact UI prompt DSL.
mcp/ Model Context Protocol server.
apps/
site/ Marketing + showcase site (helixui.ai).
docs/ Astro Starlight docs site (this site).
demo/ Sandbox app used while developing new components.
scripts/ Build pipelines (llms.txt, search index, OG images, …).

Per-package conventions

PackageSource of truthBuild outputNotes
@helixui/tokenstokens/*.json (DTCG)CSS vars + TS typesRun pnpm build:tokens after editing.
@helixui/coresrc/components/<name>/<Name>.tsx + spec.mdShips TS sourceEach component has a spec next to it.
@helixui/dnasrc/*.tsShips TS sourceThe CLI lives in bin/dna.mjs.
@helixui/iconssrc/outline.tsx, src/filled.tsxTree-shakable named exportsAuthored as SVGR-style React.
@helixui/slidessrc/components/*.tsxShips TS sourcepptxgenjs loaded lazily on export.
@helixui/documentsrc/components/*.tsxShips TS sourcedocx loaded lazily on export.
@helixui/promptsrc/*.jsShips JS sourceUsed by the MCP server.
@helixui/mcpsrc/server.jsShips JS sourceDependency-free stdio MCP server.

What’s not in packages/

  • App-level state. showcases live under apps/site/src/pages/showcase/, not in @helixui/core.
  • Marketing copy / illustrations. Owned by apps/site.
  • Generated artifacts. llms.txt, llms-full.txt, components.md, *-manifest.json — built by scripts, never edited by hand.

When in doubt: if removing the file would break consumers of an imported package, it belongs in packages/. Otherwise it’s app-level.