Siren

RustCargoClippyPythonJavaScriptTypeScriptHTMLdjlintESLintPrettierRuffMypy

🌟 Project Overview

Siren is your stylish companion for maintaining impeccable code quality across multiple languages. Inspired by mythological sirens, it draws developers in with vibrant, intuitive interfaces, smart defaults, and delightful user experiencesβ€”making code quality irresistible.

πŸš€ Key Features

  • 🌈 Multi-language Magic: Seamlessly supports Rust, Python, JavaScript, TypeScript, and HTML/Templates.
  • πŸ” Smart Detection: Automatically identifies project languages and frameworks.
  • πŸ§™β€β™€οΈ Intelligent Tooling: Picks the perfect linters and formatters tailored to your project.
  • πŸ’… Gorgeous Output: Vibrant, colorful terminal experiences that make linting delightful.
  • ⚑ Blazing Performance: Built with Rust for lightning-fast execution.
  • πŸ”§ Auto-fixing Spells: Automatically resolves common issues, saving you precious time.
  • πŸ”„ Git Integration: Focuses on recently modified files for efficient workflows.
  • πŸ“Š Interactive Progress: Live-updating spinners and stylish progress indicators.

πŸ› οΈ Technical Stack & Architecture

Siren is crafted with Rust, leveraging Cargo for dependency management and Clippy for linting. It integrates seamlessly with popular tools across multiple languages:

Language

Formatting

Linting

Type Checking

Fixing

πŸ¦€ Rust

rustfmt

clippy

clippy --fix

🐍 Python

black, ruff format

pylint, ruff check

mypy

ruff --fix

🌐 JavaScript

prettier

eslint

eslint --fix

πŸ“˜ TypeScript

prettier

eslint

eslint --fix

πŸ–₯️ HTML/Templates

djlint

djlint

djlint --reformat

πŸ“ˆ Development Status & Roadmap

Siren is actively evolving, with core features already enchanting developers:

  • βœ… Core Architecture & CLI: Fully operational and intuitive.
  • βœ… Tool Registry & Plugin System: Robust and extensible.
  • βœ… Language Support: Rust, Python, HTML fully supported; JavaScript/TypeScript nearly complete.
  • πŸ”„ Advanced Reporting & Output: Enhanced HTML reports and GitHub annotations in progress.
  • πŸ”„ Configuration Management: Smart defaults implemented; advanced configuration merging underway.
  • πŸ”„ Performance Optimizations: Parallel execution implemented; caching and incremental checking coming soon.

Upcoming priorities include comprehensive documentation, enhanced testing, and expanded language support (CSS, Go, Ruby, Markdown). A GitHub actions is coming soon to make it trivial to use Siren in your CI workflows.