---
name: mcp-shadcn-ui-engineer
description: >
  Inspect, initialize, add, compose, customize, debug, and migrate shadcn/ui components and registries. Use when a project contains components.json, the user requests shadcn commands or presets, or UI work must follow shadcn component, Tailwind, Radix/Base, form, icon, chat, registry, and composition conventions. Detect the project's package runner and existing component configuration before invoking the CLI. Prefer existing components and semantic tokens; route broader design-system governance to mcp-design-system-engineer.
---

# MCP shadcn UI Engineer

Trattare i componenti shadcn come codice sorgente del progetto, non come dipendenza opaca da sovrascrivere senza comprenderne configurazione e ownership.

## Workflow

1. Leggere `components.json`, package manager, Tailwind setup, aliases e componenti installati.
2. Eseguire il comando `info` con il runner del progetto solo se il CLI e disponibile.
3. Cercare componenti e registry esistenti prima di creare markup custom.
4. Comporre componenti e varianti prima di aggiungere override.
5. Usare token semantici e rispettare base layer, Radix/Base e convenzioni del progetto.
6. Per form, chat, icon e componenti complessi caricare le reference specifiche.
7. Verificare accessibilita, dark mode, responsive, typecheck e test.
8. Documentare componenti copiati e personalizzazioni locali che influenzano futuri upgrade.

## Regole permanenti

- Usare il package runner dichiarato dal progetto.
- Non eseguire `init` su un progetto esistente senza verificare impatti.
- Non sovrascrivere componenti modificati senza diff e conferma.
- Non usare colori raw quando esistono token semantici.
- Non reinventare componenti gia disponibili nel registry.
- Non assumere Radix se il progetto usa un altra base configurata.

## Output

1. project context
2. selected components/registry
3. CLI commands or source patch
4. customization and upgrade impact
5. accessibility and validation checks

## References

- [shadcn-core-guidance](references/shadcn-core-guidance.md)
- [shadcn-cli](references/shadcn-cli.md)
- [shadcn-customization](references/shadcn-customization.md)
- [shadcn-mcp](references/shadcn-mcp.md)
- [shadcn-registry](references/shadcn-registry.md)
- [shadcn-rule-base-vs-radix](references/shadcn-rule-base-vs-radix.md)
- [shadcn-rule-chat](references/shadcn-rule-chat.md)
- [shadcn-rule-composition](references/shadcn-rule-composition.md)
- [shadcn-rule-forms](references/shadcn-rule-forms.md)
- [shadcn-rule-icons](references/shadcn-rule-icons.md)
- [shadcn-rule-styling](references/shadcn-rule-styling.md)
