Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/apache/superset/dev-standardgit clone --depth 1 https://github.com/apache/supersetWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01147 | $0.01147 |
| Opus 5 | $0.00574 | $0.00574 |
| Sonnet 5 | $0.00229 | $0.00229 |
| Haiku 4.5 | $0.00115 | $0.00115 |
Grade A, and why
dev-standard scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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
anytypes - 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 Cypress end-to-end tests
- Cypress is last resort - Actively moving away from Cypress
- 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 mypyto validate - SQLAlchemy typing - Use proper model annotations
Code Standards
TypeScript Frontend
- NO
anytypes - 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-excludesto 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
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 126 lines · 1,147 tokens per session scan A 8efab98cf389
dev-standard is a cursor rule published in the GitHub repository apache/superset (74,542 stars, last pushed yesterday), licensed Apache-2.0. It adds 1,147 tokens to every session, about $0.0057 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
specs
This directory contains product and tech specs for Streamlit features.
workflows
This folder contains all GitHub Actions workflows for the Streamlit repository. Workflows automate CI/CD, testing, releases, and maintenance tasks.
python_tests
We use the unit tests to cover internal behavior that can work without the web / backend counterpart. We aim for 95%+ unit test coverage of our Python code in lib/streamlit.
skills
This file provides guidance to AI coding agents (Claude Code, Cursor, Copilot, etc.) when working with skills in this repository.
e2e_playwright
We use playwright with pytest to e2e test Streamlit library. E2E tests verify the complete Streamlit system (frontend, backend, communication, state, visual appearance) from a user's perspective (black-box). They complement Python/JS unit tests, which are faster and focus on internal logic, input/output validation…
embedded_skills
Skills under lib/streamlit/.agents/skills/ ship with the library and load from the user's installed Streamlit, so keep them current as features evolve. developing-with-streamlit uses SKILL.md for routing and references/ for topic files. Follow these conventions when adding or editing guidance.