{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "agent-rules", "title": "Manner Agent Rules", "description": "Installs Manner design constraints and agent workflow at the consumer project root.", "files": [ { "path": "public/DESIGN.md", "content": "# Manner Interface Rules\n\nManner is a warm, editorial interface system for thoughtful software.\nIt is independent and is not affiliated with Anthropic or Claude.\n\n## Product feeling\n\nInterfaces should feel literate, calm, curious, competent, warm, and slightly unconventional. They should never feel corporate-luxury, faux-vintage, overly cute, or generically AI-generated.\n\n## Non-negotiable rules\n\n- Use semantic design tokens. Do not add arbitrary color values inside components.\n- Search existing components and blocks before creating a new primitive.\n- Use visible surfaces only when grouping requires a container.\n- Do not wrap every section, statistic, or list item in a card.\n- Use serif typography only for major titles, quotes, selected numbers, and editorial emphasis.\n- Use sans-serif typography for controls, forms, tables, and dense reading.\n- Use monospace for metadata, code, keyboard hints, timestamps, and system state.\n- Use thin borders and tonal contrast before shadows.\n- Keep control radii small to medium. Pills are reserved for status, tags, and compact filters.\n- Motion must explain state, continuity, hierarchy, or origin.\n- Every interaction needs visible keyboard focus and an accessible name.\n- Design mobile layouts intentionally. Do not merely shrink desktop grids.\n- Respect `prefers-reduced-motion`.\n\n## Semantic tokens\n\nUse `canvas`, `surface`, `surface-raised`, `surface-inset`, `ink`, `ink-secondary`, `ink-muted`, `accent`, `accent-soft`, `border-subtle`, `border`, `border-strong`, `focus`, `success`, `warning`, `danger`, and `info` instead of component-specific colors.\n\n## Typography\n\n- Display: Fraunces Variable, approximately weight 420.\n- Interface and body: Geist or Inter Variable.\n- Code and metadata: IBM Plex Mono.\n- Keep long-form body measure between 58 and 72 characters.\n- Use line-height 1.55–1.75 for prose.\n- Never use serif for tiny labels, dense tables, or code-adjacent UI.\n\n## Shape and elevation\n\n- xs radius: 4px\n- sm radius: 6px\n- md radius: 10px\n- lg radius: 14px\n- xl radius: 20px, only for major canvases\n\nMost content grouping uses no shadow. Menus may use lift-1. Dialogs may use lift-2. Do not place giant blurred shadows behind normal cards.\n\n## Motion vocabulary\n\n- `enter-soft`\n- `exit-soft`\n- `reveal-line`\n- `shift-active`\n- `expand-panel`\n- `swap-content`\n- `press-control`\n\nMicro-interactions use 100–160ms. Menus and overlays use 140–220ms. Panels and layout changes use 180–300ms. Avoid bounce and decorative zoom by default.\n\n## Responsive behavior\n\nValidate at 360, 390, 768, 1024, and 1440 pixels. Sidebars become sheets, tabs, or compact selectors. Multi-panel AI interfaces show one primary panel at a time. Keep essential actions available without hover. Preserve readable measure.\n\n## Accessibility\n\nTarget WCAG 2.2 AA with full keyboard operation, visible focus, accessible names, correct field relationships, non-color state indicators, logical focus order, dialog focus restoration, reduced motion, and 400% reflow.\n\n## Avoid\n\n- arbitrary colors inside components\n- generic gradients and gradient text\n- glassmorphism for ordinary surfaces\n- giant centered hero followed by three generic cards\n- nested card inside card inside card\n- every control rendered as a pill\n- decorative motion that delays interaction\n- low-contrast beige-on-beige text\n- fixed-height content that clips user text or localization\n- icon-only actions without labels\n\n## Agent workflow\n\n1. Inspect the existing application structure, `components.json`, and tokens.\n2. Reuse Manner components before creating new primitives. Add missing source with `pnpm dlx shadcn@latest add @manner/`.\n3. Choose a composition based on the user task, not visual novelty.\n4. Implement loading, empty, error, disabled, and overflow states where applicable.\n5. Verify keyboard use, visible focus, reduced motion, and mobile transformation.\n6. Explain any intentional exception to these rules.\n7. Update documentation and tests when component behavior changes.\n\nInstall the rules and a component with:\n\n```sh\npnpm dlx shadcn@latest registry add @manner=https://ui.myudak.com/r/{name}.json\npnpm dlx shadcn@latest add @manner/agent-rules\npnpm dlx shadcn@latest add @manner/button\n```\n\n## Definition of done\n\nA stable component has semantic tokens, light and dark modes, keyboard tests, accessible state, visible focus, reduced motion, mobile behavior, long-content coverage, relevant loading/error/empty states, documentation, and real usage in at least one application composition.\n", "type": "registry:file", "target": "~/DESIGN.md" }, { "path": "public/MANNER_AGENT.md", "content": "# Manner agent setup\n\nFor machine-readable discovery, start with:\n\n- `https://ui.myudak.com/llms.txt` — compact guide\n- `https://ui.myudak.com/llms-full.txt` — complete guide\n- `https://ui.myudak.com/ai.json` — manifest and catalog metadata\n- `https://ui.myudak.com/r/index.json` — every installable item\n\nRead `DESIGN.md` before changing interface code.\n\n## Component workflow\n\n1. Search the installed Manner files before creating a new primitive.\n2. Add missing source with `pnpm dlx shadcn@latest add @manner/`.\n3. Prefer Manner blocks for common application shells, then adapt the owned source.\n4. Use semantic variables from `DESIGN.md`; do not add component-specific colors.\n5. Preserve Base UI semantics and keyboard behavior when changing interactive components.\n6. Verify light/dark appearance, keyboard focus, disabled/error/empty states, reduced motion, and the mobile transformation.\n\n## Useful registry items\n\n- Foundations: `button`, `field`, `select`, `switch`, `dialog`, `command`\n- Editorial: `surface`, `section-heading`, `note`, `quote`, `timeline`, `metadata`\n- AI: `message`, `composer`, `reasoning`, `tool-call`, `sources`, `artifact`\n- Blocks: `login-01`, `sidebar-01`, `settings-01`, `reader-01`, `ai-workspace-01`, `leaderboard-01`\n\nWhen implementation is complete, report which Manner items were reused, which were changed, and any intentional exception to `DESIGN.md`.\n", "type": "registry:file", "target": "~/MANNER_AGENT.md" } ], "type": "registry:file" }