CognitiveLint detects cognitive friction in React applications. 17 rules. 6 UX dimensions. Catches human bugs before your users do.
Teams have ESLint for correctness, Lighthouse for performance, axe for accessibility, Snyk for security. Nobody was measuring cognitive UX — until now.
Every rule is grounded in UX research — Miller's Law, Nielsen's heuristics, and cognitive load theory. Each finding reduces your overall UX score.
No runtime instrumentation. No user data. Pure static analysis on your JSX/TSX source.
One package. No peer dependencies to wrangle. Works with any React project.
Run against your src directory. Analyzes JSX/TSX AST without touching your runtime.
Gate CI on a minimum score or max finding count. Fails with exit code 1 on breach.
Weighted 0–100 score with letter grades. Severity deductions are modulated by rule confidence scores for accurate signal.
SARIF output integrates with GitHub Code Scanning. Findings appear as inline PR annotations — no dashboard required.
name: CognitiveLint
on: [push, pull_request]
jobs:
cognitive-ux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @cognitivelint/cli scan \
--format sarif \
--output report.sarif \
--min-score 80
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: report.sarif
// cognitivelint.config.js
export default {
include: ['src/**/*.tsx', 'src/**/*.jsx'],
exclude: ['**/*.test.*', '**/*.stories.*'],
rules: {
'error-prevention/destructive-no-confirm': 'error',
'feedback/missing-loading-state': { severity: 'critical' },
'cognitive-load/long-forms': { options: { maxFields: 7 } },
},
minScore: 80,
maxFindings: 20,
};
Add cognitive UX analysis to your pipeline in minutes. Catch human bugs the same way you catch code bugs.