# Array UI (array-ui): Complete LLM & Agent Documentation > Full specification, design tokens, component APIs, props, and code examples for Array UI (array-ui) hosted at https://ui.arpitbhayani.me. --- ## 1. Identity & Core Design Rules Array UI is an editorial, systems-engineering design system for personal sites, developer SaaS, and HTML explainer docs. It is designed for engineers and autonomous AI coding agents who value mathematical precision, high information density, and editorial typography. ### Core Visual Principles 1. **Editorial Palette**: - Light mode: Paper canvas (`#f9f8f5`), warm hairline borders (`#dfded9` / `rgb(223, 222, 217)`), dark carbon text (`#2b2a30`). - Dark mode: Obsidian carbon (`#111113`), crisp border (`#27272c` / `rgb(39, 39, 44)`), soft readable white (`#d6d6dc`). - Accents: - Signature Crimson (`#e5000f` light, `#ff3344` dark): Reserved strictly for primary action buttons, active navigation indicators, and key focus rings. - Amber (`#cc9900`): Used exclusively for engineering maxim quotes and warning callouts. - Emerald (`#10b981`): Used for operational health, ping dots, and git diff additions. - Rose (`#f43f5e`): Used for errors, outages, and git diff deletions. 2. **Typography**: - Headings: Assistant (bold, relaxed tracking -0.015em, aligned with body typography). - Body: Assistant (dense, 15px base size). - Pull Quotes / Maxims: Lora (italic serif). - Code & Telemetry: IBM Plex Mono / system monospace. 3. **Density & Restraint**: - 1px hairline borders everywhere. - Minimal elevation/shadows; prefer flat, tinted card surfaces. - Information-dense layouts: compact margins, dense tables, machined telemetry. - Never inject arbitrary gradients, neon colors, or rounded bouncy buttons. --- ## 2. Installation & AI Agent Rules ### Mode A: shadcn CLI Registry (Recommended) Configure `components.json`: ```json { "$schema": "https://ui.shadcn.com/schema.json", "style": "default", "registries": { "@aui": "https://ui.arpitbhayani.me/r/{name}.json" } } ``` Install base theme: ```bash npx shadcn@latest add @aui/aui -y ``` Install any components: ```bash npx shadcn@latest add @aui/button @aui/badge @aui/card @aui/input @aui/terminal @aui/diff-block @aui/property-grid @aui/ping-status -y ``` Components are installed into `@/components/ui/` and imported as: ```tsx import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { Terminal } from "@/components/ui/terminal"; import { DiffBlock } from "@/components/ui/diff-block"; import { PropertyGrid } from "@/components/ui/property-grid"; import { PingStatus } from "@/components/ui/ping-status"; ``` ### Mode B: Direct Package Dependency (npm, pnpm, bun) Install the official package from npm: ```bash npm install array-ui # or: pnpm add array-ui / bun add array-ui ``` Setup styles in root layout: ```tsx import "array-ui/styles.css"; ``` Import components: ```tsx // Next.js (App Router or Pages Router) import { Button, Badge, Card, Terminal, DiffBlock, PingStatus } from "array-ui/nextjs"; // Astro import Button from "array-ui/astro/Button.astro"; import Terminal from "array-ui/astro/Terminal.astro"; import DiffBlock from "array-ui/astro/DiffBlock.astro"; import PingStatus from "array-ui/astro/PingStatus.astro"; ``` ### Autonomous Agent Workflow Rules: - Autonomously select and install required components (`npx shadcn@latest add @aui/ -y`). - DO NOT pause or ask the user which components to install: immediately implement the requested interface. - Strictly Maintain 0% Custom CSS: Never write page-level `