30 open-source projects similar to rust-lang-nursery/rustfmt, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Rustfmt alternative.
google-java-format is a Java code formatter and style enforcement tool. It reformats Java source code to adhere to a standardized style guide, ensuring consistent layout and indentation across entire projects or individual files. The project functions as a build pipeline linting tool for continuous integration workflows and as an IDE formatting plugin to replace native editor formatting. It can be embedded as a formatting library within code generation software to ensure machine-written output remains human-readable. The tool provides capabilities for reorganizing source code indentation and
This project is a static analysis linter, code quality tool, and language auditor for Rust. It functions as an automated refactoring system designed to identify common mistakes and suggest idiomatic improvements for Rust source code. The tool identifies non-idiomatic patterns, performance bottlenecks, and code smells to improve the overall correctness and quality of the code. It specifically audits memory safety by flagging suspicious use of unsafe blocks and pointer manipulations and detects inefficient operations to optimize execution speed. The analysis surface covers coding style enforce
js-beautify is a web language beautifier and code formatter designed to standardize the layout and structure of JavaScript, HTML, and CSS files. It reorganizes source code into a consistent, readable style by applying configurable indentation and spacing rules. The project includes a utility for unpacking minified scripts, which transforms compressed or obfuscated JavaScript into a human-readable format. It provides a command-line interface for executing bulk code reformatting across multiple files. The tool supports customizable formatting rules and language-specific overrides, which can be
RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It identifies style violations, smells, and errors in source code to ensure consistency and maintainability based on community guidelines. The project provides automatic source code formatting to rewrite files according to defined stylistic standards. It also functions as a language server protocol implementation, surfacing violations and suggested fixes directly within code editors. The tool covers code complexity monitoring to track the size of classes and methods and employs non-inclusive language detection to
Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi
rustfmt is a Rust code formatter that operates as a Cargo subcommand, applying consistent formatting to Rust source files according to official style guidelines. It parses source code into a syntax tree, applies formatting rules to tree nodes, and pretty-prints the result back to text, with support for TOML-driven configuration that allows per-project style customization. The formatter is edition-aware, automatically selecting formatting rules based on the Rust edition specified in the project, and supports a style edition override that decouples formatting rules from the Rust edition used fo
SwiftFormat is a tool for the Swift language that functions as a code formatter, linter, and refactoring utility. It automatically applies consistent style rules and visual formatting to source files to ensure a uniform appearance across a project. The project differentiates itself by providing both a command-line interface for batch processing and an Xcode extension for integration directly into the development environment. It includes specialized capabilities for modernizing legacy API usage, simplifying language constructs, and inferring formatting options by analyzing an existing codebase
RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It detects style violations, potential bugs, and code smells by scanning source code without executing the program. The tool enforces a predefined Ruby style guide by flagging deviations and automatically rewriting source code to ensure consistency across projects. It includes a language server that provides real-time analysis and formatting suggestions directly within text editors.
gts provides standardized utilities for project bootstrapping and the application of consistent linting and formatting style guides. It functions as a TypeScript project bootstrapper that initializes new projects with standardized dependencies, build scripts, and compiler settings. The project implements a comprehensive TypeScript style guide consisting of a predefined collection of rules for static analysis and a code formatter that automatically adjusts source code spacing and syntax. These tools identify and fix code style violations to ensure uniformity across codebases. Additional capab
Semistandard is a static analysis tool and automated code formatter designed to enforce consistent JavaScript syntax and formatting standards across a codebase. It functions as a linter that identifies deviations from established style rules and provides automated corrections to resolve formatting errors without manual intervention. The tool is distinguished by its specific focus on semicolon usage, ensuring that all statements adhere to a uniform syntax standard. It provides comprehensive style management by verifying code against predefined rules and blocking non-compliant submissions withi
prettier-eslint is a command-line code stylist and JavaScript formatter that integrates Prettier and ESLint. It functions as a linter wrapper, coordinating a sequential pipeline of formatting and linting tasks to ensure source code is both aesthetically consistent and rule-compliant. The tool resolves conflicts between style guides and logic rules by executing linting fixes after formatting. It allows for a configurable formatting sequence to prioritize specific rules and can identify unformatted files to facilitate use in version control hooks. The project provides capabilities for automati
YAPF is a Python code formatter and style compliance tool. It operates as an AST-based reformatter that uses concrete syntax trees to ensure structural consistency and a uniform visual presentation across source files. The engine utilizes a penalty-based layout optimizer to determine the best line breaks by calculating numerical costs for different formatting choices. It employs a multi-process code processor to distribute the formatting of multiple files across several CPU cores. The tool covers source code reformatting through in-place file modifications, difference analysis, and the proce
This project is a comprehensive collection of Python programming education materials, including tutorials, exercises, and curated code samples. It serves as a learning curriculum and software engineering toolkit, utilizing Jupyter Notebooks to combine executable code with descriptive educational text. The repository provides practical implementation guides for building large language model applications, such as retrieval-augmented generation systems, stateful AI agents, and machine learning workflows. It distinguishes itself by offering a structured approach to agentic coding workflows, cover
k-vim is a configuration framework and development environment for the Vim text editor. It provides a set of pre-defined settings, keybinding profiles, and curated plugin suites designed to optimize the editor for various programming stacks. The framework distinguishes itself through language-specific profile grouping, which allows the editor to activate tailored sets of plugins and formatting rules based on the detected file type. It integrates a dedicated package management system to install, update, and organize these extensions. The environment covers broad capability areas including aut
This is a code formatter for Blade template files that standardizes indentation and spacing within the VS Code editor. It functions as a template formatter and HTML attribute sorter that cleans up syntax and layout based on custom or opinionated style rules. The tool differentiates itself by automatically organizing HTML attributes and sorting Tailwind CSS utility classes into a predictable order. It uses a JSON-configurable system to load project-specific rules and exclusion lists, enabling teams to synchronize code styles and prevent version control conflicts. Broad capabilities include ma
This project is a comprehensive, curated directory of high-quality libraries, tools, and educational resources for C and C++ development. It serves as an ecosystem discovery index, helping developers navigate the vast landscape of third-party components, frameworks, and technical documentation available for the language. The collection is distinguished by its focus on high-performance systems programming and technical mastery. It provides deep coverage of specialized domains including SIMD-accelerated data processing, compile-time template metaprogramming, and asynchronous event-driven archit
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
swift-format is a set of developer utilities for the Swift ecosystem designed for automated style enforcement, static analysis, and project-wide configuration management. It functions as a code formatter that rewrites source code to adhere to consistent style rules and as a linter that identifies style violations. The tool provides a system for defining and applying custom formatting rules through a configuration tool. This includes the ability to load settings from configuration files discovered in a directory hierarchy or to export default settings for user customization. Its capabilities
gofumpt is a Go language tool and source code formatter. It functions as an opinionated code styler that applies a strict and consistent visual style to Go source files to ensure a standardized appearance across a codebase. The tool enforces a more rigid and deterministic set of layout constraints than the standard Go toolchain. It is designed for Go project style enforcement to eliminate trivial diffs and stylistic inconsistencies. The project supports Go source code formatting and continuous integration linting to automatically check and correct formatting during the build process.
ktlint is a linter and code formatter for Kotlin that checks source files against a built-in set of style rules and automatically rewrites them to match those rules. It operates by walking the Kotlin abstract syntax tree, detecting violations, and applying transformations directly at the node level before regenerating the source code from the modified tree. The project ships a curated default rule set that requires no configuration to enforce consistent formatting, and provides a command-line interface for running linting and formatting in batch mode. Its rule-set-based plugin architecture al
This is a Visual Studio Code extension that integrates the Prettier formatting engine into the editor. It serves as a bridge to provide opinionated, multi-language code styling by reprinting source code from a syntax tree to enforce consistent layout and line wrapping. The extension enables automated formatting upon saving or on command, ensuring a uniform codebase across teams. It resolves styling rules by merging editor preferences, EditorConfig files, and local configuration files, and can coordinate with linters to resolve conflicting stylistic rules. The system supports a wide range of
vim-lsp is a Vim plugin that implements the Language Server Protocol to provide an asynchronous code intelligence tool for the editor. It serves as a bridge between Vim and external language servers, providing semantic code analysis and IDE-like navigation and diagnostics. The project provides a refactoring interface for renaming symbols across a workspace and applying quick-fixes. It also enables semantic highlighting, which color-codes elements based on their meaning as determined by the language server. The plugin covers a broad surface of capabilities, including symbol navigation and dis
GoGoCode is an AST-based code transformation toolkit that enables developers to query, match, and rewrite JavaScript source code using jQuery-style selectors and wildcard patterns. At its core, it provides a programmatic code refactoring library that manipulates parsed AST nodes, allowing precise structural modifications without worrying about formatting differences. The toolkit also functions as a JavaScript AST query engine, finding code patterns through snippet-based matching with wildcards that capture unknown or variable-length fragments. What distinguishes GoGoCode is its callback-drive
RuboCop is a static code analyzer and linter for Ruby. It functions as a static analysis tool designed to detect potential bugs, identify style violations, and improve overall code quality in Ruby projects. The project provides an automated code formatter that rewrites source code to align with established community standards. It also implements a language server protocol to surface linting and formatting errors directly within text editors. Its capabilities cover automated code linting and the analysis of Ruby code style to ensure consistency across a project. These functions are driven by
GritQL is an AST-based code transformation engine and structural search tool. It uses a declarative query language to identify and rewrite source code patterns across multiple programming languages by matching abstract syntax tree nodes rather than literal text. The system functions as an automated refactoring framework for large-scale migrations and API updates. It distinguishes itself by utilizing sequential transformation pipelines and reusable blueprints that can be synced between local environments and remote repositories. The tool covers a broad range of capabilities including static a
This tool is a command-line utility designed to automatically detect and correct coding standard violations in PHP source files. It functions as a static analysis and refactoring engine that ensures consistent project-wide formatting by applying predefined community conventions or custom organizational rules. The project distinguishes itself through a modular rule-based engine that supports both automated style correction and codebase modernization. It allows developers to update legacy syntax to align with newer language versions and testing framework requirements, facilitating the adoption
node-jscs is a static code analysis tool and JavaScript code style linter. It functions as a JavaScript code formatter that enforces a consistent style guide and formatting rules across source code. The project manages team coding standards by checking source code against defined style rules to maintain visual consistency. It provides a JavaScript linting workflow that identifies style violations and performs automated code formatting to resolve inconsistencies. The system utilizes AST-based static analysis to verify stylistic rules without executing the code. It employs rule-based pattern m
node-jscs is a JavaScript linter and code style checker designed to analyze source code and enforce consistent coding standards. It functions as a static analysis tool that identifies patterns in JavaScript code to ensure adherence to defined style guides. The project provides capabilities for both JavaScript code linting and automated code formatting. It can check source code for style violations and automatically correct those errors to align the codebase with a specified set of formatting rules.
pycodestyle is a Python code quality utility that checks source files against the PEP 8 style guide, reporting deviations as a static analysis tool. Its primary function is to enforce consistent code formatting by scanning files and flagging violations with precise line and column numbers for direct integration into editors or workflows. The tool combines token-based pattern matching with abstract syntax tree (AST) context enrichment, enabling it to evaluate both surface-level formatting and deeper structural patterns. Its architecture supports custom validation rules through a plugin interfa
Standard is a zero-configuration static analyzer, linter, and formatter for JavaScript. It functions as a style guide that enforces consistent coding rules and identifies programming errors without requiring manual configuration files. The tool distinguishes itself by providing an automatic code fixer that scans source files to correct style violations and ensure a uniform codebase. It implements a predefined rule set to eliminate the need for project-specific configuration. The project covers a broad range of static analysis capabilities, including support for experimental language syntax a