๐Ÿงœโ€โ™€๏ธ 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:

LanguageFormattingLintingType CheckingFixing
๐Ÿฆ€ Rustrustfmtclippy-clippy --fix
๐Ÿ Pythonblack, ruff formatpylint, ruff checkmypyruff --fix
๐ŸŒ JavaScriptprettiereslint-eslint --fix
๐Ÿ“˜ TypeScriptprettiereslint-eslint --fix
๐Ÿ–ฅ๏ธ HTML/Templatesdjlintdjlint-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.

View on GitHub