{"id":26180796,"url":"https://github.com/decause-gov/cms-gource","last_synced_at":"2026-03-12T16:35:13.393Z","repository":{"id":246422541,"uuid":"610966808","full_name":"decause-gov/cms-gource","owner":"decause-gov","description":"Gource.io Visualization of Developer.CMS.gov Open Source repositories","archived":false,"fork":false,"pushed_at":"2023-03-31T14:55:01.000Z","size":2759,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-26T05:58:54.097Z","etag":null,"topics":["cmsgov","gource","medicare"],"latest_commit_sha":null,"homepage":"https://developer.cms.gov","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/decause-gov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-03-07T20:54:48.000Z","updated_at":"2023-03-30T10:02:09.000Z","dependencies_parsed_at":"2024-06-27T22:43:41.363Z","dependency_job_id":"4d68f060-f4a3-4c4a-86d5-bf8dacd2bc41","html_url":"https://github.com/decause-gov/cms-gource","commit_stats":null,"previous_names":["decause-gov/cms-gource"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/decause-gov/cms-gource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decause-gov%2Fcms-gource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decause-gov%2Fcms-gource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decause-gov%2Fcms-gource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decause-gov%2Fcms-gource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decause-gov","download_url":"https://codeload.github.com/decause-gov/cms-gource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decause-gov%2Fcms-gource/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30433197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cmsgov","gource","medicare"],"created_at":"2025-03-11T21:57:50.865Z","updated_at":"2026-03-12T16:35:13.376Z","avatar_url":"https://github.com/decause-gov.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# cms-gource\n\n[![Screenshot of Gource.io visualization of Developer.CMS.gov source code repositories](https://img.youtube.com/vi/nd4ORHxgvAY/0.jpg \"https://www.youtube.com/watch?v=nd4ORHxgvAY\")](https://www.youtube.com/watch?v=nd4ORHxgvAY)\n\nThis repository contains configuration scripts, log files, and graphic assets\nused to generate a source code repository visualization using [Gource](https://gource.io).\n\nThis work was presented at the\n[SCaLE20x](https://www.socallinuxexpo.org/scale/20x) conference in March of\n2023 in a talk entitled [Repodiving into Open Source at\nCMS.gov](https://www.socallinuxexpo.org/scale/20x/presentations/repodiving-open-source-cmsgov),\nwith the recording uploaded to the [conference YouTube\nChannel](https://youtu.be/AypgQch2Qpk).\n\nFor more information on how to use [CMS.gov](https://cms.gov)'s collection of\nAPIs, datasets, frameworks, and style guides to develop applications that help\npeople get the services and benefits they rely on, visit\n[developer.cms.gov](https://developer.cms.gov).\n\n## Usage\n1. install dependencies\n2. create repos directory\n3. clone repos\n4. generate logs\n5. insert names\n6. colorize logs\n7. Concatenate and sort logs\n8. run gource \n9. export video\n\n### Install Dependencies \n\nThe author used the open source [Homebrew](https://brew.sh) project to install\nthe gource and ffmpeg tools on a Mac. \n\n    brew install gource\n    brew install ffmpeg\n\n\nGource and ffmpeg can also be installed directly from source on\n[GitHub.com](https://github.com/acaudwell/Gource) and\n[ffmpeg.org](https://ffmpeg.org/download.html#get-sources) or via most Linux\ndistribution package managers.\n\nAuthor used standard commandline tools such as the [Vim text\neditor](https://www.vim.org) to add hexadecimal color codes to the end of each\nline in the log to colorize the output, and the [sed stream\neditor](https://www.gnu.org/software/sed/) to insert parent names into logs.\nMost text manipulation tools capable of regular expressions or find-and-replace\nfunctions should work to achieve the same results.\n\n### Create repos directory\n\n    mkdir repos \n    cd repos\n\n\n### Clone Repos\n\n    git clone https://github.com/CMSgov/ab2d.git\n    git clone https://github.com/CMSgov/bcda-app.git\n    git clone https://github.com/CMSgov/beneficiary-fhir-data.git\n    git clone https://github.com/CMSgov/bluebutton-web-server.git\n    git clone https://github.com/CMSgov/dpc-app.git\n    git clone https://github.com/CMSgov/design-system.git\n\n\n### Generate Logs\n\n    gource --output-custom-log log1.txt repos/ab2d\n    gource --output-custom-log log2.txt repos/bcda-app\n    gource --output-custom-log log3.txt repos/beneficiary-fhir-data\n    gource --output-custom-log log4.txt repos/bluebutton-web-server\n    gource --output-custom-log log5.txt repos/dpc-app\n    gource --output-custom-log log6.txt repos/design-system\n\n### Insert Names\n\n    sed -i -r -E \"s#(.+)\\|#\\1|/ab2d#\" log1.txt\n    sed -i -r -E \"s#(.+)\\|#\\1|/bcda#\" log2.txt\n    sed -i -r -E \"s#(.+)\\|#\\1|/beneficiary-fhir-data#\" log3.txt\n    sed -i -r -E \"s#(.+)\\|#\\1|/blue-button#\" log4.txt\n    sed -i -r -E \"s#(.+)\\|#\\1|/dpc#\" log5.txt\n    sed -i -r -E \"s#(.+)\\|#\\1|/design-system#\" log6.txt\n\n### Colorize Logs (using vim)\n\n    vim log1.txt\n    :%norm A|F0F0F0\n\n    vim log2.txt\n    :%norm A|136A5D\n\n    ...\n\n\n### Concatenate and Sort Logs\n\n    APIs only\n    cat log1.txt log2.txt log3.txt log4.txt log5.txt | sort -n \u003e cmsapis.log\n\n    APIs + design-system\n    cat log1.txt log2.txt log3.txt log4.txt log5.txt log6.txt | sort -n \u003e cmsapis-plusdesign.log\n\n    APIs + QPP quality tools\n    cat log1.txt log2.txt log3.txt log4.txt log5.txt log7.txt log8.txt | sort -n \u003e cmsapis-plusqpp.log\n\n\n\n### Run Gource Visualization\n\n    APIs Only\n    time gource --load-config cms.conf -f -1920x1080 cmsapis.log \n\n    API + design-system\n    time gource --load-config cms.conf -f -1920x1080 cmsapis-plusdesign.log \n\n(last output: 131.51s user 6.60s system 33% cpu 6:51.33 total)\n\n### Export Video (.webm or .mp4)\n\n    gource --load-config cms.conf -1920x1080 cmsapis.log -f -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libvpx -b 10000K cms-gource.webm\n\n    gource --load-config cms.conf -1920x1080 cmsapis.log -f -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 cms-gource.mp4\n\n\n## LICENSE\nAs a work of the United States Government, this project is in the\npublic domain within the United States.\n\nAdditionally, we waive copyright and related rights in the work\nworldwide through the CC0 1.0 Universal public domain dedication.\n\n### CC0 1.0 Universal Summary\nThis is a human-readable summary of the [Legal Code (read the full\ntext)](https://creativecommons.org/publicdomain/zero/1.0/legalcode).\n\n### No Copyright\nThe person who associated a work with this deed has dedicated the work to\nthe public domain by waiving all of his or her rights to the work worldwide\nunder copyright law, including all related and neighboring rights, to the\nextent allowed by law.\n\nYou can copy, modify, distribute and perform the work, even for commercial\npurposes, all without asking permission.\n\n### Other Information\nIn no way are the patent or trademark rights of any person affected by CC0,\nnor are the rights that other persons may have in the work or in how the\nwork is used, such as publicity or privacy rights.\n\nUnless expressly stated otherwise, the person who associated a work with\nthis deed makes no warranties about the work, and disclaims liability for\nall uses of the work, to the fullest extent permitted by applicable law.\nWhen using or citing the work, you should not imply endorsement by the\nauthor or the affirmer.\n\n## Acknowledgments\n\nCMS would like to thank [General Services Administration](https://gsa.gov)\n(GSA)’s [18F](https://18f.gsa.gov) team, the [Consumer Financial Protection\nBureau](https://cfpb.gov) (CFPB), and the [Office of Management and\nBudget](https://www.whitehouse.gov/omb/) (OMB) for their inspirational work in\nthe use of Free/Open Source Software in the Federal Government.\n\nAuthor would like to give special thanks Andrew Caudwell and the\n[https://Gource.io](https://Gource.io) Project contributors. Source code\nrepository available at\n[https://github.com/acaudwell/Gource](https://github.com/acaudwell/Gource)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecause-gov%2Fcms-gource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecause-gov%2Fcms-gource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecause-gov%2Fcms-gource/lists"}