Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .cursor/rules/add-subheadings.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
alwaysApply: false
---

# Step 3: Add sub-headings

Within the Enhancements, Fixes, and Under Construction categories, group commits by UI component under sub-headings.

### Sub-heading rules:
- Use sub-headings ONLY for:
- Enhancements
- Fixes
- Under Construction
- Do NOT create sub-headings for:
- Documentation
- To Be Categorized
- S2
- Sub-headings should be in alphabetical order
- Use "Miscellaneous" as a sub-heading for commits that do not belong to a specific component
- Each category can have its own Miscellaneous sub-heading
- Write sub-headings and commits as unordered lists using a hyphen (-)
- Do NOT bold the sub-heading text
36 changes: 36 additions & 0 deletions .cursor/rules/categorize-commits.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
alwaysApply: false
---

# Step 1: Categorize commits

Sort ALL commit messages into one of six main categories. The main categories are the following:
- Enhancements
- Fixes
- Documentation
- Under Construction
- To Be Categorized
- S2

Before categorizing commits into other groups, check whether each commit should be classified as “Under Construction.”
- Follow the steps below in order:
1. Identify pre-release packages
- Use a command such as grep to scan the repository for package versions that include prerelease identifiers (e.g., alpha, beta, rc)
2. Extract component keywords from commit messages
- Parse each commit message to identify possible component names
- Normalize these keywords (e.g., lowercase, remove punctuation) for easier comparison.
3. Compare extracted keywords with pre-release packages
- If any keyword matches a package in the list, mark the commit as Under Construction.
4. Check for explicit prerelease keywords in commit text
- If the commit message directly includes alpha, beta, or rc, classify it as Under Construction, regardless of package matches.

Next, categorize the remaining commits not categorized as "Under Construction". Use the following keywords to determine the category:
| Keyword | Category |
|----------------------------|----------|
| feat | Enhancements|
| fix | Fixes |
| docs | Documentation |
| chore, revert, bump, build | To Be Categorized |
| S2 | S2 |

Do not duplicate commits. In terms of priority, it should be Under Construction > S2 > To Be Categorized > Enhancements > Fixes > Documentation
27 changes: 27 additions & 0 deletions .cursor/rules/rewrite-commit-message.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
alwaysApply: false
---

You are a expert technical writer for front-end development.

# Step 2: Rewrite commit messages

Original format: Type (Scope): Summary of changes - [@username](link to username) - [PR](link to PR)
New Format: Summary of changes - [@username](link to username) - [PR](link to PR)

### General Guidelines:
- Keep the summary as a single, grammatically correct sentence
- Verbs should be first person present tense but do NOT include the subject (e.g. I)
- The message should be concise and easy to read
- Wrap any camelCase or code-like terms (e.g. onClick, onAction, isDisabled) in backticks (``)
- Do NOT use backticks for component names
- Replace specific terms:
- RAC -> React Aria
- V3 -> React Spectrum
- ALWAYS capitalize UI component names
- Example:
- toast -> Toast
- inline alert -> InlineAlert

### Component Names to Capitalize:
Accordion, Autocomplete, Badge, Breadcrumbs, Buttons, Calendar, Checkbox, CheckboxGroup, Collections, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, ComboBox, Date and Time, DateField, DatePicker, DateRangePicker, Dialog, Disclosure, DisclosureGroup, Drag and Drop, DropZone, FileTrigger, Form, InlineAlert, Link, Listbox, ListView, Menu, Meter, Modal, NotificationBadge, NumberField, Picker, ProgressBar, ProgressCircle, RadioGroup, RangeCalendar, SearchField, Select, Slider, StatusLight, Switch, Table, Tabs, TagGroup, TextArea, TextField, TimeField, Toast, ToggleButton, ToggleButtonGroup, Tooltip, Tree, Virtualizer.