{"id":155936,"name":null,"description":"Structural lint and rewriting with ast-grep for pre-commit hooks","url":"https://github.com/boidolr/ast-grep-pre-commit","last_synced_at":"2025-09-09T16:46:35.891Z","repository":{"id":220378542,"uuid":"751481461","full_name":"boidolr/ast-grep-pre-commit","owner":"boidolr","description":"Structural lint and rewriting with ast-grep for pre-commit hooks","archived":false,"fork":false,"pushed_at":"2025-08-17T07:27:47.000Z","size":69,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-17T09:15:16.698Z","etag":null,"topics":["ast-grep","codemod","git-hooks","pre-commit","refactoring"],"latest_commit_sha":null,"homepage":"","language":null,"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/boidolr.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-01T17:39:03.000Z","updated_at":"2025-08-17T07:27:51.000Z","dependencies_parsed_at":"2024-05-12T10:31:13.236Z","dependency_job_id":"f43ce2b2-9d1f-4977-b08f-73b73802f190","html_url":"https://github.com/boidolr/ast-grep-pre-commit","commit_stats":null,"previous_names":["boidolr/precommit-ast-grep","boidolr/ast-grep-pre-commit"],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/boidolr/ast-grep-pre-commit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boidolr","download_url":"https://codeload.github.com/boidolr/ast-grep-pre-commit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274329364,"owners_count":25265503,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"owner":{"login":"boidolr","name":"Raphael Boidol","uuid":"652404","kind":"user","description":"coding for the fun of it","email":"","website":"https://boidolr.github.io/","location":"Munich, Germany","twitter":null,"company":"@TNG ","icon_url":"https://avatars.githubusercontent.com/u/652404?u=697edf9723ddad5ab3700c8cfa58ad077a2d85d1\u0026v=4","repositories_count":12,"last_synced_at":"2023-03-04T02:09:53.290Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/boidolr","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T08:08:41.048Z","updated_at":"2023-03-04T02:09:53.315Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boidolr","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boidolr/repositories"},"packages":null,"commits":{"id":10355359,"full_name":"boidolr/ast-grep-pre-commit","default_branch":"main","committers":[{"name":"boidolr","email":"boidolr","login":"boidolr","count":77},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":31},{"name":"github-actions","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":11}],"total_commits":119,"total_committers":3,"total_bot_commits":31,"total_bot_committers":1,"mean_commits":39.666666666666664,"dds":0.3529411764705882,"past_year_committers":[{"name":"boidolr","email":"boidolr","login":"boidolr","count":46},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":22}],"past_year_total_commits":68,"past_year_total_committers":2,"past_year_total_bot_commits":22,"past_year_total_bot_committers":1,"past_year_mean_commits":34.0,"past_year_dds":0.32352941176470584,"last_synced_at":"2025-06-15T22:29:41.385Z","last_synced_commit":"cdc56235e65cff68e3bae1293f5474311ba7c3b2","created_at":"2025-06-15T13:08:42.462Z","updated_at":"2025-06-15T22:29:41.385Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-09T00:17:06.873Z","repositories_count":5528624,"commits_count":869448517,"contributors_count":32013890,"owners_count":917730,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"boidolr/ast-grep-pre-commit","html_url":"https://github.com/boidolr/ast-grep-pre-commit","last_synced_at":"2025-08-31T14:51:37.107Z","status":null,"issues_count":1,"pull_requests_count":45,"avg_time_to_close_issue":25965.0,"avg_time_to_close_pull_request":15697.227272727274,"issues_closed_count":1,"pull_requests_closed_count":44,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":43,"bot_issues_count":1,"bot_pull_requests_count":42,"past_year_issues_count":1,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":25965.0,"past_year_avg_time_to_close_pull_request":17361.625,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":32,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":32,"past_year_merged_pull_requests_count":32,"created_at":"2025-06-15T13:08:42.563Z","updated_at":"2025-09-03T00:11:02.474Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/boidolr%2Fast-grep-pre-commit/issues","issue_labels_count":{"dependencies":1,"github-tags":1,"github-actions":1},"pull_request_labels_count":{"dependencies":57,"github-tags":57,"github-actions":57},"issue_author_associations_count":{"OWNER":1,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":57,"OWNER":3},"issue_authors":{"boidolr":1,"renovate[bot]":1},"pull_request_authors":{"renovate[bot]":57,"boidolr":3},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.273Z","repositories_count":10055219,"issues_count":30917502,"pull_requests_count":92945978,"authors_count":10627110,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"dependencies":1,"github-tags":1,"github-actions":1},"past_year_pull_request_labels_count":{"dependencies":42,"github-tags":42,"github-actions":42},"past_year_issue_author_associations_count":{"CONTRIBUTOR":1,"OWNER":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":42,"OWNER":1},"past_year_issue_authors":{"boidolr":1,"renovate[bot]":1},"past_year_pull_request_authors":{"renovate[bot]":42,"boidolr":1},"maintainers":[{"login":"boidolr","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/boidolr"}],"active_maintainers":[{"login":"boidolr","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/boidolr"}]},"events":{"total":{"WatchEvent":2,"DeleteEvent":17,"PushEvent":51,"PullRequestEvent":35,"CreateEvent":45},"last_year":{"WatchEvent":2,"DeleteEvent":17,"PushEvent":51,"PullRequestEvent":35,"CreateEvent":45}},"keywords":["ast-grep","codemod","git-hooks","pre-commit","refactoring"],"dependencies":[{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2024-02-01T19:27:40.483Z","updated_at":"2024-02-01T19:27:40.483Z","repository_link":"https://github.com/boidolr/ast-grep-pre-commit/blob/main/package.json","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/test.yaml","sha":null,"kind":"manifest","created_at":"2024-02-08T18:59:38.037Z","updated_at":"2024-02-08T18:59:38.037Z","repository_link":"https://github.com/boidolr/ast-grep-pre-commit/blob/main/.github/workflows/test.yaml","dependencies":[{"id":16118097459,"package_name":"actions/checkout","ecosystem":"actions","requirements":"b4ffde65f46336ab88eb53be808477a3936bae11","direct":true,"kind":"composite","optional":false},{"id":16118097460,"package_name":"boidolr/actions/run-precommit","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/update.yaml","sha":null,"kind":"manifest","created_at":"2024-02-08T18:59:39.040Z","updated_at":"2024-02-08T18:59:39.040Z","repository_link":"https://github.com/boidolr/ast-grep-pre-commit/blob/main/.github/workflows/update.yaml","dependencies":[{"id":16118097733,"package_name":"actions/checkout","ecosystem":"actions","requirements":"b4ffde65f46336ab88eb53be808477a3936bae11","direct":true,"kind":"composite","optional":false},{"id":16118097734,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"5d5d22a31266ced268874388b861e4b58bb5c2f3","direct":true,"kind":"composite","optional":false},{"id":16118097735,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"eaceaf801fd36c7dee90939fad912460b18a1ffe","direct":true,"kind":"composite","optional":false}]}],"score":2.70805020110221,"created_at":"2025-09-09T00:43:07.371Z","updated_at":"2025-10-07T08:37:59.396Z","avatar_url":"https://github.com/boidolr.png","language":null,"category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["controllers","gan","report","autograder","hack","animal","standardization","interpretability","metering","pytest"],"project_url":"https://science.ecosyste.ms/api/v1/projects/155936","html_url":"https://science.ecosyste.ms/projects/155936"}