An MCP server and CLI that catches CSS cascade conflicts and Tailwind utility clashes before they ship — built for AI coding agents and CI workflows.
- Detects duplicate CSS declarations and dead rules from specificity conflicts
- Flags silent style overrides that may be accidental
- Finds conflicting Tailwind utilities (padding, margin, background, shadow, opacity, border, ring, etc.)
- Understands
cn(),clsx(), andtwMerge()call expressions, not just plainclassNamestrings - Returns structured agent-friendly reports with
confidence,riskScore, andnextStep
npm install -g stylesafe
stylesafe src/components/Button.jsx
stylesafe --changed --fail-on-issues
stylesafe --projectRoot src
stylesafe --watch src{
"mcpServers": {
"stylesafe": {
"command": "node",
"args": ["/absolute/path/to/server.js"]
}
}
}stylesafe examples/tailwind-conflict.jsxReturns a structured report:
{
"totalIssues": 5,
"riskScore": 275,
"averageRiskScore": 55,
"riskLevel": "medium",
"passed": true,
"clean": false,
"files": [
{
"filename": "examples/tailwind-conflict.jsx",
"issues": [
{
"type": "tailwind-conflict",
"category": "padding",
"classes": ["p-4", "px-8"],
"confidence": "medium",
"riskScore": 55,
"nextStep": "Choose one utility from the conflicting set or split the classes by scope.",
"requiresUserConfirmation": true
}
]
}
]
}passed: true means no hard errors. clean: true means zero issues of any kind.
- AI code generation: Catch style bugs before the agent commits changes
- PR gate: Block merged changes that introduce cascade conflicts or utility clashes
- Agent workflows: Integrate as a confirmation step in multi-turn coding tasks
- Style audits: Run across a project to find existing issues
stylesafe <file>— analyze a single filestylesafe <dir>— analyze a directory recursivelystylesafe --projectRoot <dir>— same as abovestylesafe --changed— analyze git-changed files (for PR/CI)stylesafe --changed --fail-on-issues— exit with code 1 if any issues foundstylesafe --watch src— re-run on every file changenpm test— run regression tests
Place a .styleintegrityrc file in your project root:
{
"ignore": ["dist", "*.min.css"],
"failOn": ["error", "warning"]
}Add to .github/workflows/style-check.yml:
name: stylesafe
on:
pull_request:
push:
branches: [main]
jobs:
stylesafe:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm install
- run: node server.js --changed --fail-on-issues