{"id":31753943,"url":"https://github.com/mrz1836/go-coverage","last_synced_at":"2026-04-07T01:02:51.198Z","repository":{"id":309425149,"uuid":"1034992606","full_name":"mrz1836/go-coverage","owner":"mrz1836","description":"📊 Your Coverage. Your Infrastructure. Pure Go.","archived":false,"fork":false,"pushed_at":"2026-03-30T15:17:26.000Z","size":4187,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-30T17:17:59.314Z","etag":null,"topics":["coverage","coverage-report","coverage-reports","github","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","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/mrz1836.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":".github/AGENTS.md","dco":null,"cla":null},"funding":{"github":"mrz1836","custom":"https://mrz1818.com/?tab=tips\u0026utm_source=github\u0026utm_medium=sponsor-link\u0026utm_campaign=go-coverage\u0026utm_term=go-coverage\u0026utm_content=go-coverage","buy_me_a_coffee":"mrz1818"}},"created_at":"2025-08-09T12:29:07.000Z","updated_at":"2026-03-30T15:12:59.000Z","dependencies_parsed_at":"2026-01-28T01:04:51.111Z","dependency_job_id":null,"html_url":"https://github.com/mrz1836/go-coverage","commit_stats":null,"previous_names":["mrz1836/go-coverage"],"tags_count":41,"template":false,"template_full_name":"mrz1836/go-template","purl":"pkg:github/mrz1836/go-coverage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrz1836%2Fgo-coverage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrz1836%2Fgo-coverage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrz1836%2Fgo-coverage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrz1836%2Fgo-coverage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrz1836","download_url":"https://codeload.github.com/mrz1836/go-coverage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrz1836%2Fgo-coverage/sbom","scorecard":{"id":926166,"data":{"date":"2025-08-26T14:36:58Z","repo":{"name":"github.com/mrz1836/go-coverage","commit":"b4fb1be0a970ff678237598582279f2d631a87f0"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.9,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"project was created within the last 90 days. Please review its contents carefully","details":["Warn: Repository was created within the last 90 days."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/auto-merge-on-approval.yml:89","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:32","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dependabot-auto-merge.yml:88","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/fortress-coverage.yml:110","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/fortress-coverage.yml:114","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress-coverage.yml:2094","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/fortress-release.yml:55","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/fortress-test-suite.yml:73","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress-test-suite.yml:412","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress-test-suite.yml:607","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/fortress-test-suite.yml:720","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/fortress-test-suite.yml:716","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:97","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:116","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:128","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:176","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:257","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/fortress.yml:379","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:195","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:214","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/fortress.yml:234","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/fortress.yml:230","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:276","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:389","Info: jobLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:62","Info: jobLevel 'contents' permission set to 'read': .github/workflows/pull-request-management.yml:432","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/pull-request-management.yml:536","Info: jobLevel 'contents' permission set to 'read': .github/workflows/pull-request-management.yml:537","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pull-request-management.yml:639","Info: jobLevel 'contents' permission set to 'read': .github/workflows/pull-request-management.yml:86","Info: jobLevel 'contents' permission set to 'read': .github/workflows/pull-request-management.yml:254","Info: jobLevel 'contents' permission set to 'read': .github/workflows/pull-request-management.yml:339","Info: jobLevel 'contents' permission set to 'read': .github/workflows/sync-labels.yml:103","Info: topLevel 'contents' permission set to 'read': .github/workflows/auto-merge-on-approval.yml:39","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependabot-auto-merge.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-benchmarks.yml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-code-quality.yml:54","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-coverage.yml:53","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-performance-summary.yml:78","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-pre-commit.yml:46","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-release.yml:45","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-security-scans.yml:53","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-setup-config.yml:133","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-test-magex.yml:27","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress-test-suite.yml:63","Info: topLevel 'contents' permission set to 'read': .github/workflows/fortress.yml:45","Info: topLevel 'contents' permission set to 'read': .github/workflows/pull-request-management.yml:36","Info: topLevel 'contents' permission set to 'read': .github/workflows/scorecard.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale-check.yml:32","Info: topLevel 'contents' permission set to 'read': .github/workflows/sync-labels.yml:36"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-benchmarks.yml:66","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-benchmarks.yml:105","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-benchmarks.yml:113","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-benchmarks.yml:157","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:83","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:122","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:130","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:176","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:191","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:227","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:257","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress-test-suite.yml:345","Info: Possibly incomplete results: error parsing job operating system: .github/workflows/fortress.yml:150","Info:  63 out of  63 GitHub-owned GitHubAction dependencies pinned","Info:   7 out of   7 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/ab2f6e92482462fe66246d9e32f642855a691dc1/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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (8) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:18","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:127","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:188","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:263","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:343","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:405","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:477","Info: GoBuiltInFuzzer integration found: internal/badge/generator_fuzz_test.go:546","Info: GoBuiltInFuzzer integration found: internal/parser/parser_fuzz_test.go:14","Info: GoBuiltInFuzzer integration found: internal/parser/parser_fuzz_test.go:61","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:15","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:86","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:146","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:206","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:269","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:341","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:422","Info: GoBuiltInFuzzer integration found: internal/urlutil/urls_fuzz_test.go:475"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.1.5 not signed: https://api.github.com/repos/mrz1836/go-coverage/releases/241669757","Warn: release artifact v1.1.4 not signed: https://api.github.com/repos/mrz1836/go-coverage/releases/241538241","Warn: release artifact v1.1.3 not signed: https://api.github.com/repos/mrz1836/go-coverage/releases/241359454","Warn: release artifact v1.1.2 not signed: https://api.github.com/repos/mrz1836/go-coverage/releases/241033685","Warn: release artifact v1.1.1 not signed: https://api.github.com/repos/mrz1836/go-coverage/releases/240992600","Warn: release artifact v1.1.5 does not have provenance: https://api.github.com/repos/mrz1836/go-coverage/releases/241669757","Warn: release artifact v1.1.4 does not have provenance: https://api.github.com/repos/mrz1836/go-coverage/releases/241538241","Warn: release artifact v1.1.3 does not have provenance: https://api.github.com/repos/mrz1836/go-coverage/releases/241359454","Warn: release artifact v1.1.2 does not have provenance: https://api.github.com/repos/mrz1836/go-coverage/releases/241033685","Warn: release artifact v1.1.1 does not have provenance: https://api.github.com/repos/mrz1836/go-coverage/releases/240992600"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Branch-Protection","score":4,"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'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: 'last push approval' is disabled on branch 'master'","Warn: 'up-to-date branches' is disabled on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: skyetel @buxorg @bitcoinschema @tonicpow  @bitcoin-sv"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}},{"name":"CI-Tests","score":10,"reason":"8 out of 8 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}}]},"last_synced_at":"2025-08-26T20:12:57.245Z","repository_id":309425149,"created_at":"2025-08-26T20:12:57.245Z","updated_at":"2025-08-26T20:12:57.245Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31495468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"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":["coverage","coverage-report","coverage-reports","github","go","golang"],"created_at":"2025-10-09T17:59:02.871Z","updated_at":"2026-04-07T01:02:51.150Z","avatar_url":"https://github.com/mrz1836.png","language":"Go","funding_links":["https://github.com/sponsors/mrz1836","https://mrz1818.com/?tab=tips\u0026utm_source=github\u0026utm_medium=sponsor-link\u0026utm_campaign=go-coverage\u0026utm_term=go-coverage\u0026utm_content=go-coverage","https://buymeacoffee.com/mrz1818"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 📊\u0026nbsp;\u0026nbsp;go-coverage\n\n**Your Coverage. Your Infrastructure. Pure Go.**\n\n\u003cbr/\u003e\n\n\u003ca href=\"https://github.com/mrz1836/go-coverage/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release-pre/mrz1836/go-coverage?include_prereleases\u0026style=flat-square\u0026logo=github\u0026color=black\" alt=\"Release\"\u003e\u003c/a\u003e\n\u003ca href=\"https://golang.org/\"\u003e\u003cimg src=\"https://img.shields.io/github/go-mod/go-version/mrz1836/go-coverage?style=flat-square\u0026logo=go\u0026color=00ADD8\" alt=\"Go Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mrz1836/go-coverage/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/mrz1836/go-coverage?style=flat-square\u0026color=blue\" alt=\"License\"\u003e\u003c/a\u003e\n\n\u003cbr/\u003e\n\n\u003ctable align=\"center\" border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"right\"\u003e\n       \u003ccode\u003eCI / CD\u003c/code\u003e \u0026nbsp;\u0026nbsp;\n    \u003c/td\u003e\n    \u003ctd align=\"left\"\u003e\n       \u003ca href=\"https://github.com/mrz1836/go-coverage/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/mrz1836/go-coverage/fortress.yml?branch=master\u0026label=build\u0026logo=github\u0026style=flat-square\" alt=\"Build\"\u003e\u003c/a\u003e\n       \u003ca href=\"https://github.com/mrz1836/go-coverage/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/mrz1836/go-coverage?style=flat-square\u0026logo=git\u0026logoColor=white\u0026label=last%20update\" alt=\"Last Commit\"\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"right\"\u003e\n       \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u003ccode\u003eQuality\u003c/code\u003e \u0026nbsp;\u0026nbsp;\n    \u003c/td\u003e\n    \u003ctd align=\"left\"\u003e\n       \u003ca href=\"https://goreportcard.com/report/github.com/mrz1836/go-coverage\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/mrz1836/go-coverage?style=flat-square\" alt=\"Go Report\"\u003e\u003c/a\u003e\n       \u003ca href=\"https://mrz1836.github.io/go-coverage/\" target=\"_blank\"\u003e\u003cimg src=\"https://mrz1836.github.io/go-coverage/coverage-flat-square.svg\" alt=\"Code Coverage\"\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd align=\"right\"\u003e\n       \u003ccode\u003eSecurity\u003c/code\u003e \u0026nbsp;\u0026nbsp;\n    \u003c/td\u003e\n    \u003ctd align=\"left\"\u003e\n       \u003ca href=\"https://scorecard.dev/viewer/?uri=github.com/mrz1836/go-coverage\"\u003e\u003cimg src=\"https://api.scorecard.dev/projects/github.com/mrz1836/go-coverage/badge?style=flat-square\" alt=\"Scorecard\"\u003e\u003c/a\u003e\n       \u003ca href=\".github/SECURITY.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/policy-active-success?style=flat-square\u0026logo=security\u0026logoColor=white\" alt=\"Security\"\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"right\"\u003e\n       \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u003ccode\u003eCommunity\u003c/code\u003e \u0026nbsp;\u0026nbsp;\n    \u003c/td\u003e\n    \u003ctd align=\"left\"\u003e\n       \u003ca href=\"https://github.com/mrz1836/go-coverage/graphs/contributors\"\u003e\u003cimg src=\"https://img.shields.io/github/contributors/mrz1836/go-coverage?style=flat-square\u0026color=orange\" alt=\"Contributors\"\u003e\u003c/a\u003e\n       \u003ca href=\"https://mrz1818.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/donate-bitcoin-ff9900?style=flat-square\u0026logo=bitcoin\" alt=\"Bitcoin\"\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n### \u003ccode\u003eProject Navigation\u003c/code\u003e\n\n\u003c/div\u003e\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n       ⚡\u0026nbsp;\u003ca href=\"#-quickstart\"\u003e\u003ccode\u003eInstallation\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n       🧪\u0026nbsp;\u003ca href=\"#-examples--tests\"\u003e\u003ccode\u003eExamples\u0026nbsp;\u0026\u0026nbsp;Tests\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n       📚\u0026nbsp;\u003ca href=\"#-documentation\"\u003e\u003ccode\u003eDocumentation\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n       🤝\u0026nbsp;\u003ca href=\"#-contributing\"\u003e\u003ccode\u003eContributing\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      🛠️\u0026nbsp;\u003ca href=\"#-code-standards\"\u003e\u003ccode\u003eCode\u0026nbsp;Standards\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      ⚡\u0026nbsp;\u003ca href=\"#-performance\"\u003e\u003ccode\u003ePerformance\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      🤖\u0026nbsp;\u003ca href=\"#-ai-usage--assistant-guidelines\"\u003e\u003ccode\u003eAI\u0026nbsp;Usage\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n       📝\u0026nbsp;\u003ca href=\"#-license\"\u003e\u003ccode\u003eLicense\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n       👥\u0026nbsp;\u003ca href=\"#-maintainers\"\u003e\u003ccode\u003eMaintainers\u003c/code\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003cbr/\u003e\n\n## ⚡ Quickstart\n\n**Go Coverage** is a complete replacement for Codecov that runs entirely in your CI/CD pipeline with zero external dependencies. Get coverage reports, badges, and dashboards deployed to GitHub Pages automatically.\n\n\u003cbr\u003e\n\n### Installation\n\n**Go Coverage** requires a [supported release of Go](https://golang.org/doc/devel/release.html#policy).\n\n**Install CLI Tool** (recommended):\n```bash\ngo install github.com/mrz1836/go-coverage/cmd/go-coverage@latest\n```\n\n**Or install go-coverage as a Library**:\n```bash\ngo get -u github.com/mrz1836/go-coverage\n```\n\n**Verify Installation**:\n```bash\ngo-coverage --version\n# go-coverage version v1.0...\n```\n\n**Upgrade to Latest Version**:\n```bash\n# Check for available updates\ngo-coverage upgrade --check\n\n# Upgrade to the latest version\ngo-coverage upgrade\n\n# Force reinstall even if already on latest\ngo-coverage upgrade --force\n```\n\n\u003cbr\u003e\n\n### Development Setup\n\nInstall [MAGE-X](https://github.com/mrz1836/mage-x) build tool for development:\n\n```bash\n# Install MAGE-X for development and building\ngo install github.com/mrz1836/mage-x/cmd/magex@latest\nmagex update:install\n```\n\n\u003cbr\u003e\n\n### Choose Your Coverage System\n\n**Option 1: Internal Coverage System (GitHub Pages)** - Recommended\n\nSet up GitHub Pages environment for coverage deployment:\n```bash\ngo-coverage setup-pages\n```\n\n**Option 2: External Coverage System (Codecov)**\n\nAdd to `.github/env/90-project.env`:\n```bash\nGO_COVERAGE_PROVIDER=codecov\nCODECOV_TOKEN_REQUIRED=true\n```\n\n**Next, deploy to your main branch and generate coverage reports!**\n\n\u003cbr\u003e\n\n### Core Features\n\n- 🏷️ **SVG Badge Generation** – Custom badges with themes and logos\n- 📊 **HTML Reports \u0026 Dashboards** – Beautiful, responsive coverage visualizations\n- 📈 **History \u0026 Trends** – Track coverage changes over time\n- 🤖 **GitHub Integration** – PR comments, commit statuses, automated deployments\n- 🚀 **GitHub Pages** – Automated deployment with zero configuration\n- 🔧 **Highly Configurable** – Thresholds, exclusions, templates, and more\n- ⬆️ **Auto-Upgrade** – Built-in upgrade command for easy updates\n\n\u003cbr/\u003e\n\n\n## 🚀 GitHub Pages Setup\n\n**Automatic Deployment**: Go Coverage automatically deploys coverage reports, badges, and dashboards to GitHub Pages with zero configuration.\n\n### Quick Setup\n\nSet up GitHub Pages environment using the integrated CLI command:\n\n```bash\n# Auto-detect repository from git remote\ngo-coverage setup-pages\n\n# Or specify repository explicitly\ngo-coverage setup-pages owner/repo\n\n# Preview changes without making them\ngo-coverage setup-pages --dry-run\n\n# Use a custom domain for GitHub Pages\ngo-coverage setup-pages --custom-domain mysite.com\n```\n\n\nThis configures:\n- ✅ **GitHub Pages Environment** with proper branch policies\n- ✅ **Deployment Permissions** for `master`, `gh-pages`, and any `*/*/*/*/*/*` branches\n- ✅ **Environment Protection** rules for secure deployments\n\n### What Gets Deployed\n\nYour coverage system automatically creates:\n\n```\nhttps://yourname.github.io/yourrepo/\n├── coverage.svg              # Live coverage badge\n├── index.html                # Coverage dashboard\n├── coverage.html             # Detailed coverage report\n└── reports/branch/master/    # Branch-specific reports\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eManual GitHub Pages Configuration\u003c/strong\u003e\u003c/summary\u003e\n\nIf the setup command fails, manually configure:\n\n1. Go to **Settings** → **Environments** → **github-pages**\n2. Under **Deployment branches**, select \"Selected branches and tags\"\n3. Add these deployment branch rules:\n   - `master` (main deployments)\n   - `gh-pages` (GitHub Pages default)\n   - `*`, `*/*`, `*/*/*`, `*/*/*/*`, `*/*/*/*/*`, `*/*/*/*/*/*` (all branches for PR-specific reports)\n4. Save changes and verify in workflow runs\n\n\u003c/details\u003e\n\n### Integration with CI/CD\n\nThe coverage system integrates with your existing GitHub Actions:\n\n```yaml\n# In your .github/workflows/ci.yml\n- name: Generate Coverage Report\n  run: |\n    go test -coverprofile=coverage.txt ./...\n    go-coverage complete -i coverage.txt\n```\n\n\u003cbr/\u003e\n\n## 🎯 Starting a New Project\n\n### 1. Install the CLI Tool\n\n```bash\ngo install github.com/mrz1836/go-coverage/cmd/go-coverage@latest\n```\n\n### 2. Configure GitHub Pages\n\n```bash\n# Use the integrated command (requires gh CLI)\ngo-coverage setup-pages\n```\n\n### 3. Add to GitHub Actions\n\nAdd coverage generation to your workflow:\n\n```yaml\nname: Coverage\non: [push, pull_request]\n\njobs:\n  coverage:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-go@v5\n        with:\n          go-version: '1.24'\n\n      - name: Run Tests with Coverage\n        run: go test -coverprofile=coverage.txt ./...\n\n      - name: Generate Coverage Reports\n        run: go-coverage complete -i coverage.txt -o coverage\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Deploy to GitHub Pages\n        uses: peaceiris/actions-gh-pages@v3\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          publish_dir: ./coverage\n```\n\n### 4. First Run\n\nCommit and push - your coverage reports will be available at:\n- **Reports**: `https://yourname.github.io/yourrepo/`\n- **Badge**: `https://yourname.github.io/yourrepo/coverage.svg`\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAdvanced Configuration\u003c/strong\u003e\u003c/summary\u003e\n\nCreate a `.go-coverage.json` config file:\n\n```json\n{\n  \"coverage\": {\n    \"threshold\": 80.0,\n    \"exclude_paths\": [\"vendor/\", \"test/\"],\n    \"exclude_files\": [\"*.pb.go\", \"*_gen.go\"]\n  },\n  \"badge\": {\n    \"style\": \"flat\",\n    \"logo\": \"go\"\n  },\n  \"report\": {\n    \"title\": \"My Project Coverage\",\n    \"theme\": \"dark\"\n  },\n  \"history\": {\n    \"enabled\": true,\n    \"retention_days\": 90\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## 📚 Documentation\n\n### Quick Start Guides\n- **[⚡ Quickstart](docs/quickstart.md)** – Get started in 5 minutes with installation and basic setup\n- **[📚 User Guide](docs/user-guide.md)** – Complete usage guide with examples and workflows\n\n### Reference Documentation\n- **[🛠️ CLI Reference](docs/cli-reference.md)** – Detailed command-line reference and options\n- **[⚙️ Configuration](docs/configuration.md)** – Environment variables and configuration options\n- **CLI Reference** – Complete command documentation at [pkg.go.dev/github.com/mrz1836/go-coverage](https://pkg.go.dev/github.com/mrz1836/go-coverage)\n\n### Developer Resources\n- **[🤝 Contributing](docs/contributing.md)** – How to contribute code, tests, and documentation\n- **[🏗️ Architecture](docs/architecture.md)** – Technical architecture and design decisions\n\n### Features Overview\n- **Coverage Analysis** – Parse Go coverage profiles with exclusions and thresholds\n- **Badge Generation** – Create SVG badges with custom styling and themes\n- **Report Generation** – Build HTML dashboards and detailed coverage reports\n- **History Tracking** – Monitor coverage trends over time with retention policies\n- **GitHub Integration** – PR comments, commit statuses, and automated deployments\n\n\u003cbr/\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eGo Coverage Features\u003c/code\u003e\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\n* **Zero External Dependencies** – Complete coverage system that runs entirely in your CI/CD pipeline with no third-party services required.\n* **GitHub Pages Integration** – Automatic deployment of coverage reports, badges, and dashboards with branch-specific and PR-specific deployments.\n* **Advanced Coverage Analysis** – Parse Go coverage profiles with support for path exclusions, file pattern exclusions, and threshold enforcement.\n* **Professional Badge Generation** – SVG coverage badges with customizable styles, colors, logos, and themes that update automatically.\n* **Rich HTML Reports** – Beautiful, responsive coverage dashboards with detailed file-level analysis and interactive visualizations.\n* **Coverage History \u0026 Trends** – Track coverage changes over time with retention policies, trend analysis, and historical comparisons.\n* **Smart GitHub Integration** – Automated PR comments with coverage analysis, commit status checks, and diff-based coverage reporting.\n* **Multi-Branch Support** – Separate coverage tracking for different branches with automatic main branch detection and PR context handling.\n* **Comprehensive CLI Tool** – Six powerful commands (`complete`, `comment`, `parse`, `history`, `setup-pages`, `upgrade`) for all coverage operations.\n* **Highly Configurable** – JSON-based configuration for thresholds, exclusions, badge styling, report themes, and integration settings.\n* **Enterprise Ready** – Built with security, performance, and scalability in mind for production environments.\n* **Self-Contained Deployment** – Everything runs in your repository's `.github` folder with no external service dependencies or accounts required.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eLibrary Deployment\u003c/code\u003e\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\nThis project uses [goreleaser](https://github.com/goreleaser/goreleaser) for streamlined binary and library deployment to GitHub. To get started, install it via:\n\n```bash\nbrew install goreleaser\n```\n\nThe release process is defined in the [.goreleaser.yml](.goreleaser.yml) configuration file.\n\nThen create and push a new Git tag using:\n\n```bash\nmagex version:bump push=true bump=patch\n```\n\nThis process ensures consistent, repeatable releases with properly versioned artifacts and citation metadata.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eBuild Commands\u003c/code\u003e\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\nView all build commands\n\n```bash script\nmagex help\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGitHub Workflows\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\nAll workflows are driven by modular configuration in [`.github/env/`](.github/env/README.md) — no YAML editing required.\n\n**[View all workflows and the control center →](.github/docs/workflows.md)**\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eUpdating Dependencies\u003c/code\u003e\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\nTo update all dependencies (Go modules, linters, and related tools), run:\n\n```bash\nmagex deps:update\n```\n\nThis command ensures all dependencies are brought up to date in a single step, including Go modules and any tools managed by MAGE-X. It is the recommended way to keep your development environment and CI in sync with the latest versions.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🔧 Pre-commit Hooks\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\nSet up the Go-Pre-commit System to run the same formatting, linting, and tests defined in [AGENTS.md](.github/AGENTS.md) before every commit:\n\n```bash\ngo install github.com/mrz1836/go-pre-commit/cmd/go-pre-commit@latest\ngo-pre-commit install\n```\n\nThe system is configured via [`.github/env/`](.github/env/README.md) and provides 17x faster execution than traditional Python-based pre-commit hooks. See the [complete documentation](http://github.com/mrz1836/go-pre-commit) for details.\n\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## 🧪 Examples \u0026 Tests\n\nThe **Go Coverage** system is thoroughly tested via [GitHub Actions](https://github.com/mrz1836/go-coverage/actions) and uses [Go version 1.24.x](https://go.dev/doc/go1.24). View the [configuration file](.github/workflows/fortress.yml).\n\n### CLI Command Examples\n\n```bash\n# Complete coverage pipeline (parse + badge + report + history + GitHub)\ngo-coverage complete -i coverage.txt -o coverage-reports\n\n# Generate PR comment with coverage analysis\ngo-coverage comment --pr 123 --coverage coverage.txt --base-coverage base-coverage.txt\n\n# Parse coverage data with exclusions\ngo-coverage parse -i coverage.txt --exclude-paths \"vendor/,test/\" --threshold 80\n\n# View coverage history and trends\ngo-coverage history --branch master --days 30 --format json\n\n# Set up GitHub Pages environment for coverage deployment\ngo-coverage setup-pages --verbose --dry-run\ngo-coverage setup-pages owner/repo --custom-domain example.com\n\n# Upgrade to the latest version\ngo-coverage upgrade --check\ngo-coverage upgrade --force --verbose\n```\n\n### Testing the Coverage System\n\nRun all tests (fast):\n\n```bash script\nmagex test\n```\n\nRun all tests with race detector (slower):\n```bash script\nmagex test:race\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🔬 Fuzz Testing\u003c/strong\u003e\u003c/summary\u003e\n\nThe coverage system includes comprehensive fuzz tests for critical functions to ensure robustness and security:\n\n#### Available Fuzz Tests\n\n| Package                                            | Functions Tested                  | Coverage | Security Focus                 |\n|----------------------------------------------------|-----------------------------------|----------|--------------------------------|\n| **[urlutil](internal/urlutil/urls_fuzz_test.go)**  | URL building, path cleaning       | 100%     | Path traversal, XSS prevention |\n| **[badge](internal/badge/generator_fuzz_test.go)** | Badge generation, color selection | 97.7%    | SVG injection, encoding        |\n| **[parser](internal/parser/parser_fuzz_test.go)**  | Coverage parsing, file exclusion  | 84.1%    | Malformed input handling       |\n\n#### Running Fuzz Tests\n\n```bash script\n# Run specific fuzz tests\ngo test -fuzz=FuzzBuildGitHubCommitURL -fuzztime=10s ./internal/urlutil/\ngo test -fuzz=FuzzGetColorForPercentage -fuzztime=10s ./internal/badge/\ngo test -fuzz=FuzzParseStatementSimple -fuzztime=10s ./internal/parser/\n\n# Run all fuzz tests (via MAGE-X)\nmagex test-fuzz\n```\n\n#### Fuzz Test Features\n\n- ✅ **Comprehensive Input Coverage**: Valid inputs, edge cases, malformed data\n- ✅ **Security Testing**: Path traversal, XSS, injection attempts, null bytes\n- ✅ **Panic Prevention**: Never panics on any input\n- ✅ **Unicode Support**: Proper UTF-8 handling and validation\n- ✅ **Performance Testing**: Long inputs, memory efficiency\n\n\u003c/details\u003e\n\n### Example Output\n\nThe system generates comprehensive coverage reports:\n\n```\n📊 Coverage Dashboard: https://yourname.github.io/yourrepo/\n🏷️ Coverage Badge: https://yourname.github.io/yourrepo/coverage.svg\n📈 Coverage: 87.4% (1,247/1,426 lines)\n📦 Packages: 15 analyzed\n🔍 Trend: UP (+2.3% from last run)\n```\n\n\u003cbr/\u003e\n\n## ⚡ Performance\n\nThe **Go Coverage** system is optimized for speed and efficiency in CI/CD environments.\n\n```bash script\nmagex bench\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e⚡ Benchmark Results \u0026 Performance Metrics\u003c/strong\u003e\u003c/summary\u003e\n\n### Benchmark Results\n\n| Component     | Operation           | Time/op | Memory/op | Allocs/op | Description                        |\n|---------------|---------------------|---------|-----------|-----------|------------------------------------|\n| **Parser**    | Parse (100 files)   | 105.9ns | 8B        | 0         | Parse coverage data with 100 files |\n| **Parser**    | Parse (1000 files)  | 14.4ms  | 8.0MB     | 106,870   | Large coverage files               |\n| **Badge**     | Generate SVG        | 1.76µs  | 2.5KB     | 14        | Badge generation                   |\n| **Badge**     | Generate with Logo  | 1.82µs  | 2.7KB     | 15        | Badge with custom logo             |\n| **Dashboard** | Generate HTML       | 12.3ms  | 1.4MB     | 10,645    | Full dashboard generation          |\n| **Report**    | Generate Report     | 8.17ms  | 1.1MB     | 7,890     | Coverage report generation         |\n| **History**   | Record Entry        | 240µs   | 9.2KB     | 68        | Store coverage entry               |\n| **History**   | Get Trend (30 days) | 1.7ms   | 255KB     | 1,254     | Trend analysis                     |\n| **Analysis**  | Compare Coverage    | 20.4µs  | 42KB      | 146       | Coverage comparison                |\n| **Templates** | Render PR Comment   | 38.9µs  | 11KB      | 377       | Comment generation                 |\n| **URL**       | Build GitHub URL    | 50.1ns  | 48B       | 1         | URL construction                   |\n\n### Performance Characteristics\n\n- **Concurrent Operations**: All critical paths support concurrent execution\n- **Memory Efficiency**: Streaming parsers for large files\n- **Caching**: Template compilation and static asset caching\n- **Optimization**: Profile-guided optimizations for hot paths\n\n### Running Benchmarks\n\n```bash\n# Run all benchmarks\nmagex bench\n\n# Run specific component benchmarks\ngo test -bench=. ./internal/parser/...\ngo test -bench=. ./internal/badge/...\ngo test -bench=. ./internal/analytics/...\ngo test -bench=. ./internal/history/...\ngo test -bench=. ./internal/analysis/...\n\n# Run with memory profiling\ngo test -bench=. -benchmem ./...\n\n# Generate benchmark comparison\ngo test -bench=. -count=5 ./... | tee new.txt\nbenchstat old.txt new.txt\n```\n\n### Real-World Metrics\n\n- ⚡ **CI/CD Integration**: Adds \u003c 2 seconds to your workflow\n- 📊 **Memory Efficient**: Peak usage under 10MB for large repositories\n- 🚀 **GitHub Pages**: Deploy coverage reports in under 30 seconds\n- 📈 **Scalable**: Tested with repositories containing 100,000+ lines of code\n\n\u003e Performance benchmarks measured on GitHub Actions runners (10-core CPU) with production Go projects.\n\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## 🛠️ Code Standards\nRead more about this Go project's [code standards](.github/CODE_STANDARDS.md).\n\n\u003cbr/\u003e\n\n## 🤖 AI Usage \u0026 Assistant Guidelines\nRead the [AI Usage \u0026 Assistant Guidelines](.github/tech-conventions/ai-compliance.md) for details on how AI is used in this project and how to interact with the AI assistants.\n\n\u003cbr/\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🤖 Claude Code Sub-Agents \u0026 Commands\u003c/strong\u003e\u003c/summary\u003e\n\n### Sub-Agents Overview\n\nThis project leverages a comprehensive team of specialized Claude Code sub-agents to manage development, testing, and deployment workflows. Each agent has specific expertise and can work independently or collaboratively to maintain the go-coverage system.\n\n### Available Sub-Agents\n\n| Agent                                                                | Specialization                                        | Primary Tools          | Proactive Triggers              |\n|----------------------------------------------------------------------|-------------------------------------------------------|------------------------|---------------------------------|\n| **[go-test-runner](.claude/agents/go-test-runner.md)**               | Test execution, coverage analysis, failure resolution | Bash, Read, Edit, Task | After code changes, before PRs  |\n| **[go-linter](.claude/agents/go-linter.md)**                         | Code formatting, linting, standards enforcement       | Bash, Edit, Glob       | After any Go file modification  |\n| **[coverage-analyzer](.claude/agents/coverage-analyzer.md)**         | Coverage reports, badges, GitHub Pages deployment     | Bash, Write, WebFetch  | After successful test runs      |\n| **[github-integration](.claude/agents/github-integration.md)**       | PR management, status checks, API operations          | Bash, WebFetch         | PR events, deployments          |\n| **[dependency-manager](.claude/agents/dependency-manager.md)**       | Module updates, vulnerability scanning                | Bash, Edit, WebFetch   | go.mod changes, weekly scans    |\n| **[ci-workflow](.claude/agents/ci-workflow.md)**                     | GitHub Actions, pipeline optimization                 | Read, Edit, Bash       | Workflow failures, CI updates   |\n| **[code-reviewer](.claude/agents/code-reviewer.md)**                 | Code quality, security review, best practices         | Read, Grep, Glob       | After code writing/modification |\n| **[documentation-manager](.claude/agents/documentation-manager.md)** | README, API docs, changelog maintenance               | Read, Edit, WebFetch   | API changes, new features       |\n| **[performance-optimizer](.claude/agents/performance-optimizer.md)** | Benchmarking, profiling, optimization                 | Bash, Edit, Grep       | Performance issues, benchmarks  |\n| **[security-scanner](.claude/agents/security-scanner.md)**           | Vulnerability detection, compliance checks            | Bash, Grep, WebFetch   | Security advisories, scans      |\n| **[debugger](.claude/agents/debugger.md)**                           | Error analysis, test debugging, issue resolution      | Read, Edit, Bash       | Test failures, errors, panics   |\n\n### Using Sub-Agents\n\nSub-agents can be invoked in two ways:\n\n1. **Automatic Delegation**: Claude Code automatically delegates tasks based on context and the agent's specialization\n2. **Explicit Invocation**: Request a specific agent by name:\n   ```\n   \u003e Use the code-reviewer agent to review my recent changes\n   \u003e Have the debugger investigate this test failure\n   \u003e Ask the coverage-analyzer to generate a new report\n   ```\n\n### Agent Coordination\n\nSub-agents work together cohesively:\n- **go-test-runner** → triggers **coverage-analyzer** after successful tests\n- **code-reviewer** → invokes **go-linter** for style issues\n- **dependency-manager** → calls **security-scanner** for vulnerability checks\n\n### Configuration\n\nSub-agent configurations are stored in `.claude/agents/` and can be customized:\n- Edit agent prompts to adjust behavior\n- Modify tool access for security constraints\n- Add project-specific instructions\n\n### Benefits\n\n- **Specialized Expertise**: Each agent excels in its domain\n- **Parallel Processing**: Multiple agents can work simultaneously\n- **Isolated Contexts**: Agents maintain separate contexts to prevent pollution\n- **Consistent Workflows**: Standardized approaches across the team\n- **Improved Efficiency**: Faster task completion with focused agents\n\nFor detailed information about each sub-agent's capabilities and configuration, see the individual agent files in `.claude/agents/`.\n\n### Claude Code Commands\n\nThe project includes **20 powerful slash commands** that orchestrate our sub-agents for common development tasks. These commands provide quick access to complex workflows:\n\n#### Quick Examples\n\n```bash\n/fix              # Automatically fix test failures and linter issues\n/test parser.go   # Create comprehensive tests for a file\n/coverage         # Analyze and improve test coverage to 90%+\n/pr-ready        # Make your code PR-ready with all checks\n/review          # Get comprehensive code review\n/secure          # Run security vulnerability scan\n/health          # Complete project health check\n```\n\n#### Command Categories\n\n- **Quality \u0026 Testing**: `/fix`, `/test`, `/coverage`, `/dedupe`\n- **Documentation**: `/doc-update`, `/doc-review`, `/explain`, `/prd`\n- **Development**: `/review`, `/optimize`, `/refactor`\n- **Maintenance**: `/deps`, `/secure`, `/health`, `/clean`\n- **Workflow**: `/pr-ready`, `/debug-ci`, `/release-prep`, `/benchmark`, `/commit`\n\nSee the complete [**Claude Code Commands Reference**](docs/claude-commands.md) for detailed usage, examples, and best practices.\n\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## 👥 Maintainers\n| [\u003cimg src=\"https://github.com/mrz1836.png\" height=\"50\" width=\"50\" alt=\"MrZ\" /\u003e](https://github.com/mrz1836) |\n|:-----------------------------------------------------------------------------------------------------------:|\n|                                      [MrZ](https://github.com/mrz1836)                                      |\n\n\u003cbr/\u003e\n\n## 🤝 Contributing\nView the [contributing guidelines](.github/CONTRIBUTING.md) and please follow the [code of conduct](.github/CODE_OF_CONDUCT.md).\n\n### How can I help?\nAll kinds of contributions are welcome :raised_hands:!\nThe most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:.\nYou can also support this project by [becoming a sponsor on GitHub](https://github.com/sponsors/mrz1836) :clap:\nor by making a [**bitcoin donation**](https://mrz1818.com/?tab=tips\u0026utm_source=github\u0026utm_medium=sponsor-link\u0026utm_campaign=go-coverage\u0026utm_term=go-coverage\u0026utm_content=go-coverage) to ensure this journey continues indefinitely! :rocket:\n\n[![Stars](https://img.shields.io/github/stars/mrz1836/go-coverage?label=Please%20like%20us\u0026style=social\u0026v=1)](https://github.com/mrz1836/go-coverage/stargazers)\n\n\u003cbr/\u003e\n\n## 📝 License\n\n[![License](https://img.shields.io/github/license/mrz1836/go-coverage.svg?style=flat\u0026v=1)](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrz1836%2Fgo-coverage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrz1836%2Fgo-coverage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrz1836%2Fgo-coverage/lists"}