Rome is an ambitious project that aims to unify dozens of front-end language tools into one easy-to-use tool created from scratch. Rome v10, the first stable release since the beginning of the redesign made by Rust.
Rome’s formatter was inspired by Prettier, allowing most users to migrate with minimal or no changes. Our linter is based on a recommended set of rules, following community standards, and strives to be actionable and informative when it detects a problem.
Rome is a monolithic runtime-agnostic, multilingual toolchain. It is a formatter, linter, and in the future a compiler, packager, tester, and many more dependency-free features. Its monolithic architecture reveals a new experience for developers that is hard to achieve with many development stacks.
Avoid unnecessary work: Formatting your files with Prettier and linting them with ESLint means that both tools spend significant time traversing directories and parsing. Rome is fast because it never does the same work twice.
Reduce repetition: Rome uses a single configuration for all tools to reduce the number of configuration files in your project and avoid repetition.
Learn once: Many-tool development stacks suffer that engineers must interact with each tool, having to learn and remember the command names, configuration schemas, CLI arguments, and diagnostics formats. This is a lot to remember.
Remove entry barriers: Advanced analysis and checks, like analyzing the size of a bundle or bundle size budgeting, often require additional tools and lack editor or linter integration. This added complexity is an entry barrier for many.