Cursor rules · apache/superset
1 Cursor rule file from apache/superset: dev-standard.
Template by apache
Install
Works with Cursor. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/apache/superset/master/.cursor/rules -o rules
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
Cursor project rules (.cursor/rules/*.mdc): instructions Cursor applies when it edits matching files.
- For
- Cursor
- File
.cursor/rules/dev-standard.mdc
First lines (shown under the repo's Apache-2.0 license)
--- description: Apache Superset development standards and guidelines for Cursor IDE globs: ["**/*.py", "**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "**/*.sql", "**/*.md"] alwaysApply: true --- # Apache Superset Development Standards for Cursor IDE Apache Superset is a data visualization platform with Flask/Python backend and React/TypeScript frontend. ## ⚠️ CRITICAL: Ongoing Refactors (What NOT to Do) **These migrations are actively happening - avoid deprecated patterns:** ### Frontend Modernization - **NO `any` types** - Use proper TypeScript types - **NO JavaScript files** - Convert to TypeScript (.ts/.tsx) - **NO Enzyme** - Use React Testing Library/Jest (Enzyme fully removed) - **Use @superset-ui/core** - Don't import Ant Design directly ### Testing Strategy Migration - **Prefer unit tests** over integration tests - **Prefer integration tests** over end-to-end tests - **Use Playwright for E2E tests** - Cypress has been removed - **Use Jest + React Testing Library** for component testing ### Backend Type Safety - **Add type hints** - All new Python code needs proper typing - **MyPy compliance** - Run `pre-commit run mypy` to validate - **SQLAlchemy typing** - Use proper model annotations ## Code Standards ### TypeScript Frontend - **NO `any` types** - Use proper TypeScript - **Functional components** with hooks - **@superset-ui/core** for UI components (not direct antd) - **Jest** for testing (NO Enzyme) - **Redux** for global state, hooks for local ### Python Backend - **Type hints required** for all new code - **MyPy compliant** - run `pre-commit run mypy` - **SQLAlchemy models** with proper typing - **pytest** for testing ### Apache License Headers - **New files require ASF license headers** - When creating new code files, include the standard Apache Software Foundation license header - **LLM instruction files are excluded** - Files like LLMS.md, CLAUDE.md, etc. are in `.rat-excludes` to avoid header token overhead ## Key Directory Structure ``` superset/ ├── superset/ # Python backend (Flask, SQLAlchemy) │ ├── views/api/ # REST API endpoints │ ├── models/ # Database models │ └── connectors/ # Database connections ├── superset-frontend/src/ # React TypeScript frontend │ ├── components/ # Reusable components │ ├── explore/ # Chart builder │ ├── dashboard/ # Dashboard interface │ └── SqlLab/ # SQL editor ├── superset-frontend/packages/ │ └── superset-ui-core/ # UI component library (USE THIS) ├── tests/ # Python/integration tests ├── docs/ # Documentation (UPDATE FOR CHANGES) └── UPDATING.md # Breaking changes log ``` ## Architecture Patterns ### Dataset-Centric Approach Charts built from enriched datasets containing: - Dimension columns with labels/descriptions - Predefined metrics as SQL expressions - Self-service analytics within defined contexts ### Security & Features - **RBAC**: Role-based access via Flask-AppBuilder - **Feature flags**: Control feature rollouts - **Row-level security**: SQL-based data access control ## Test Utilities ### Python Test Helpers - **`SupersetTestCase`** - Base class in `tests/integration_tests/base_tests.py` - **`@with_config`** - Config mocking decorator - **`@with_feature_flags`** - Feature flag testing - **`login_as()`, `login_as_admin()`** - Authentication helpers - **`create_dashboard()`, `create_slice()`** - Data setup utilities ### TypeScript Test Helpers - **`superset-frontend/spec/helpers/testing-library.tsx`** - Custom render() with providers - **`createWrapper()`** - Redux/Router/Theme wrapper - **`selectOption()`** - Select component helper - **React Testing Library** - NO Enzyme (removed) ## Pre-commit Validation **Use pre-commit hooks for quality validation:** ```bash # Install hooks pre-commit install # Quick validation (faster than --all-files) pre-commit run # Staged files only pre-commit run mypy # Python type checking pre-commit run format # Code formatting pre-commit run eslint # Frontend linting ``` ## Development Guidelines - **Documentation**: Update docs/ for any user-facing changes - **Breaking Changes**: Add to UPDATING.md - **Docstrings**: Required for new functions/classes - **Follow existing patterns**: Mimic code style, use existing libraries and utilities - **Type Safety**: This codebase is actively modernizing toward full TypeScript and type safety - **Always run `pre-commit run`** to validate changes before committing --- **Note**: This codebase is actively modernizing toward full TypeScript and type safety. Always run `pre-commit run` to validate changes. Follow the ongoing refactors section to avoid deprecated patterns.
Signals
- Stars
- 75,287
- Forks
- 18,517
- Open issues
- 166
- Last commit (this folder)
- Oct 1, 2026 (27 days ago)
- Last release
- May 13, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/apache/superset
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from apache
- 0.741score
AGENTS.md · apache/superset
apache
AGENTS.md from apache/superset: 317 lines covering Run Pre-commit Before Pushing, ⚠️ CRITICAL: Ongoing Refactors (What NOT to Do), Security and Threat Model…
TemplateAFreshness: A★ 75.3KCodex +5 - 0.728score
AGENTS.md · apache/airflow
apache
AGENTS.md from apache/airflow: 252 lines covering Naming, Environment Setup, Commands, Repository Structure and more.
TemplateAFreshness: A★ 47.3KCodex +5 - 0.672score
maka
apache
Apache-licensed agent workspace that keeps an append-only event log of every model and tool action.
AgentAFreshness: A★ 5.9K - 0.671score
AGENTS.md · apache/tvm
apache
AGENTS.md from apache/tvm: 101 lines covering Repository Overview, Repository Structure, Build, Test And Lint and more.
TemplateAFreshness: A★ 13.9KCodex +5 - 0.646score
AGENTS.md · apache/echarts
apache
AGENTS.md from apache/echarts: 83 lines covering Overview, Contributor Docs, Project Layout, Source And Generated Files and more.
TemplateCFreshness: C★ 67.6KCodex +5
Cite this page
Cursor rules · apache/superset. Agent Mart. https://agentmart.dev/templates/apache-superset-cursor-rules (last updated 2026-10-24)