Siren
π 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.