spartan/ui — скилл
Скилл и MCP-сервер для Angular-библиотеки spartan/ui: агент ставит компоненты и блоки по актуальной документации.
- 2 994 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Генераторы `@spartan-ng/cli` создают и меняют файлы проекта, а MCP-сервер ходит на сайт spartan.ng и пишет кеш на диск.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/spartan-uiОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Генераторы `@spartan-ng/cli` создают и меняют файлы проекта, а MCP-сервер ходит на сайт spartan.ng и пишет кеш на диск.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл `spartan` учит агента работать с Angular-библиотекой spartan/ui: добавлять и комбинировать компоненты, чинить их, настраивать стили. Библиотека делится на два слоя. Слой Brain дает доступные компоненты без стилей и ставится из npm. Слой Helm со стилями на Tailwind копируется в проект через `@spartan-ng/cli`, и код остается вашим. Скилл сам определяет, чем собран проект, Nx или Angular CLI, и запускает генераторы через нужную команду. Рядом в репозитории лежит MCP-сервер `@spartan-ng/mcp`. Он берет документацию, компоненты и блоки с сайта spartan.ng, хранит их в кеше по версиям и отдает агенту через инструменты, ресурсы и подсказки.
Для кого. Angular-разработчикам, переносящим подход shadcn/ui в свой проект, и командам, которые уже работают на spartan/ui.
Подходит, если
- В Angular-проекте с `components.json` надо добавить кнопку, диалог или таблицу в стиле shadcn.
- Агент пишет разметку вручную, хотя в spartan/ui уже есть готовый компонент нужного поведения.
- Готовый блок, например боковая панель или форма входа, нужно подтянуть вместе с зависимостями.
- Вопрос о доступности компонента: клавиатура, ARIA, чтение с экрана.
Не подходит, если
- Интерфейс собран на Angular Material или PrimeNG, и переходить на spartan/ui не планируют.
- Проект работает не на Angular: библиотека и генераторы рассчитаны только на этот фреймворк.
- Рабочее место без доступа к сети, потому что MCP-сервер берет документацию с живого сайта.
Пример запроса к агенту
Добавь в проект диалог подтверждения из spartan/ui и покажи, какие зависимости он тянет.Ограничения
Скилл работает в проектах с Nx или Angular CLI и вызывает генераторы `@spartan-ng/cli`, которые меняют файлы проекта. Параметр `user-invocable: false` в описании скилла означает, что агент подключает его сам по теме задачи, а не по слэш-команде. MCP-сервер ставится отдельно, нужен Node.js, а контент он загружает с сайта spartan.ng и кладет в кеш на диске. Кеш по умолчанию лежит в `~/.cache/spartan-mcp`, срок записи на диске 24 часа. Сервер только читает документацию и не правит проект.
Как отключить. Удалите папку скилла `spartan` из каталога скиллов агента и запись `spartan-ui` из конфигурации MCP. Кеш `~/.cache/spartan-mcp` и скопированные в проект файлы Helm уберите вручную.
Частые вопросы
Как поставить скилл spartan/ui?
Выполните `npx skills add spartan-ng/spartan`. Скилл лежит в папке `skills/spartan` репозитория и подключается агентом при работе с `components.json` или генераторами `@spartan-ng/cli`.
Как подключить MCP-сервер spartan/ui к Cursor?
Добавьте в MCP-конфигурацию сервер `spartan-ui` с командой `npx` и аргументами `-y`, `@spartan-ng/mcp`, затем перезапустите клиент. Другой вариант: `npm install -g @spartan-ng/mcp` и команда `spartan-mcp`.
Чем слои Brain и Helm отличаются?
Brain дает поведение, доступность и состояние без стилей и ставится из npm как `@spartan-ng/brain`. Helm добавляет стили, и CLI копирует его в проект, чтобы вы правили код сами.
Какие инструменты есть у MCP-сервера?
17 инструментов: список и содержимое компонентов и блоков, разбор зависимостей, проверка доступности, документация, проверки сайта и управление кешем. Например, `spartan_components_get` возвращает API компонента.
Где MCP-сервер хранит кеш и как его сбросить?
По умолчанию в `~/.cache/spartan-mcp`; путь меняет переменная `SPARTAN_MCP_CACHE_DIR`. Очистить кеш можно инструментом `spartan_cache_clear`, а пересобрать из живого сайта инструментом `spartan_cache_rebuild`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыОфициальный скилл и MCP-сервер shadcn/ui: агент ищет компоненты в реестрах, ставит их через CLI и держится правил библиотеки
MCP-сервер SAP отдает агенту каталог из 1000 компонентов Fundamental NGX: API, примеры, сравнения и руководства по настройке
Скилл подбирает и ставит анимированные React-компоненты beUI через публичный MCP или реестр shadcn вместо самодельных виджетов
Скилл и MCP-сервер библиотеки Shaders: агент собирает фоны, стекло, градиенты и курсорные эффекты на WebGPU для React, Vue, Svelte, Solid и JS
Скиллы Angular
Angular Skills
Официальные скиллы команды Angular: генерация кода по актуальным практикам, сигналы, формы, SSR и создание новых приложений
Shadcn UI MCP Server
Shadcn UI v4 MCP Server
MCP-сервер, который отдает агенту исходники, демо и блоки компонентов shadcn/ui для React, Svelte, Vue и React Native
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| spartan/ui (эта карточка) | нет | 2 994 | |
| Скиллы Angular | нет | 101 486 | официальные скиллы команды Angular про сигналы, формы и SSR; здесь библиотека компонентов в духе shadcn |
| shadcn/ui | нет | 128 022 | скилл и MCP-сервер shadcn/ui для React; spartan/ui делает то же для Angular с деталями Brain и Helm |
Коротко о README
Монорепозиторий spartan/ui включает библиотеки Brain и Helm, плагин `@spartan-ng/cli` для Nx и Angular CLI, MCP-сервер и скилл для агентов. Подход взят у shadcn/ui: доступные компоненты без стилей плюс стили, которые копируются в проект.
Бейдж для README
Исходный SKILL.md
--- name: spartan description: >- Manages spartan/ui, the Angular UI library - adding, composing, fixing, debugging, and styling UI with the Brain (headless primitives) and Helm (styled) layers. Provides project context, component APIs, and usage examples. Applies when working with spartan/ui, @spartan-ng/brain, @spartan-ng/helm, the @spartan-ng/cli generators, or any Angular project with a components.json file. Also triggers for "spartan init", "add a spartan component", or "set up spartan/ui". user-invocable: false allowed-tools: - Bash(npx nx g @spartan-ng/cli:*) - Bash(pnpm nx g @spartan-ng/cli:*) - Bash(ng g @spartan-ng/cli:*) --- # spartan/ui spartan/ui is an Angular UI library on the stable **1.x** line (`@spartan-ng/brain`, `@spartan-ng/cli`, `@spartan-ng/mcp`). Do **not** assume a fixed version such as 1.0 — read the declared dependency versions for Brain, Helm, and CLI from `npx nx g @spartan-ng/cli:info --json` (Nx) or `ng g @spartan-ng/cli:info --json` (Angular CLI) (field `versions`; these are `package.json` ranges, not lockfile-resolved installs). For the latest published MCP package version, check npm (`@spartan-ng/mcp`). It uses a **two-layer architecture**: - **Brain (`@spartan-ng/brain`)** - accessible, unstyled primitives (Angular directives/components), installed from npm. This is the behavior and accessibility layer. - **Helm (`@spartan-ng/helm`)** - the styled layer (Tailwind + class-variance-authority). Helm code is **copied into the user's project** by the CLI so they own and can customize it. You compose Helm directives/components onto host elements; Helm wires up the matching Brain primitive under the hood. Always prefer existing components over hand-written markup. All CLI commands run through the workspace's runner. Detect it from the project: - **Nx workspace** (has `nx.json`): `npx nx g @spartan-ng/cli:<generator>` (or `pnpm nx g ...`). - **Angular CLI workspace** (has `angular.json`, no `nx.json`): `ng g @spartan-ng/cli:<generator>`. ## Current project context Before generating any code, gather the project context: ```bash npx nx g @spartan-ng/cli:info --json # Nx ng g @spartan-ng/cli:info --json # Angular CLI ``` This is read-only and prints JSON with: