The blazing-fast, zero-dependency, highly extensible UI architecture and code quality tool.
Aura-Lint is not just a linter; it's a structural enforcer and an autonomous code fixer. It catches Tailwind CSS magic numbers, prevents architectural anti-patterns, maps your custom design system dynamically, and provides a stunning, interactive CLI experience.
- Zero Dependencies: Ultra-lightweight. No
node_modulesblack holes. It runs entirely on native Node.js capabilities. - Autonomous Auto-Fix Engine: It doesn't just complain; it fixes. Hit
--fixand watch it automatically replace magic numbers and hardcoded colors with your semantic theme variables. - Dynamic Theme Mapping: Link your CSS file (
--theme app.css), and the engine will autonomously learn your design system's variables and suggest them instantly. - Extensible Plugin Architecture: Write your own JavaScript linting rules in a local
.auralint/pluginsdirectory. The engine will merge them on the fly. - 100% Internationalized (i18n): Native support for English (
-en), Turkish (-tr), Azerbaijani (-az), and Georgian (-ka). Write your own locales easily! - Interactive Dashed UI: A beautiful, dynamically sizing terminal UI that presents violations and fix receipts like a sleek, professional invoice.
- Native Update Notifier: Checks for NPM updates asynchronously without blocking your terminal, alerting you elegantly when a new version is released.
You can run Aura-Lint directly via npx without clogging your system:
# Basic scan (English default)
npx aura-lint src/
# Auto-Fix mode with Turkish output and dynamic theming
npx aura-lint -f -tr --fix --theme src/styles/app.css src/For professional workflows, install it as a dev dependency:
npm install -D aura-lintAdd it to your package.json scripts:
"scripts": {
"lint:ui": "aura-lint -f --fix src/"
}| Flag | Description |
|---|---|
--fix |
Auto-Fix Mode: Prompts to autonomously fix all detected violations. |
--theme <path> |
Theme Map: Provide the path to your CSS file so the engine can learn your semantic colors. |
-f |
Detailed Mode: Shows the exact violating code snippet and the suggestion block. |
-l |
Link Mode: Generates a clickable file path (src/App.svelte:42) to jump straight to the code in your IDE. |
-en / -tr / -az / -ka |
Switches the terminal UI output language instantly. |
The first time you run Aura-Lint in a project, it acts like magic. It autonomously scaffolds a configuration system in your root directory:
your-project/
├── auralint.json <-- The Command Center
└── .auralint/ <-- The Extensibility Folder
├── locales/ <-- Add custom translation JSONs here
└── plugins/ <-- Add custom rule JS files here
Manage your project-specific rules, set your default theme path, and inject custom color mappings without touching CLI arguments.
{
"theme_path": "src/app.css",
"hex_to_tailwind_map": {
"#2b7fff": "blue-500",
"#d01111": "kurax-danger"
},
"static_rules": {
"must_not_have": [
{
"id": "no_rounded_corners",
"pattern": "rounded-(sm|md|lg|xl|2xl|3xl|full)",
"errorMsg": "ARCHITECTURE: Rounded corners are forbidden. Use sharp edges."
}
],
"must_have": []
},
"plugin_rules": []
}Need a rule specific to your company? Create my-rule.js inside .auralint/plugins/. The core engine will dynamically load it, inject the theme context, and apply your custom fix() algorithms alongside the core rules.
Want Aura-Lint to speak French or Japanese? Drop an fr.json into .auralint/locales/ and run aura-lint -fr src/. The engine prioritizes user workspace files over its own factory settings.
We believe in strict architectural standards. Pull requests are welcome! We use a main (production) and develop (testing) branch workflow. Please submit all PRs to the develop branch. For major architectural changes, please open an issue first to discuss your ideas.
MIT