{"id":13941836,"url":"https://github.com/GregTrevellick/ReadMeSynchronizer","last_synced_at":"2025-07-20T05:31:23.661Z","repository":{"id":42118869,"uuid":"142402749","full_name":"GregTrevellick/ReadMeSynchronizer","owner":"GregTrevellick","description":"Keeps badges in ReadMe files across all my repos in sync.","archived":false,"fork":false,"pushed_at":"2025-07-02T13:48:26.000Z","size":14798,"stargazers_count":4,"open_issues_count":78,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-02T14:45:09.434Z","etag":null,"topics":["badge","badges","git","git-repository-manager","readme","repositories","synchronisation","synchronization"],"latest_commit_sha":null,"homepage":"https://github.com/GregTrevellick/AllBadges","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GregTrevellick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2018-07-26T07:08:34.000Z","updated_at":"2024-08-25T01:04:35.000Z","dependencies_parsed_at":"2023-02-15T04:32:04.357Z","dependency_job_id":"bec1dc81-4dd3-4bd7-8935-53af94885442","html_url":"https://github.com/GregTrevellick/ReadMeSynchronizer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/GregTrevellick/ReadMeSynchronizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTrevellick%2FReadMeSynchronizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTrevellick%2FReadMeSynchronizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTrevellick%2FReadMeSynchronizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTrevellick%2FReadMeSynchronizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GregTrevellick","download_url":"https://codeload.github.com/GregTrevellick/ReadMeSynchronizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTrevellick%2FReadMeSynchronizer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266071519,"owners_count":23871940,"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":["badge","badges","git","git-repository-manager","readme","repositories","synchronisation","synchronization"],"created_at":"2024-08-08T02:01:30.911Z","updated_at":"2025-07-20T05:31:18.611Z","avatar_url":"https://github.com/GregTrevellick.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"## Read Me Sychchronizer\n\n[![](https://codescene.io/projects/4316/status.svg) Get more details at **codescene.io**.](https://codescene.io/projects/4316/jobs/latest-successful/results)\n \n\u003c!--BadgesSTART--\u003e\n\u003c!-- Powered by https://github.com/GregTrevellick/ReadMeSynchronizer --\u003e\n[![Read Me Synchronizer](https://img.shields.io/badge/-powered%20by%20ReadMeSynchronizer-brightgreen.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer)\n[![BetterCodeHub compliance](https://bettercodehub.com/edge/badge/GregTrevellick/ReadMeSynchronizer?branch=master)](https://bettercodehub.com/results/GregTrevellick/ReadMeSynchronizer)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/47d41dfc5df74ceba32dc53ddfd00b28)](https://www.codacy.com/project/gtrevellick/ReadMeSynchronizer/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=GregTrevellick/ReadMeSynchronizer\u0026amp;utm_campaign=Badge_Grade_Dashboard)\n[![CodeBeat](https://codebeat.co/badges/undefined)](https://codebeat.co/projects/github-com-gregtrevellick-readmesynchronizer-master)\n[![CodeFactor](https://www.codefactor.io/repository/github/GregTrevellick/ReadMeSynchronizer/badge)](https://www.codefactor.io/repository/github/GregTrevellick/ReadMeSynchronizer)\n[![CodeScene Code Health](https://codescene.io/projects/4316/status-badges/code-health)](https://codescene.io/projects/4316)\n[![CodeScene System Mastery](https://codescene.io/projects/4316/status-badges/system-mastery)](https://codescene.io/projects/4316)\n[![LGTM Alerts](https://img.shields.io/lgtm/alerts/g/GregTrevellick/ReadMeSynchronizer.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/GregTrevellick/ReadMeSynchronizer/alerts/)\n[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/GregTrevellick/ReadMeSynchronizer.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/GregTrevellick/ReadMeSynchronizer/context:javascript)\n[![GitHub top language](https://img.shields.io/github/languages/top/GregTrevellick/ReadMeSynchronizer.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer)\n[![Github language count](https://img.shields.io/github/languages/count/GregTrevellick/ReadMeSynchronizer.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer)\n[![GitHub actions](https://github.com/GregTrevellick/ReadMeSynchronizer/workflows/.NET%20Core/badge.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer/actions)\n[![GitHub issues](https://img.shields.io/github/issues-raw/GregTrevellick/ReadMeSynchronizer.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/GregTrevellick/ReadMeSynchronizer.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer/pulls)\n[![GitHub followers](https://img.shields.io/github/followers/GregTrevellick.svg)](https://github.com/GregTrevellick?tab=followers)\n[![GitHub stars](https://img.shields.io/github/stars/GregTrevellick/ReadMeSynchronizer.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer)\n[![GitHub watchers](https://img.shields.io/github/watchers/GregTrevellick/ReadMeSynchronizer.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer/watchers)\n[![Sonar\u0026metric=alert_status](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=ReadMeSynchronizer)\n[![Sonar\u0026metric=bugs](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=bugs)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=bugs)\n[![Sonar\u0026metric=code_smells](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=code_smells)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=code_smells)\n[![Sonar\u0026metric=coverage](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=coverage)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=Coverage)\n[![Sonar\u0026metric=duplicated_lines_density](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=duplicated_lines_density)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=duplicated_lines)\n[![Sonar\u0026metric=ncloc](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=ncloc)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=ncloc)\n[![Sonar\u0026metric=reliability_rating](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=reliability_rating)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=reliability_rating)\n[![Sonar\u0026metric=security_rating](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=security_rating)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=security_rating)\n[![Sonar\u0026metric=sqale_index](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=sqale_index)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=sqale_index)\n[![Sonar\u0026metric=sqale_rating](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=sqale_rating)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=sqale_rating)\n[![Sonar\u0026metric=vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=ReadMeSynchronizer\u0026metric=vulnerabilities)](https://sonarcloud.io/component_measures?id=ReadMeSynchronizer\u0026metric=vulnerabilities)\n[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/uy4igyamwjq51gx4?svg=true)](https://ci.appveyor.com/project/GregTrevellick/ReadMeSynchronizer)\n[![Appveyor unit tests](https://img.shields.io/appveyor/tests/GregTrevellick/ReadMeSynchronizer.svg)](https://ci.appveyor.com/project/GregTrevellick/ReadMeSynchronizer/build/tests)\n[![Azure Build Status](https://gregtrevellick.visualstudio.com/ReadMeSynchronizer/_apis/build/status/ReadMeSynchronizer)](https://gregtrevellick.visualstudio.com/ReadMeSynchronizer/_build/latest?definitionId=24)\n[![Hound](https://img.shields.io/badge/hound_ci-checked-brightgreen.svg)](https://houndci.com/)\n[![Access Lint github](https://img.shields.io/badge/a11y-checked-brightgreen.svg)](https://www.accesslint.com)\n[![ImgBot](https://img.shields.io/badge/images-optimized-brightgreen.svg)](https://imgbot.net/)\n[![Renovate Bot github](https://img.shields.io/badge/renovatebot-checked-brightgreen.svg)](https://renovatebot.com/)\n[![Charity Ware](https://img.shields.io/badge/charity%20ware-thank%20you-brightgreen.svg)](https://github.com/GregTrevellick/MiscellaneousArtefacts/wiki/Charity-Ware)\n[![License](https://img.shields.io/github/license/gittools/gitlink.svg)](/LICENSE.txt)\n[![Subscribe](https://img.shields.io/badge/subscribe%20to%20receive%20notificatons-grey.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer/subscription)\n[![](https://codescene.io/projects/4316/status.svg)](https://codescene.io/projects/4316/jobs/latest-successful/results)\n\n\u003c!--BadgesEND--\u003e\n\n## Overview \n\nA typescript app containing gulp tasks that will update the badges in your local README.md files within your local git repositories.\n\nThis means the repo-owner can :\n  - manually test all their badges, both cosmetically \u0026 functionally, quickly from one place rather than the slow process of checking each repo individually\n  - ensure badge consistency across many repos\n  - easily spot problems (failing builds, failing tests, long running branches, etc) with any of their repos all in one place \n\n#### Bonus Feature \n\nGiven this app will cause changes to multiple repos, I added gulp tasks to do the following:\n\n  - Undo all the README.md files at once\n  - Commit all the README.md files at once\n  - Pull all the repos at once\n  - Push all the repos at once\n\n#### Why ?\n\nThe act of creating this repo allowed me to create my first from-scratch typescript app, and learn more about typescript, gulp \u0026 npm along the way.\n\n#### What Next ?\n\nAt some point I may try to make a generic scaffold app from this repo, and publish it as a template on [Visual Studio Marketplace](https://marketplace.visualstudio.com/vs) and/or [Yeoman](http://yeoman.io/).\n\n### Credits\n\n[Anton Tishchenko](https://sagittarius.agency/blog/cicd-for-your-sitecore-pet-project-using-appveyor)\n\n[loune.net](https://loune.net/2011/02/match-any-character-including-new-line-in-javascript-regexp/)\n\n[Microsoft Dev Labs](https://docs.microsoft.com/en-us/labs/devops/sonarcloudlab/)\n\n[Shields.io](https://shields.io/#/)\n\n[Stef Heyenrath](https://medium.com/@stef.heyenrath/how-to-fix-sonarcloud-issue-in-a-github-pr-when-using-appveyor-integration-8909b49406b4)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGregTrevellick%2FReadMeSynchronizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGregTrevellick%2FReadMeSynchronizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGregTrevellick%2FReadMeSynchronizer/lists"}