Skip to main content
Mobile handle

The Rome Frontend Toolchain

Standardizing the web development experience

Rome is a linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS. Read more about our language support here.

Rome unifies functionality that has previously been completely separate tools. Most frontend tooling have a significant overlap in responsibilities and implementation. There is value in these being a single tool. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.

Rome has been built from scratch without the usage of existing libraries. Rome contains no third-party library dependencies.

Rome has strong conventions and aims to have minimal configuration. Read more about our project philosophy here.

Rome is maintained by a team of contributors. Rome was started by Sebastian McKenzie, the author of Babel and Yarn.

Preview #

Development status #

Rome is currently only supported as a linter. As Rome’s use as a linter stabilizes we will begin polishing the other components for release and usage.

Rome aims to have the following responsibilities:

  • Bundling
  • Compiling
  • Documentation Generation
  • Formatting
  • Linting
  • Minification
  • Package Management
  • Testing
  • Type Checking

Learn more #

Rome is still in development. We have not had an official supported release so documentation may appear out of date until then.