{"id":13393906,"url":"https://github.com/sapegin/mrm","last_synced_at":"2025-04-23T20:58:42.948Z","repository":{"id":38272153,"uuid":"76292522","full_name":"sapegin/mrm","owner":"sapegin","description":"Codemods for your project config files","archived":false,"fork":false,"pushed_at":"2024-10-30T07:45:39.000Z","size":6429,"stargazers_count":1635,"open_issues_count":11,"forks_count":79,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-23T20:57:58.127Z","etag":null,"topics":["cli","codemod","config","dotfiles","hacktoberfest","opensource","scaffold","template"],"latest_commit_sha":null,"homepage":"https://mrm.js.org/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sapegin.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":"Contributing.md","funding":"FUNDING.yml","license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"sapegin","ko_fi":"sapegin","custom":"https://www.buymeacoffee.com/sapegin"}},"created_at":"2016-12-12T20:23:27.000Z","updated_at":"2025-04-23T16:57:22.000Z","dependencies_parsed_at":"2023-02-06T10:46:00.081Z","dependency_job_id":"ef4865f1-5b8c-42d4-b917-adda018181aa","html_url":"https://github.com/sapegin/mrm","commit_stats":{"total_commits":429,"total_committers":48,"mean_commits":8.9375,"dds":0.5151515151515151,"last_synced_commit":"bc0212c378a46525fbd62fc87944970e64c3bf30"},"previous_names":[],"tags_count":1147,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapegin%2Fmrm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapegin%2Fmrm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapegin%2Fmrm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapegin%2Fmrm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sapegin","download_url":"https://codeload.github.com/sapegin/mrm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514767,"owners_count":21443208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","codemod","config","dotfiles","hacktoberfest","opensource","scaffold","template"],"created_at":"2024-07-30T17:01:02.286Z","updated_at":"2025-04-23T20:58:42.919Z","avatar_url":"https://github.com/sapegin.png","language":"JavaScript","readme":"# Mrm\n\n[![npm](https://img.shields.io/npm/v/mrm.svg)](https://www.npmjs.com/package/mrm) [![Codecov](https://codecov.io/gh/sapegin/mrm/branch/master/graph/badge.svg)](https://codecov.io/gh/sapegin/mrm) [![Node.js CI status](https://github.com/sapegin/mrm/workflows/Node.js%20CI/badge.svg)](https://github.com/sapegin/mrm/actions)\n\nCommand line tool to help you keep configuration (`package.json`, `.gitignore`, `.eslintrc`, etc.) of your open source projects in sync.\n\n## Features\n\n- Doesn’t overwrite your data unless you want to\n- Minimal changes: keeps the original file formatting or read the style from EditorConfig\n- Minimal configuration: tries to infer configuration from the project itself or from the environment\n- [Customizable tasks](#tasks) for popular tools like ESLint, Prettier, lint-staged, etc. included\n- [Custom tasks](https://mrm.js.org/docs/making-tasks) and [tools](https://mrm.js.org/docs/mrm-core) to work with JSON, YAML, INI, Markdown and new line separated text files\n- Sharing tasks via npm and grouping them into [presets](https://mrm.js.org/docs/making-presets)\n\n![](https://d3vv6lp55qjaqc.cloudfront.net/items/1g0e2M3m2Y3j0m3B3n1t/Image%202017-06-20%20at%209.00.39%20PM.png)\n\n[![Washing your code. A book on clean code for frontend developers](https://sapegin.me/images/washing-code-github.jpg)](https://sapegin.me/book/)\n\n## Motivation\n\nMost 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](https://github.com/facebook/codemod) than templates.\n\nRead more in my article, [Automating open source project configuration with Mrm](https://blog.sapegin.me/all/mrm), or watch [my talk on Mrm](https://www.youtube.com/watch?v=5tHfAf4bRcM).\n\n## Documentation\n\n- [Getting started](https://mrm.js.org/docs/getting-started)\n- [Making your own tasks](https://mrm.js.org/docs/making-tasks)\n- [Sharing tasks via npm](https://mrm.js.org/docs/sharing-tasks)\n- [Making your own presets](https://mrm.js.org/docs/making-presets)\n- [FAQ](https://mrm.js.org/docs/faq)\n- [Utilities to write codemods](https://mrm.js.org/docs/mrm-core)\n\n## Tasks\n\nThese tasks are [included by default](https://mrm.js.org/docs/mrm-preset-default):\n\n\u003c!-- textlint-disable terminology --\u003e\n\n- [ci](https://mrm.js.org/docs/mrm-task-ci)\n- [codecov](https://mrm.js.org/docs/mrm-task-codecov)\n- [contributing](https://mrm.js.org/docs/mrm-task-contributing)\n- [dependabot](https://mrm.js.org/docs/mrm-task-dependabot)\n- [editorconfig](https://mrm.js.org/docs/mrm-task-editorconfig)\n- [eslint](https://mrm.js.org/docs/mrm-task-eslint)\n- [gitignore](https://mrm.js.org/docs/mrm-task-gitignore)\n- [jest](https://mrm.js.org/docs/mrm-task-jest)\n- [license](https://mrm.js.org/docs/mrm-task-license)\n- [lint-staged](https://mrm.js.org/docs/mrm-task-lint-staged)\n- [package](https://mrm.js.org/docs/mrm-task-package)\n- [prettier](https://mrm.js.org/docs/mrm-task-prettier)\n- [readme](https://mrm.js.org/docs/mrm-task-readme)\n- [semantic-release](https://mrm.js.org/docs/mrm-task-semantic-release)\n- [styleguidist](https://mrm.js.org/docs/mrm-task-styleguidist)\n- [stylelint](https://mrm.js.org/docs/mrm-task-stylelint)\n- [travis](https://mrm.js.org/docs/mrm-task-travis)\n- [typescript](https://mrm.js.org/docs/mrm-task-typescript)\n\n\u003c!-- textlint-enable --\u003e\n\n## Changelog\n\nThe changelog can be found on the [Releases page](https://github.com/sapegin/mrm/releases).\n\n## Sponsoring\n\nThis software has been developed with lots of coffee, buy me one more cup to keep it going.\n\n\u003ca href=\"https://www.buymeacoffee.com/sapegin\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/lato-orange.png\" alt=\"Buy Me A Coffee\" height=\"51\" width=\"217\"\u003e\u003c/a\u003e\n\n## Contributing\n\nBug fixes are welcome, but not new features. Please take a moment to review the [contributing guidelines](Contributing.md).\n\n## Authors and license\n\n[Artem Sapegin](https://sapegin.me) and [contributors](https://github.com/sapegin/mrm/graphs/contributors).\n\nMIT License, see the included [License.md](License.md) file.\n","funding_links":["https://github.com/sponsors/sapegin","https://ko-fi.com/sapegin","https://www.buymeacoffee.com/sapegin"],"categories":["JavaScript","Fix aggregators","cli","Misc"],"sub_categories":["Debian","ant-design"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsapegin%2Fmrm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsapegin%2Fmrm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsapegin%2Fmrm/lists"}