К основному содержанию
правило

kubestellar-console — правило Cursor: что делает и как установить

Правило задаёт нормы для React/TypeScript-фронтенда и Go-бэкенда KubeStellar Console. Пригодится для карточек дашборда и мультикластерных запросов.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/kubestellar-console.mdc
Открыть на GitHub

Что делает kubestellar-console

Правило охватывает код в web/, pkg/ и cmd/. Оно задаёт структуру проекта, требует получать данные через useCache/useCached*, передавать состояния загрузки в useCardLoadingState и защищать операции с массивами от undefined. Для UI используются t() из react-i18next, Tailwind CSS и cn().

Для Go-кода правило задаёт обработчики Fiber v2, ошибки через fiber.NewError, структурированное логирование log/slog и пустые срезы через make([]T, 0). Запросы к нескольким кластерам выполняются с горутинами и sync.WaitGroup, а при обходе кластеров применяется DeduplicatedClusters(). Перед каждым коммитом нужны cd web && npm run build && npm run lint; без этого шага правило не покрывает проверку сборки и линтера.

Какие задачи решает

  • структурировать React-карточки дашборда
  • получать данные через кэшируемые хуки
  • защитить операции с потенциально пустыми массивами
  • локализовать пользовательские строки через t()
  • обработать запросы к нескольким кластерам

Примеры запросов агенту

  • Проверь компонент карточки в web/src/components/cards/ и приведи его к правилам проекта.
  • Добавь получение данных через useCache, обработку isDemoData и isRefreshing для этой карточки.
  • Проведи ревью Go-обработчика и проверь DeduplicatedClusters(), sync.WaitGroup и формат ошибок Fiber.

Как установить kubestellar-console

Вручную: положить файлы

.cursor/rules/kubestellar-console.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о kubestellar-console

Как установить kubestellar-console в Cursor?

Сохраните правило в файле .cursor/rules/kubestellar-console.mdc.

Что делает kubestellar-console?

Правило направляет разработку мультикластерного Kubernetes-дашборда: задаёт требования к React, Go, загрузке данных, стилям, локализации и работе с кластерами.

Какие файлы покрывает правило kubestellar-console?

Оно применяется к **/*.tsx, **/*.ts, **/*.go, а также к путям web/src/**/*.ts, web/src/**/*.tsx, pkg/**/*.go и cmd/**/*.go. Правило не включается автоматически.

Исходный текст

kubestellar-console.mdc · CC0-1.0
---
description: "KubeStellar Console — Multi-cluster Kubernetes dashboard development rules"
globs: **/*.tsx, **/*.ts, **/*.go, web/src/**/*.ts, web/src/**/*.tsx, pkg/**/*.go, cmd/**/*.go
alwaysApply: false
---
# KubeStellar Console Development Rules

## Project Structure
- Frontend: React + TypeScript in `/web/`
- Backend: Go (Fiber v2) in root directory
- Build: `cd web && npm run build && npm run lint` before every commit
- Cards: Dashboard card components in `web/src/components/cards/`
- Hooks: Data fetching hooks in `web/src/hooks/`

## Card Development
- All data fetching MUST go through `useCache`/`useCached*` hooks
- Always destructure and pass `isDemoData` and `isRefreshing` to `useCardLoadingState()`
- Never use demo data during loading: `isDemoFallback && !isLoading`
- Hook ordering: `useCardLoadingState` AFTER hooks providing `isDemoData`

## Array Safety
- NEVER call `.join()`, `.map()`, `.filter()`, `.forEach()`, `for...of` on values that might be undefined
- Always guard: `(data || []).map(...)` or `(data || []).join(', ')`

## No Magic Numbers
- Numeric literals should be named constants, except trivial literals (`0`, `1`, `-1`) in clear local contexts
- Use constants from `lib/constants/` (time.ts, network.ts, ui.ts)

## Styling
- Tailwind CSS with `cn()` utility for merging classNames
- Never use raw hex colors — use semantic Tailwind classes (`text-foreground`, `bg-primary`, `bg-card`)
- Status colors: `text-green-400`/`bg-green-500/10` (success), `text-yellow-400`/`bg-yellow-500/10` (warning), `text-red-400`/`bg-red-500/10` (error), `text-cyan-400`/`bg-cyan-500/10` (info) — these map to the design system's semantic status tokens and are the only permitted palette classes

## Internationalization
- All user-facing strings use `t()` from `react-i18next`
- Keys in `web/src/locales/en/` JSON files
- Never use raw strings for UI text

## Go Backend
- Fiber v2 handlers: `func(c *fiber.Ctx) error`
- Use `fiber.NewError(statusCode, message)` for errors
- Always `make([]T, 0)` not `var x []T` (nil → null in JSON)
- Use `log/slog` for structured logging
- Multi-cluster queries use goroutines + sync.WaitGroup

## Cluster Deduplication
- Always use `DeduplicatedClusters()` when iterating clusters
- Multiple kubeconfig contexts can point to same physical cluster

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Все правила IDE по теме «Фронтенд и UI» →
winui3 официальный github Правило задаёт рекомендации для WinUI 3 и Windows App SDK: от XAML и потоков до окон и MVVM. Пригодится, чтобы Copilot учитывал особенности настольных приложений Windows. ★ 40 451звёзд репо vue официальный github Правило задаёт Copilot стандарты Vue 3: Composition API, <script setup>, реактивность, Pinia и Vue Router. Пригодится, когда агент пишет компоненты в вашем стиле. ★ 40 451звёзд репо tanstack-start-shadcn-tailwind официальный github Правило задаёт Copilot стек TanStack Start, Shadcn/ui и Tailwind CSS и требует валидировать внешние данные через Zod. ★ 40 451звёзд репо tailwind-v4-vite официальный github Правило помогает подключить Tailwind CSS v4 к проекту на Vite через официальный плагин. Пригодится и для новой установки, и при переходе с v3. ★ 40 451звёзд репо svelte официальный github Направляет GitHub Copilot на стандарты Svelte 5 и SvelteKit 2: руны вместо старых сторов, типизация компонентов и безопасная работа с SSR. ★ 40 451звёзд репо power-bi-custom-visuals-development официальный github Правило для GitHub Copilot, которое подсказывает агенту, как писать кастомные визуалы Power BI на React, D3.js и TypeScript. ★ 40 451звёзд репо

Из того же набора140

medusa Правило задаёт Cursor рамки для кода на Medusa: воркфлоу, модели данных, сервисы и админка пишутся по одному шаблону. ★ 41 024звёзд репо manifest-yaml-cursorrules-prompt-file Правило задаёт Cursor, как собирать лёгкий демо-бэкенд на Manifest: структура проекта, файл manifest/backend.yml и ограничения по сущностям. ★ 41 024звёзд репо laravel-tall-stack-best-practices-cursorrules-prom Правило задаёт практики для Laravel и TALL Stack в Cursor. Оно помогает писать PHP-код, Livewire-компоненты и интерфейсы на Alpine.js и Tailwind CSS. ★ 41 024звёзд репо laravel-php-83-cursorrules-prompt-file Правило для Cursor, которое ведёт агента по разработке пакетов Laravel: структура, стандарты кода, тесты и документация. ★ 41 024звёзд репо kubernetes-mkdocs-documentation-cursorrules-prompt Правило задаёт Cursor роль технического писателя: агент пишет документацию по Kubernetes и cloud native в Markdown и MkDocs. ★ 41 024звёзд репо kotlin-ktor-development-cursorrules-prompt-file Правило задаёт структуру и практики для Kotlin-проектов на Ktor в Cursor. Оно пригодится при разработке API, сервисов и тестов. ★ 41 024звёзд репо knative-istio-typesense-gpu-cursorrules-prompt-fil Правило для Cursor, которое превращает ассистента в помощника по serverless-проектам на Knative с Istio, Typesense и HTMX. Пригодится, если вы собираете поисковое приложение на этих технологиях. ★ 41 024звёзд репо javascript-typescript-code-quality-cursorrules-pro Правило задаёт стиль для JavaScript и TypeScript: простой, читаемый и тестируемый код с небольшими изменениями. Подходит для задач в Cursor. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой