Mrm
Command line tool to help you keep configuration (package.json, .gitignore, .eslintrc, etc.) of your open source projects in sync.
Features
- Doesn’t overwrite your data unless you want to
- Minimal changes: keeps the original file formatting or read the style from EditorConfig
- Minimal configuration: tries to infer configuration from the project itself or from the environment
- Customizable tasks for popular tools like ESLint, Prettier, lint-staged, etc. included
- Custom tasks and tools to work with JSON, YAML, INI, Markdown and new line separated text files
- Sharing tasks via npm and grouping them into presets
Motivation
Most of the available tools are template based. Template approach works moderately well for new project generation but doesn’t work well for updating. Mrm’s approach is closer to codemods than templates.
Read more in my article, Automating open source project configuration with Mrm, or watch my talk on Mrm.
Documentation
- Getting started
- Making your own tasks
- Sharing tasks via npm
- Making your own presets
- FAQ
- Utilities to write codemods
Tasks
These tasks are included by default:
- ci
- codecov
- contributing
- dependabot
- editorconfig
- eslint
- gitignore
- jest
- license
- lint-staged
- package
- prettier
- readme
- semantic-release
- styleguidist
- stylelint
- travis
- typescript
Changelog
The changelog can be found on the Releases page.
Contributing
Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.
Authors and license
Artem Sapegin and contributors.
MIT License, see the included License.md file.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

