๐งโโ๏ธ 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.