RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/Copilot instructions/supabase/supabase

Copilot instructions

.github/instructions/studio-shortcuts.instructions.md
Copilot instructions

Quality

61/100

Scores the file, not the repository.

Length

394 words

5 headings · 1 code blocks

Repository

108k

— · pushed 0 days ago

Last changed

3 days ago

First indexed 3 days ago.
supabase/supabase/.github/instructions/studio-shortcuts.instructions.mdRawGitHub
1---
2applyTo: 'apps/studio/**'
3---
4 
5# Studio Shortcut Review Rules
6 
7All comments are **advisory**.
8 
9## Core Principle
10 
11When Studio UI changes introduce or materially alter repeated user actions, consider whether keyboard shortcut coverage should be added or updated. Shortcuts should use the shared Studio shortcut system and be discoverable from the visible UI.
12 
13## When to Flag
14 
15- PR adds a primary repeated action, toolbar action, list/table operation, or sub-page navigation without considering shortcut coverage.
16- PR adds a one-off `keydown` listener for a normal Studio action instead of using the shortcut registry and `useShortcut`.
17- PR registers a shortcut but does not expose it via `ShortcutTooltip`, `ShortcutBadge`, or command-menu badge where the action is visible.
18- PR uses `G then ...` for a non-navigation action.
19- PR adds a broad `Mod+letter` shortcut that overlaps common browser, editor, system, copy/save/search, or devtools behaviour.
20- PR adds a shortcut without checking existing registry and non-registry listeners for collisions.
21- PR adds a search/filter `<Input>` without `onKeyDown={onSearchInputEscape(...)}` — see **Search Inputs** below.
22 
23## Preferred Pattern
24 
25- Add definitions in `apps/studio/state/shortcuts/registry.ts` or `apps/studio/state/shortcuts/registry/*`.
26- Register with `useShortcut`.
27- Gate availability with `enabled`.
28- Surface visible actions with `ShortcutTooltip` or `ShortcutBadge`.
29- Prefer scoped, mnemonic sequential chords over global modifier chords.
30- Set `showInSettings: false` on contextual shortcuts (scoped to a specific page state, sheet, or panel).
31- When a shortcut group should appear in the reference sheet (`Mod+/`), add the group key to `SHORTCUT_REFERENCE_GROUP_ORDER` in `apps/studio/state/shortcuts/referenceGroups.ts` and a human label to `GROUP_LABELS` in `ShortcutsReferenceSheet.tsx`.
32- For sheet-scoped shortcuts (active only while a `<Sheet>` is open), mount `useShortcut` inside the sheet component gated by the `open` prop — see `apps/studio/components/interfaces/ConnectSheet/useConnectSheetShortcut.ts` as the canonical example.
33 
34## Search Inputs
35 
36Every `<Input>` used as a search or filter field must include the staged-Escape handler from `apps/studio/lib/keyboard.ts`:
37 
38```tsx
39import { onSearchInputEscape } from '@/lib/keyboard'
40 
41;<Input
42 value={query}
43 onChange={(e) => setQuery(e.target.value)}
44 onKeyDown={onSearchInputEscape(query, setQuery)}
45/>
46```
47 
48Behaviour:
49 
50- **Escape while the input has a value** → clears the value, keeps focus (so a second Escape then blurs)
51- **Escape while the input is empty** → blurs the input
52- Stops propagation on Escape so the keystroke does not accidentally close a parent dialog or sheet
53 
54When pairing with `useShortcut(LIST_PAGE_FOCUS_SEARCH, ...)` to focus a search input via keyboard, always also add `onSearchInputEscape` on the same input — focus and escape-to-blur are always a pair.
55 
56Canonical implementation context: `apps/studio/state/shortcuts/registry.ts`, `apps/studio/state/shortcuts/useShortcut.tsx`, and `apps/studio/components/ui/Shortcut*.tsx`
57 

Sections

  • Studio Shortcut Review Rules
  • Core Principle
  • When to Flag
  • Preferred Pattern
  • Search Inputs

What it covers

code-stylegit-prdo-not

Stack — with the evidence

typescript

(1.00)

node

(1.00)

nextjs

(1.00)

supabase

(1.00)

postgres

(0.90)

react

(0.70)

vue

(0.70)

nuxt

(0.70)

tailwind

(0.70)

vite

(0.70)

vitest

(0.70)

playwright

(0.70)

vercel

(0.70)

aws

(0.70)

javascript

(0.60)

swift

(0.60)

jupyter

(0.60)

monorepo

(0.60)

pnpm

(0.60)

github-actions

(0.60)

python

(0.50)

Glob targeting

  • apps/studio/**

Format

Copilot instructions

Two layers: one always-on repo file, plus optional glob-scoped instruction files. Lives under .github/ rather than the repo root, which is the tell that it is aimed at the GitHub platform surface as much as the editor.

What the corpus says about it

Repository

Owner
supabase
Language
—
License
—
Archived
no

All configs in this repo

Also in supabase/supabase

Diff this repo’s formats

One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?

The other instruction files in this repository
RepositoryFormatStackCoversScoreChanged
supabase/supabase.claude/CLAUDE.md · 108kCLAUDE.mdtypescriptnode+19testlint-formatstylearch+197/1003 days ago
supabase/supabase.claude/skills/vercel-composition-patterns/AGENTS.md · 108kAGENTS.mdtypescriptnode+19styleapiuido-not45/1003 days ago
supabase/supabase.github/copilot-instructions.md · 108kCopilot instructionstypescriptnode+19lint-formatstylegitagent-behaviour56/1003 days ago
supabase/supabase.github/instructions/studio-composition-patterns.instructions.md · 108kCopilot instructionstypescriptnode+19stylegitapiui+161/1003 days ago
supabase/supabase.github/instructions/studio-copy.instructions.md · 108kCopilot instructionstypescriptnode+19uiagent-behaviourdocs25/1003 days ago
supabase/supabase.github/instructions/studio-e2e-tests.instructions.md · 108kCopilot instructionstypescriptnode+19teststyletesting-strategygit+260/1003 days ago
supabase/supabase.github/instructions/studio-error-handling.instructions.md · 108kCopilot instructionstypescriptnode+19gitdo-not57/1003 days ago
supabase/supabase.github/instructions/studio-shadcn-components.instructions.md · 108kCopilot instructionstypescriptnode+19gituido-not55/1003 days ago
supabase/supabase.github/instructions/studio-telemetry.instructions.md · 108kCopilot instructionstypescriptnode+19stylegitdo-notdocs65/1003 days ago
supabase/supabase.github/instructions/studio-testing.instructions.md · 108kCopilot instructionstypescriptnode+19testtypestesting-strategygit+155/1003 days ago
supabase/supabaseapps/studio/CLAUDE.md · 108kCLAUDE.mdtypescriptnode+21testlint-formatstyletesting-strategy+181/1003 days ago
Diff against .claude/CLAUDE.md Diff against .claude/skills/vercel-composition-patterns/AGENTS.md Diff against .github/copilot-instructions.md Diff against .github/instructions/studio-composition-patterns.instructions.md Diff against .github/instructions/studio-copy.instructions.md Diff against .github/instructions/studio-e2e-tests.instructions.md Diff against .github/instructions/studio-error-handling.instructions.md Diff against .github/instructions/studio-shadcn-components.instructions.md Diff against .github/instructions/studio-telemetry.instructions.md Diff against .github/instructions/studio-testing.instructions.md Diff against apps/studio/CLAUDE.md

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 63Copilot instructionstypescriptreact+7buildlint-formatstylearch+4100/1003 days ago
HerringtonDarkholme/megarepo.github/copilot-instructions.md · 17Copilot instructionsnodejavascriptsetupbuildtestlint-format+7100/1003 days ago
louislam/uptime-kuma.github/copilot-instructions.md · 90kCopilot instructionstypescriptjavascript+10setupbuildtestlint-format+9100/1003 days ago
JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 31kCopilot instructionstypescriptnode+7buildlint-formatstylearch+397/1002 days ago
bagisto/bagisto.github/copilot-instructions.md · 28kCopilot instructionsphplaravel+8setupbuildteststyle+597/1003 days ago
darkmatter/nixmac.github/copilot-instructions.md · 24Copilot instructionstypescriptrust+14setupbuildtestlint-format+896/1003 days ago
nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32Copilot instructionstypescriptnode+8setupbuildtestlint-format+1196/1003 days ago
thangaram611/second-brain.github/copilot-instructions.md · 0Copilot instructionstypescriptnode+12setupteststylearch+496/1003 days ago
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack