Home Teams Contribution standards Contribution standards
How to contribute to LSCSS projects
Good CSS contribution rules are not about control. They protect
delivery speed, reduce regressions, and stop one rushed fix from
becoming next quarter's repeated maintenance issue.
Start first Core rules Pull requests Definition of done Immediate rejects Good examples Ask this first Ask first: Are you improving the system,
or only solving today's ticket?
Good contributions reduce future work.
Poorly scoped ones increase future maintenance.
Shipping quickly matters. Shipping confusion faster does not.
Contributions should leave the system easier to work with.
Core contribution rules Choose ownership before writing selectors. Prefer layers over specificity escalation. Use tokens before inventing new values. Name components semantically, not visually. Use utilities rarely and deliberately. Move urgent fixes into hacks, then remove them. Pull request review questions Does this belong in settings, base, utilities, layout, components, theme, legacy, or hacks? Is this state or a reusable modifier? Why is specificity increasing here? Why is this a utility instead of a component? Will someone understand this safely in six months?
Review the pattern, not the person. Architecture survives better that way.
Definition of done
A change counts as done when all of the following are true:
Correct layer chosen Tokens used instead of random values State and modifiers are clear No accidental utility architecture Hacks are documented and temporary Overrides stay predictable
Done means maintainable, not merely passing visual inspection today.
Things rejected immediately New !important without strong justification Deep selectors solving ownership problems Utility stacks replacing obvious components Magic numbers with no token reason State disguised as permanent modifiers Legacy CSS copied into new files without challenge
Fast rejection is kinder than slow technical debt.
What good looks like
A good contribution often looks boring.
small, predictable selectors clear ownership obvious state naming token consistency less explanation needed in review comments
Calm CSS is usually good CSS.