mrm

Codemods for your project config files

Github stars Tracking Chart

Mrm

Build Status npm Codecov

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

Tasks

These tasks are included by default:

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.

Main metrics

Overview
Name With Ownersapegin/mrm
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2016-12-12 20:23:27
Pushed At2024-10-30 07:45:39
Last Commit At2024-10-30 07:45:37
Release Count1169
Last Release Namemrm-task-typescript@4.1.23 (Posted on 2024-10-30 07:45:37)
First Release Namev0.0.2 (Posted on )
用户参与
Stargazers Count1.6k
Watchers Count15
Fork Count78
Commits Count440
Has Issues Enabled
Issues Count90
Issue Open Count0
Pull Requests Count110
Pull Requests Open Count11
Pull Requests Close Count88
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private