{"id":362585,"url":"https://github.com/matcornic/hermes","last_synced_at":"2026-06-20T02:00:43.754Z","repository":{"id":41183225,"uuid":"86179273","full_name":"matcornic/hermes","owner":"matcornic","description":"Golang package that generates clean, responsive HTML e-mails for sending transactional mail","archived":false,"fork":false,"pushed_at":"2025-04-04T08:12:02.000Z","size":1349,"stargazers_count":3011,"open_issues_count":20,"forks_count":248,"subscribers_count":26,"default_branch":"master","last_synced_at":"2026-06-18T01:05:25.796Z","etag":null,"topics":["awesome-go","email","email-template","email-template-generator","emails","generator","golang","hermes","mailgen","smtp","template","templating"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matcornic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2017-03-25T18:25:36.000Z","updated_at":"2026-06-17T00:31:18.000Z","dependencies_parsed_at":"2025-04-10T13:09:36.154Z","dependency_job_id":"e28ef33c-d5ad-411f-a3f7-e4cf70d6cc4a","html_url":"https://github.com/matcornic/hermes","commit_stats":{"total_commits":77,"total_committers":15,"mean_commits":5.133333333333334,"dds":"0.38961038961038963","last_synced_commit":"b49681588c91ffdbdb768a09fcfb460e535baafe"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/matcornic/hermes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/sbom","scorecard":{"id":623472,"data":{"date":"2025-08-11","repo":{"name":"github.com/matcornic/hermes","commit":"db8901938bc20e5c1980731141e6845621ec625e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":2,"reason":"Found 4/15 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:6","Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'master'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'master'","Warn: PRs are not required to make changes on branch 'master'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T05:44:56.028Z","repository_id":41183225,"created_at":"2025-08-21T05:44:56.028Z","updated_at":"2025-08-21T05:44:56.028Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34554510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"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":"matcornic","name":"Mathieu Cornic","uuid":"3520706","kind":"user","description":"","email":"","website":"http://matcornic.github.io/","location":"Rennes, France","twitter":null,"company":"SorareData","icon_url":"https://avatars.githubusercontent.com/u/3520706?u=de770762862e0ef5871342dbf462af48263c4d86\u0026v=4","repositories_count":27,"last_synced_at":"2024-05-22T00:18:33.499Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matcornic","funding_links":[],"total_stars":4577,"followers":139,"following":51,"created_at":"2022-11-07T03:00:25.965Z","updated_at":"2024-05-22T00:18:35.559Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic/repositories"},"packages":[{"id":3497519,"name":"github.com/matcornic/hermes/v2","ecosystem":"go","description":"","homepage":"https://github.com/matcornic/hermes","licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/matcornic/hermes","keywords_array":[],"namespace":"github.com/matcornic/hermes","versions_count":4,"first_release_published_at":"2022-11-19T17:55:50.193Z","latest_release_published_at":"2020-01-29T21:58:26.000Z","latest_release_number":"v2.1.0","last_synced_at":"2026-06-18T17:30:57.418Z","created_at":"2022-04-10T19:44:57.646Z","updated_at":"2026-06-18T17:30:57.419Z","registry_url":"https://pkg.go.dev/github.com/matcornic/hermes/v2","install_command":"go get github.com/matcornic/hermes/v2","documentation_url":"https://pkg.go.dev/github.com/matcornic/hermes/v2#section-documentation","metadata":{},"repo_metadata":{"id":41183225,"uuid":"86179273","full_name":"matcornic/hermes","owner":"matcornic","description":"Golang package that generates clean, responsive HTML e-mails for sending transactional mail","archived":false,"fork":false,"pushed_at":"2025-04-04T08:12:02.000Z","size":1349,"stargazers_count":2954,"open_issues_count":20,"forks_count":245,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-11-03T10:01:52.156Z","etag":null,"topics":["awesome-go","email","email-template","email-template-generator","emails","generator","golang","hermes","mailgen","smtp","template","templating"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matcornic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2017-03-25T18:25:36.000Z","updated_at":"2025-11-03T07:54:22.000Z","dependencies_parsed_at":"2025-04-10T13:09:36.154Z","dependency_job_id":"e28ef33c-d5ad-411f-a3f7-e4cf70d6cc4a","html_url":"https://github.com/matcornic/hermes","commit_stats":{"total_commits":77,"total_committers":15,"mean_commits":5.133333333333334,"dds":"0.38961038961038963","last_synced_commit":"b49681588c91ffdbdb768a09fcfb460e535baafe"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/matcornic/hermes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/sbom","scorecard":{"id":623472,"data":{"date":"2025-08-11","repo":{"name":"github.com/matcornic/hermes","commit":"db8901938bc20e5c1980731141e6845621ec625e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":2,"reason":"Found 4/15 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:6","Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'master'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'master'","Warn: PRs are not required to make changes on branch 'master'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T05:44:56.028Z","repository_id":41183225,"created_at":"2025-08-21T05:44:56.028Z","updated_at":"2025-08-21T05:44:56.028Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282438000,"owners_count":26669106,"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-11-03T02:00:05.676Z","response_time":108,"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_record":{"login":"matcornic","name":"Mathieu Cornic","uuid":"3520706","kind":"user","description":"","email":"","website":"http://matcornic.github.io/","location":"Rennes, France","twitter":null,"company":"SorareData","icon_url":"https://avatars.githubusercontent.com/u/3520706?u=de770762862e0ef5871342dbf462af48263c4d86\u0026v=4","repositories_count":27,"last_synced_at":"2024-05-22T00:18:33.499Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matcornic","funding_links":[],"total_stars":4577,"followers":139,"following":51,"created_at":"2022-11-07T03:00:25.965Z","updated_at":"2024-05-22T00:18:35.559Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic/repositories"},"tags":[{"name":"v1.3.0","sha":"7e0edadb825cca415db63ad2b37fab6a7c7be8eb","kind":"commit","published_at":"2025-04-04T07:51:34.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.3.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.3.0/manifests"},{"name":"v2.1.0","sha":"b49681588c91ffdbdb768a09fcfb460e535baafe","kind":"commit","published_at":"2020-01-29T21:58:26.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.1.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"fcfd0bc1c87579297b92847f24459abfcd8239b5","kind":"commit","published_at":"2019-02-18T12:34:50.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.0.2","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"5d751c937df9863c844d5631b2ef96bc8fda45ba","kind":"commit","published_at":"2018-10-29T19:26:23.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.0.1","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"b72a89aeb63f06b23996967498f3fd7dd594ea4f","kind":"commit","published_at":"2018-10-27T17:12:18.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.0.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.0/manifests"},{"name":"v1.2.0","sha":"ab1a08cd578c2c5ddaae5490bb9fc9a4759ae85e","kind":"commit","published_at":"2018-09-02T22:20:33.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.2.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.2.0/manifests"},{"name":"1.1.1","sha":"23ab47deb5a321481be0c4936b810c1420da2262","kind":"commit","published_at":"2018-01-29T21:27:27.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/1.1.1","html_url":"https://github.com/matcornic/hermes/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/1.1.1/manifests"},{"name":"v1.1.1","sha":"23ab47deb5a321481be0c4936b810c1420da2262","kind":"commit","published_at":"2018-01-29T21:27:27.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.1.1","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"97e4381206e810677b08ddf54c778d84ae4ebf6e","kind":"commit","published_at":"2017-12-12T19:25:45.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.1.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"f72fbfe860d779262ed6119515bf01d546af7794","kind":"commit","published_at":"2017-08-26T09:48:41.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.0.1","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"377cc7e34f13533db0c3352b4fc7513c3b64522d","kind":"commit","published_at":"2017-06-18T15:14:58.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.0.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-11-03T10:05:27.353Z","dependent_packages_count":94,"downloads":null,"downloads_period":null,"dependent_repos_count":123,"rankings":{"downloads":null,"dependent_repos_count":0.5496752417733236,"dependent_packages_count":0.47716224114646605,"stargazers_count":1.3174824505233425,"forks_count":1.882616492817631,"docker_downloads_count":0.6639776419966607,"average":0.9781828136514849},"purl":"pkg:golang/github.com/matcornic/hermes/v2","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/matcornic/hermes/v2","docker_dependents_count":11,"docker_downloads_count":284883,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/matcornic/hermes/v2","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/matcornic/hermes/v2/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-17T12:09:13.701Z","issues_count":53,"pull_requests_count":57,"avg_time_to_close_issue":39824592.75,"avg_time_to_close_pull_request":27261828.905660376,"issues_closed_count":36,"pull_requests_closed_count":53,"pull_request_authors_count":35,"issue_authors_count":53,"avg_comments_per_issue":2.2264150943396226,"avg_comments_per_pull_request":2.4035087719298245,"merged_pull_requests_count":21,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1200.0,"past_year_avg_time_to_close_pull_request":6926.714285714285,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/issues","maintainers":[{"login":"matcornic","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matcornic"}],"active_maintainers":[{"login":"matcornic","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matcornic"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes%2Fv2/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes%2Fv2/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes%2Fv2/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes%2Fv2/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes%2Fv2/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes%2Fv2/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2181468,"maintainers_count":0,"namespaces_count":792747,"keywords_count":113213,"github":"golang","metadata":{"funded_packages_count":53976},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-06-10T05:03:23.672Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":3495579,"name":"github.com/matcornic/hermes","ecosystem":"go","description":"","homepage":"https://github.com/matcornic/hermes","licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/matcornic/hermes","keywords_array":[],"namespace":"github.com/matcornic","versions_count":6,"first_release_published_at":"2017-06-18T15:14:58.000Z","latest_release_published_at":"2025-04-04T07:51:34.000Z","latest_release_number":"v1.3.0","last_synced_at":"2026-06-19T01:30:57.560Z","created_at":"2022-04-10T19:34:57.258Z","updated_at":"2026-06-19T01:30:57.561Z","registry_url":"https://pkg.go.dev/github.com/matcornic/hermes","install_command":"go get github.com/matcornic/hermes","documentation_url":"https://pkg.go.dev/github.com/matcornic/hermes#section-documentation","metadata":{},"repo_metadata":{"id":41183225,"uuid":"86179273","full_name":"matcornic/hermes","owner":"matcornic","description":"Golang package that generates clean, responsive HTML e-mails for sending transactional mail","archived":false,"fork":false,"pushed_at":"2025-04-04T08:12:02.000Z","size":1349,"stargazers_count":2954,"open_issues_count":20,"forks_count":245,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-11-03T10:01:52.156Z","etag":null,"topics":["awesome-go","email","email-template","email-template-generator","emails","generator","golang","hermes","mailgen","smtp","template","templating"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matcornic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2017-03-25T18:25:36.000Z","updated_at":"2025-11-03T07:54:22.000Z","dependencies_parsed_at":"2025-04-10T13:09:36.154Z","dependency_job_id":"e28ef33c-d5ad-411f-a3f7-e4cf70d6cc4a","html_url":"https://github.com/matcornic/hermes","commit_stats":{"total_commits":77,"total_committers":15,"mean_commits":5.133333333333334,"dds":"0.38961038961038963","last_synced_commit":"b49681588c91ffdbdb768a09fcfb460e535baafe"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/matcornic/hermes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/sbom","scorecard":{"id":623472,"data":{"date":"2025-08-11","repo":{"name":"github.com/matcornic/hermes","commit":"db8901938bc20e5c1980731141e6845621ec625e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":2,"reason":"Found 4/15 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:6","Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/matcornic/hermes/main.yml/master?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'master'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'master'","Warn: PRs are not required to make changes on branch 'master'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T05:44:56.028Z","repository_id":41183225,"created_at":"2025-08-21T05:44:56.028Z","updated_at":"2025-08-21T05:44:56.028Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282438000,"owners_count":26669106,"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-11-03T02:00:05.676Z","response_time":108,"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_record":{"login":"matcornic","name":"Mathieu Cornic","uuid":"3520706","kind":"user","description":"","email":"","website":"http://matcornic.github.io/","location":"Rennes, France","twitter":null,"company":"SorareData","icon_url":"https://avatars.githubusercontent.com/u/3520706?u=de770762862e0ef5871342dbf462af48263c4d86\u0026v=4","repositories_count":27,"last_synced_at":"2024-05-22T00:18:33.499Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matcornic","funding_links":[],"total_stars":4577,"followers":139,"following":51,"created_at":"2022-11-07T03:00:25.965Z","updated_at":"2024-05-22T00:18:35.559Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcornic/repositories"},"tags":[{"name":"v1.3.0","sha":"7e0edadb825cca415db63ad2b37fab6a7c7be8eb","kind":"commit","published_at":"2025-04-04T07:51:34.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.3.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.3.0/manifests"},{"name":"v2.1.0","sha":"b49681588c91ffdbdb768a09fcfb460e535baafe","kind":"commit","published_at":"2020-01-29T21:58:26.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.1.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"fcfd0bc1c87579297b92847f24459abfcd8239b5","kind":"commit","published_at":"2019-02-18T12:34:50.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.0.2","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"5d751c937df9863c844d5631b2ef96bc8fda45ba","kind":"commit","published_at":"2018-10-29T19:26:23.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.0.1","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"b72a89aeb63f06b23996967498f3fd7dd594ea4f","kind":"commit","published_at":"2018-10-27T17:12:18.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v2.0.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v2.0.0/manifests"},{"name":"v1.2.0","sha":"ab1a08cd578c2c5ddaae5490bb9fc9a4759ae85e","kind":"commit","published_at":"2018-09-02T22:20:33.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.2.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.2.0/manifests"},{"name":"1.1.1","sha":"23ab47deb5a321481be0c4936b810c1420da2262","kind":"commit","published_at":"2018-01-29T21:27:27.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/1.1.1","html_url":"https://github.com/matcornic/hermes/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/1.1.1/manifests"},{"name":"v1.1.1","sha":"23ab47deb5a321481be0c4936b810c1420da2262","kind":"commit","published_at":"2018-01-29T21:27:27.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.1.1","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"97e4381206e810677b08ddf54c778d84ae4ebf6e","kind":"commit","published_at":"2017-12-12T19:25:45.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.1.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"f72fbfe860d779262ed6119515bf01d546af7794","kind":"commit","published_at":"2017-08-26T09:48:41.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.0.1","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"377cc7e34f13533db0c3352b4fc7513c3b64522d","kind":"commit","published_at":"2017-06-18T15:14:58.000Z","download_url":"https://codeload.github.com/matcornic/hermes/tar.gz/v1.0.0","html_url":"https://github.com/matcornic/hermes/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matcornic/hermes@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-11-03T10:05:27.329Z","dependent_packages_count":19,"downloads":null,"downloads_period":null,"dependent_repos_count":41,"rankings":{"downloads":null,"dependent_repos_count":0.8710405208888143,"dependent_packages_count":1.1492189261056818,"stargazers_count":1.3174824505233425,"forks_count":1.882616492817631,"docker_downloads_count":0.927394339084415,"average":1.229550545883977},"purl":"pkg:golang/github.com/matcornic/hermes","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/matcornic/hermes","docker_dependents_count":6,"docker_downloads_count":84259,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/matcornic/hermes","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/matcornic/hermes/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-17T12:09:13.701Z","issues_count":53,"pull_requests_count":57,"avg_time_to_close_issue":39824592.75,"avg_time_to_close_pull_request":27261828.905660376,"issues_closed_count":36,"pull_requests_closed_count":53,"pull_request_authors_count":35,"issue_authors_count":53,"avg_comments_per_issue":2.2264150943396226,"avg_comments_per_pull_request":2.4035087719298245,"merged_pull_requests_count":21,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1200.0,"past_year_avg_time_to_close_pull_request":6926.714285714285,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/issues","maintainers":[{"login":"matcornic","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matcornic"}],"active_maintainers":[{"login":"matcornic","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matcornic"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatcornic%2Fhermes/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2181468,"maintainers_count":0,"namespaces_count":792747,"keywords_count":113213,"github":"golang","metadata":{"funded_packages_count":53976},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-06-10T05:03:23.672Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":8287,"full_name":"matcornic/hermes","default_branch":"master","total_commits":80,"total_committers":15,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":5.333333333333333,"dds":0.375,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-06-18T01:02:06.363Z","last_synced_commit":"db8901938bc20e5c1980731141e6845621ec625e","created_at":"2023-03-07T09:47:55.471Z","updated_at":"2026-06-18T01:01:43.873Z","committers":[{"name":"matcornic","email":"mathieu.cornic@gmail.com","login":"matcornic","count":50},{"name":"Atrox","email":"mail@atrox.me","login":"Atrox","count":8},{"name":"Mathieu Cornic","email":"mathieu.cornic@corp.ovh.com","login":null,"count":5},{"name":"Thibaut Rousseau","email":"thibaut.rousseau@protonmail.com","login":"Thiht","count":4},{"name":"Frido Koch","email":"info@fridokoch.de","login":"fridolin-koch","count":3},{"name":"mlgd","email":"mlgd17@gmail.com","login":"mlgd","count":1},{"name":"fossabot","email":"badges@fossa.io","login":"fossabot","count":1},{"name":"Samuel Kelemen","email":"SCKelemen","login":"SCKelemen","count":1},{"name":"Mackenzie Boudreau","email":"mack.boudreau2@gmail.com","login":"mack","count":1},{"name":"Jonathan ES Lin","email":"ernsheong@gmail.com","login":"ernsheong","count":1},{"name":"Danny Brewster","email":"danny@neodisrupt.com","login":"btcdanny","count":1},{"name":"CrazyMax","email":"crazy-max","login":"crazy-max","count":1},{"name":"Alexey Kamenskiy","email":"me@akamensky.com","login":"akamensky","count":1},{"name":"Nguyen Viet Tuan","email":"tuan.nguyen.viet@nextop.asia","login":null,"count":1},{"name":"Eric Berry","email":"cavneb@gmail.com","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-20T00:00:10.001Z","repositories_count":6264294,"commits_count":875188865,"contributors_count":35081442,"owners_count":1168942,"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":{"table":{"full_name":"matcornic/hermes","html_url":"https://github.com/matcornic/hermes","last_synced_at":"2026-04-01T11:02:50.219Z","status":"error","issues_count":53,"pull_requests_count":58,"avg_time_to_close_issue":39824592.75,"avg_time_to_close_pull_request":26851095.14814815,"issues_closed_count":36,"pull_requests_closed_count":54,"pull_request_authors_count":36,"issue_authors_count":53,"avg_comments_per_issue":2.2264150943396226,"avg_comments_per_pull_request":2.3620689655172415,"merged_pull_requests_count":21,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":1200.0,"past_year_avg_time_to_close_pull_request":641336.625,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":8,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-16T03:59:37.511Z","updated_at":"2026-04-01T11:02:50.219Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcornic%2Fhermes/issues","issue_labels_count":{"table":{"enhancement":10,"need user feedback":3,"question":1,"bug":1,"wontfix":1,"help wanted":1}},"pull_request_labels_count":{"table":{"need user feedback":1}},"issue_author_associations_count":{"table":{"NONE":49,"CONTRIBUTOR":3,"OWNER":1}},"pull_request_author_associations_count":{"table":{"NONE":36,"CONTRIBUTOR":13,"OWNER":9}},"issue_authors":{"table":{"thomasf":1,"TudorHulban":1,"croaker8":1,"Rezwanul-Haque":1,"kben":1,"Pokerkoffer":1,"keylxiao":1,"nabbar":1,"anisbhsl":1,"zloyded":1,"Needrima":1,"nlamirault":1,"kaypee90":1,"akamensky":1,"younisshah":1,"severedsea":1,"diego-duartera":1,"kravemir":1,"Dontmindmes":1,"ping-localhost":1,"kerak19":1,"rbkumar88":1,"yazver":1,"jaybeecave":1,"fridolin-koch":1,"MayukhSobo":1,"cheddarwhizzy":1,"FGRibreau":1,"sklinkert":1,"wilsontamarozzi":1,"matcornic":1,"maxekman":1,"nielsalkema":1,"kpikamlesh":1,"Mokto":1,"AlexDunmow":1,"Depado":1,"catusax":1,"vuciv":1,"rickb777":1,"juliusmh":1,"harmnot":1,"loeffel-io":1,"fmonod":1,"AkezhanOb1":1,"rasky":1,"patlux":1,"btcdanny":1,"wI2L":1,"YezzizzeY":1,"rriixx":1,"janekolszak":1,"issmirnov":1}},"pull_request_authors":{"table":{"matcornic":9,"Konstantsiy":5,"AdamDrewsTR":3,"theromis":3,"akumbhani66":2,"rickb777":2,"Atrox":2,"kaypee90":2,"duncancrawford":2,"britishboop":2,"mlgd":1,"DeedleFake":1,"akamensky":1,"coderberry":1,"fossabot":1,"cheddarwhizzy":1,"btcdanny":1,"ernsheong":1,"fridolin-koch":1,"arxdsilva":1,"ruqqq":1,"tatang26":1,"Thiht":1,"smithcoin":1,"wI2L":1,"viettuan1807":1,"hafizarr":1,"SCKelemen":1,"Pokerkoffer":1,"ChronosMasterOfAllTime":1,"mvrhov":1,"janekolszak":1,"mack":1,"severedsea":1,"jinroh":1,"crazy-max":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-18T00:00:09.580Z","repositories_count":14813701,"issues_count":33078745,"pull_requests_count":109188489,"authors_count":11309965,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"NONE":5}},"past_year_issue_authors":{"table":{"patlux":1}},"past_year_pull_request_authors":{"table":{"AdamDrewsTR":3,"ChronosMasterOfAllTime":1,"smithcoin":1}},"maintainers":[{"table":{"login":"matcornic","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matcornic"}}],"active_maintainers":[]}},"events":{"total":{"ReleaseEvent":2,"DeleteEvent":1,"PullRequestEvent":8,"ForkEvent":6,"IssuesEvent":10,"WatchEvent":140,"IssueCommentEvent":14,"PushEvent":5,"CreateEvent":3},"last_year":{"PullRequestEvent":2,"ForkEvent":4,"IssuesEvent":1,"WatchEvent":65,"IssueCommentEvent":5}},"keywords":["awesome-go","email","email-template","email-template-generator","emails","generator","golang","hermes","mailgen","smtp","template","templating"],"dependencies":[{"ecosystem":"go","filepath":"go.mod","sha":null,"kind":"manifest","created_at":"2022-08-10T01:43:02.028Z","updated_at":"2022-08-10T01:43:02.028Z","repository_link":"https://github.com/matcornic/hermes/blob/master/go.mod","dependencies":[{"id":991848773,"package_name":"github.com/Masterminds/semver","ecosystem":"go","requirements":"v1.4.2","direct":true,"kind":"runtime","optional":false},{"id":991848774,"package_name":"github.com/Masterminds/sprig","ecosystem":"go","requirements":"v2.16.0+incompatible","direct":true,"kind":"runtime","optional":false},{"id":991848775,"package_name":"github.com/PuerkitoBio/goquery","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":991848776,"package_name":"github.com/aokoli/goutils","ecosystem":"go","requirements":"v1.0.1","direct":true,"kind":"runtime","optional":false},{"id":991848777,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.1","direct":true,"kind":"runtime","optional":false},{"id":991848778,"package_name":"github.com/go-gomail/gomail","ecosystem":"go","requirements":"v0.0.0-20160411212932-81ebce5c23df","direct":true,"kind":"runtime","optional":false},{"id":991848779,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":991848780,"package_name":"github.com/gorilla/css","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":991848781,"package_name":"github.com/huandu/xstrings","ecosystem":"go","requirements":"v1.2.0","direct":true,"kind":"runtime","optional":false},{"id":991848782,"package_name":"github.com/imdario/mergo","ecosystem":"go","requirements":"v0.3.6","direct":true,"kind":"runtime","optional":false},{"id":991848783,"package_name":"github.com/jaytaylor/html2text","ecosystem":"go","requirements":"v0.0.0-20180606194806-57d518f124b0","direct":true,"kind":"runtime","optional":false},{"id":991848784,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.1.0","direct":true,"kind":"runtime","optional":false},{"id":991848785,"package_name":"github.com/mattn/go-runewidth","ecosystem":"go","requirements":"v0.0.3","direct":true,"kind":"runtime","optional":false},{"id":991848786,"package_name":"github.com/olekukonko/tablewriter","ecosystem":"go","requirements":"v0.0.1","direct":true,"kind":"runtime","optional":false},{"id":991848787,"package_name":"github.com/pmezard/go-difflib","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":991848788,"package_name":"github.com/russross/blackfriday/v2","ecosystem":"go","requirements":"v2.0.1","direct":true,"kind":"runtime","optional":false},{"id":991848789,"package_name":"github.com/shurcooL/sanitized_anchor_name","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":991848790,"package_name":"github.com/ssor/bom","ecosystem":"go","requirements":"v0.0.0-20170718123548-6386211fdfcf","direct":true,"kind":"runtime","optional":false},{"id":991848791,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.2.2","direct":true,"kind":"runtime","optional":false},{"id":991848792,"package_name":"github.com/vanng822/css","ecosystem":"go","requirements":"v0.0.0-20190504095207-a21e860bcd04","direct":true,"kind":"runtime","optional":false},{"id":991848793,"package_name":"github.com/vanng822/go-premailer","ecosystem":"go","requirements":"v0.0.0-20191214114701-be27abe028fe","direct":true,"kind":"runtime","optional":false},{"id":991848794,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20181029175232-7e6ffbd03851","direct":true,"kind":"runtime","optional":false},{"id":991848795,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190225065934-cc5685c2db12","direct":true,"kind":"runtime","optional":false},{"id":991848796,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20180628173108-788fd7840127","direct":true,"kind":"runtime","optional":false},{"id":991848797,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"go","filepath":"go.sum","sha":null,"kind":"lockfile","created_at":"2022-08-10T01:43:02.612Z","updated_at":"2022-08-10T01:43:02.612Z","repository_link":"https://github.com/matcornic/hermes/blob/master/go.sum","dependencies":[{"id":991857648,"package_name":"github.com/Masterminds/semver","ecosystem":"go","requirements":"v1.4.2","direct":false,"kind":"runtime","optional":false},{"id":991857649,"package_name":"github.com/Masterminds/sprig","ecosystem":"go","requirements":"v2.16.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":991857650,"package_name":"github.com/PuerkitoBio/goquery","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":991857651,"package_name":"github.com/andybalholm/cascadia","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":991857652,"package_name":"github.com/aokoli/goutils","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":991857653,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":991857654,"package_name":"github.com/go-gomail/gomail","ecosystem":"go","requirements":"v0.0.0-20160411212932-81ebce5c23df","direct":false,"kind":"runtime","optional":false},{"id":991857655,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":991857656,"package_name":"github.com/gorilla/css","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":991857657,"package_name":"github.com/huandu/xstrings","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":991857658,"package_name":"github.com/imdario/mergo","ecosystem":"go","requirements":"v0.3.6","direct":false,"kind":"runtime","optional":false},{"id":991857659,"package_name":"github.com/jaytaylor/html2text","ecosystem":"go","requirements":"v0.0.0-20180606194806-57d518f124b0","direct":false,"kind":"runtime","optional":false},{"id":991857660,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":991857661,"package_name":"github.com/kr/pty","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":991857662,"package_name":"github.com/kr/text","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":991857663,"package_name":"github.com/mattn/go-runewidth","ecosystem":"go","requirements":"v0.0.3","direct":false,"kind":"runtime","optional":false},{"id":991857664,"package_name":"github.com/olekukonko/tablewriter","ecosystem":"go","requirements":"v0.0.1","direct":false,"kind":"runtime","optional":false},{"id":991857665,"package_name":"github.com/pmezard/go-difflib","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":991857666,"package_name":"github.com/russross/blackfriday/v2","ecosystem":"go","requirements":"v2.0.1","direct":false,"kind":"runtime","optional":false},{"id":991857667,"package_name":"github.com/shurcooL/sanitized_anchor_name","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":991857668,"package_name":"github.com/ssor/bom","ecosystem":"go","requirements":"v0.0.0-20170718123548-6386211fdfcf","direct":false,"kind":"runtime","optional":false},{"id":991857669,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.2.2","direct":false,"kind":"runtime","optional":false},{"id":991857670,"package_name":"github.com/vanng822/css","ecosystem":"go","requirements":"v0.0.0-20190504095207-a21e860bcd04","direct":false,"kind":"runtime","optional":false},{"id":991857671,"package_name":"github.com/vanng822/go-premailer","ecosystem":"go","requirements":"v0.0.0-20191214114701-be27abe028fe","direct":false,"kind":"runtime","optional":false},{"id":991857672,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20181029175232-7e6ffbd03851","direct":false,"kind":"runtime","optional":false},{"id":991857673,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20180218175443-cbe0f9307d01","direct":false,"kind":"runtime","optional":false},{"id":991857674,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20181029044818-c44066c5c816","direct":false,"kind":"runtime","optional":false},{"id":991857675,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20181114220301-adae6a3d119a","direct":false,"kind":"runtime","optional":false},{"id":991857676,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190225065934-cc5685c2db12","direct":false,"kind":"runtime","optional":false},{"id":991857677,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v0.0.0-20161208181325-20d25e280405","direct":false,"kind":"runtime","optional":false},{"id":991857678,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20180628173108-788fd7840127","direct":false,"kind":"runtime","optional":false},{"id":991857679,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2025-04-10T13:09:35.816Z","updated_at":"2025-04-10T13:09:35.816Z","repository_link":"https://github.com/matcornic/hermes/blob/master/.github/workflows/lint.yml","dependencies":[{"id":22627330863,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":22627330864,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22627330865,"package_name":"golangci/golangci-lint-action","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/main.yml","sha":null,"kind":"manifest","created_at":"2025-04-10T13:09:36.030Z","updated_at":"2025-04-10T13:09:36.030Z","repository_link":"https://github.com/matcornic/hermes/blob/master/.github/workflows/main.yml","dependencies":[{"id":22627330887,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22627330890,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]}],"score":23.5444308754918,"created_at":"2025-08-07T14:55:26.253Z","updated_at":"2026-06-20T02:00:43.762Z","avatar_url":"https://github.com/matcornic.png","language":"Go","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/362585","html_url":"https://summary.ecosyste.ms/projects/362585"}