Skip to content

modoldern/aura-lint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Aura-Lint

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.

🚀 Why Aura-Lint?

  • Zero Dependencies: Ultra-lightweight. No node_modules black holes. It runs entirely on native Node.js capabilities.
  • Autonomous Auto-Fix Engine: It doesn't just complain; it fixes. Hit --fix and 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/plugins directory. 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.

📦 Installation & Usage

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/

🛠 Local Project Pipeline

For professional workflows, install it as a dev dependency:

npm install -D aura-lint

Add it to your package.json scripts:

"scripts": {
  "lint:ui": "aura-lint -f --fix src/"
}

🚩 CLI Flags

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 .auralint Ecosystem (Extensibility)

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

1. The Command Center (auralint.json)

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": []
}

2. Custom Plugins

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.

3. Custom Languages

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.


🤝 Contributing

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.

📄 License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors