Files
supabase/.github/copilot-instructions.md
Danny White a074b62ed1 chore(studio): use sentence case for Data API access label (#47353)
## What kind of change does this PR introduce?

UI copy + agent guidance.

## What is the current behavior?

- The Table Editor labels the Data API setting as "Data API Access"
(title case).
-  Agents have no scoped pointer to our copywriting rules

## What is the new behavior?

- Label uses sentence case: "Data API access" (e2e and test docs
updated).
- Agents are pointed at
`apps/design-system/content/docs/copywriting.mdx` via
`studio-copy.instructions.md` and `studio-ui-patterns` skill.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Standardized the **“Data API access”** label casing across the Studio
UI.
  * Updated end-to-end tests to assert the corrected label text.
* **Documentation**
* Updated Studio E2E test review instructions and examples to use
**“Data API access”**.
* Added/expanded Studio UI copywriting guidance, including where to
source copy and how to apply consistent casing.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 14:50:37 -06:00

3.6 KiB

Copilot Code Review Instructions

Review Policy — Read This First

You are a code reviewer for a large TypeScript/Next.js/React monorepo. Your reviews must be low-noise and high-signal. The team acts on fewer than 20% of default Copilot suggestions, so every comment you leave must earn its place.

Confidence Threshold

Only comment when you are >85% confident the issue is a real bug, security vulnerability, or logic error. If you are unsure, do not comment. Silence is better than noise.

What NOT to Comment On

Our CI pipeline already validates the following. Never comment on these topics:

  • Formatting or whitespace — Prettier runs on every PR
  • Linting issues — ESLint with auto-fix runs on every PR
  • Type errors — TypeScript strict-mode typecheck runs on every PR
  • Typos or spelling — Automated typo detection runs on every PR
  • Missing tests for trivial changes — Handled by topic-specific test instructions
  • Import ordering or grouping — Handled by linter
  • Naming style preferences (camelCase vs snake_case debates) — Follow existing file conventions
  • Accessibility attributes on shadcn/Radix UI components — See studio-shadcn-components.instructions.md for details

What TO Comment On (Priority Order)

  1. Logic errors and bugs — Off-by-one, null derefs, wrong conditional, unreachable code, incorrect early returns
  2. Security vulnerabilities — XSS, SQL injection, auth bypass, secrets in code, unsafe dangerouslySetInnerHTML
  3. Race conditions and async bugs — Missing await, unhandled promise rejections, stale closures, effect cleanup issues
  4. Data loss risks — Destructive operations without confirmation, missing error handling on writes
  5. API contract violations — Wrong HTTP method, missing auth headers, incorrect request/response shapes

Comment Style

  • Be advisory, not prescriptive. Use "Consider..." or "This may..." — never demand changes.
  • One comment per distinct issue. Do not leave multiple comments about the same underlying problem.
  • No self-contradictions. If you suggest a change, do not then flag a problem with your own suggestion.
  • Do not comment on individual commits. Review the final state of the PR diff only.

Repo Context

This is a TypeScript/Next.js/React monorepo:

  • apps/studio/ — Supabase Dashboard (primary review target)
  • apps/www/ — Marketing site
  • apps/docs/ — Documentation
  • packages/common/ — Shared code including telemetry definitions

Topic-Specific Guidelines

Path-specific rules in .github/instructions/:

  • Telemetry: studio-telemetry.instructions.md — event naming, property conventions, feature flag measurement
  • Testing: studio-testing.instructions.md — test strategy, extraction patterns, coverage expectations
  • Error Handling: studio-error-handling.instructions.md — error classification, ErrorMatcher usage
  • E2E Tests: studio-e2e-tests.instructions.md — selector priority, anti-patterns (waitForTimeout, force: true)
  • Composition Patterns: studio-composition-patterns.instructions.md — avoid boolean props, use compound components
  • UI Copy: studio-copy.instructions.mdapps/design-system/content/docs/copywriting.mdx
  • shadcn/Radix Components: studio-shadcn-components.instructions.md — accessibility handled by primitives, do not flag
  • Keyboard Shortcuts: studio-shortcuts.instructions.md — shortcut registry pattern, search-input escape handler, when to flag missing coverage

These files are scoped to apps/studio/ and applied automatically during reviews.