Rome is authored in TypeScript and is a monorepo with internal packages to delineate code boundaries. Rome is self-hosted and compiles itself with an old version of Rome. Rome provides support for processing JSX, Flow, and TypeScript code.
The Rome Getting Started documentation
is currently intentionally very sparse, with information about initializing Rome, defining settings in a JSON file, and actions including running, linting, compiling and parsing source code.
Preact and Jason Miller created an overview of Rome
and detail usage of the available CLI commands, compare its bundling output to Rollup, provide a few examples, and other early insights.
The Rome project has a clear set of development guidelines, from clear and easy to understand error messages, as small of an API footprint as possible, and strongly typed code. The Rome Team is currently focused on linting
and maintain a list of actively considered issues
. As explained by McKenzie:
The current area of focus for Rome is linting. This is the path of least resistance for finishing a part of Rome that can be used most easily.
Rome is available under the MIT license though it is not ready for production use and currently can only get used by building from source
. Rome is open for contributors interested in experimental tools following the contribution guidelines
and code of conduct