small-rules
small-rules
100 source-backed rules for React Luau, Ianitor lifecycle, Roblox UI conventions, and TypeScript quality.
{
"jsPlugins": ["@pobammer-ts/small-rules"],
"rules": {
"small-rules/ban-react-fc": "error",
"small-rules/no-print": "error",
"small-rules/prefer-early-return": "warn"
}
}I made these rules for the roblox-ts problems I keep seeing in real code, with fixes for the repetitive cleanup that does not need a review comment.
- 100rules
- 27fixable
- 4categories
- nativeoxlint plugin
Start here
Start with the part you need
Install the plugin, copy a small config, then browse the rule pages when you want to tighten a particular part of the codebase.
Choose which rules should block CI and which ones should stay advisory while you try them out.
→3ChangelogCheck rule additions and behavior changes before you upgrade.→Browse
Pick the part of the codebase you want to harden
The catalog builds these counts from the current rule metadata, so the numbers have somewhere to go when the plugin changes.
React Rules
32Rules for React Luau components, hooks, and JSX patterns.
Browse rulesRoblox & Luau Rules
25Rules for Roblox instances, Ianitor, Color3, UDim2, and other Roblox APIs.
Browse rulesNaming & Conventions
8Rules for naming conventions, type style, and file naming.
Browse rulesGeneral Logic & Style
35Rules for code quality, control flow, and common pitfalls.
Browse rulesWhy it exists
Rules for the gaps I care about
Oxlint handles the general linting work. I use this plugin for roblox-ts APIs, React Luau patterns, Ianitor lifecycle code, and the repeated mistakes that are specific to those ecosystems.
Oxlint-native
Uses the oxlint plugin API directly, so these rules run in oxlint instead of going through an ESLint compatibility layer.
Roblox-aware
Checks React Luau patterns, Ianitor lifecycle code, UI conventions, and Roblox APIs that a general TypeScript linter cannot know about.
Fixes where they help
27 rules currently have fixes or fixer suggestions for cleanup that is usually mechanical.
Give the review comments somewhere else to go.
Pick the rules that match your standards and let oxlint catch the mechanical stuff before it reaches review.