Skip to main content
rule

kubestellar-console — Cursor rule: what it does, how to install

Rules for KubeStellar Console development across its React/TypeScript frontend and Go backend. Useful for dashboard cards and multi-cluster queries.

Install into Cursor · Manually: put the files in place All methods and platforms ↓
.cursor/rules/kubestellar-console.mdc
Open on GitHub

What kubestellar-console does

This rule sets conventions for code under web/, pkg/, and cmd/. It routes data access through useCache/useCached*, passes loading state into useCardLoadingState, and guards array operations against undefined. UI text must use t() from react-i18next; styling uses Tailwind CSS with cn().

For Go, it specifies Fiber v2 handlers, fiber.NewError, structured log/slog logging, and empty slices created with make([]T, 0). Multi-cluster work uses goroutines with sync.WaitGroup, while cluster iteration goes through DeduplicatedClusters(). Before each commit, run cd web && npm run build && npm run lint; without that check, the rule does not cover the project’s build and lint step.

What it helps with

  • structure React dashboard cards
  • fetch data through cache-aware hooks
  • guard operations on possibly undefined arrays
  • route UI text through t()
  • run queries across multiple clusters

Example prompts for the agent

  • Review the card component in web/src/components/cards/ and align it with the project rules.
  • Add data loading through useCache, including isDemoData and isRefreshing handling for this card.
  • Review this Go handler for DeduplicatedClusters(), sync.WaitGroup, and Fiber error handling.

How to install kubestellar-console

Manually: put the files in place

.cursor/rules/kubestellar-console.mdc

Frontmatter: description, globs, alwaysApply

Step by step, with commands for each platform: Cursor rules: .mdc files, four modes and what replaced .cursorrules

Questions about kubestellar-console

How do I install kubestellar-console in Cursor?

Save the rule as .cursor/rules/kubestellar-console.mdc.

What does kubestellar-console do?

It guides development of the KubeStellar Console multi-cluster Kubernetes dashboard, covering React, Go, data loading, styling, localization, and cluster iteration.

Which files does the kubestellar-console rule cover?

Its patterns include **/*.tsx, **/*.ts, **/*.go, plus web/src/**/*.ts, web/src/**/*.tsx, pkg/**/*.go, and cmd/**/*.go. The rule is not enabled automatically.

Source text

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

Similar IDE rules

All IDE rules for Frontend and UI →

From the same set210

linux-nvidia-cuda-python-cursorrules-prompt-file Sets Cursor agent guidelines for the Hugging Face model quantization pipeline on Linux servers with Nvidia CUDA or AMD ROCm GPUs. ★ 41,024repo stars laravel-tall-stack-best-practices-cursorrules-prom A Cursor rule for Laravel and the TALL Stack. It guides PHP, Livewire, Alpine.js, and Tailwind CSS work in application code. ★ 41,024repo stars laravel-php-83-cursorrules-prompt-file A Cursor rule that walks the agent through building Laravel packages: plan, directory layout, naming standards, tests and docs. ★ 41,024repo stars landing-page-image-quality-cursorrules-prompt-file Stops Cursor from injecting placeholder image URLs into user-facing pages, requiring real project assets, fixed dimensions, and valid alt attributes. ★ 41,024repo stars kubernetes-mkdocs-documentation-cursorrules-prompt A Cursor rule that turns the agent into a technical writer for Kubernetes and cloud native docs built with Markdown and MkDocs. ★ 41,024repo stars kotlin-springboot-best-practices-cursorrules-prompt-file A Cursor rule for Kotlin and Spring Boot projects. It enforces layered package structure, constructor injection, and idiomatic Kotlin conventions. ★ 41,024repo stars kotlin-ktor-development-cursorrules-prompt-file This Cursor rule guides Kotlin projects built with Ktor. Use it when shaping API layers, feature folders, error handling, and tests. ★ 41,024repo stars knative-istio-typesense-gpu-cursorrules-prompt-fil A Cursor rule that turns the assistant into a helper for serverless projects built on Knative with Istio, Typesense and HTMX. Useful when your search app runs on that stack. ★ 41,024repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor