Rome is a linter, compiler, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS.
Rome is designed to replace Babel, ESLint, webpack, Prettier, Jest, and others.
Rome unifies functionality that has previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.
Rome has strong conventions and aims to have minimal configuration. Read more about our project philosophy.
Rome is written in TypeScript and runs on Node.js. Rome has zero dependencies, and has largely been written from scratch. See credits for more information.
Rome is maintained by a team of volunteers under an established governance model.
Rome is MIT licensed and moderated under the Contributor Covenant Code of Conduct.
The current area of focus is linting. See the umbrella task #20 for tracking.
To setup Rome in a project, all you need is a rome.json
file.
$ mkdir hello-world
$ cd hello-world
$ rome init
This file is used to configure Rome and indicates the boundaries of your project.
See Getting Started guide for more usage instructions.
The project philosophy can be found on our website.
Contribution and development instructions can be found in CONTRIBUTING.
Additional project coordination and real-time discussion happens on our Discord server. Remember that all activity on the Discord server is still moderated and will be strictly enforced under the project's Code of Conduct.