{"id":13895005,"url":"https://github.com/orlangure/gocovsh","last_synced_at":"2025-04-05T23:07:36.748Z","repository":{"id":38022278,"uuid":"453526680","full_name":"orlangure/gocovsh","owner":"orlangure","description":"Go Coverage in your terminal: a tool for exploring Go Coverage reports from the command line 💻","archived":false,"fork":false,"pushed_at":"2024-01-17T20:25:03.000Z","size":2551,"stargazers_count":358,"open_issues_count":13,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T21:08:55.766Z","etag":null,"topics":["cli","coverage","coverage-report","go","golang","golang-cli","testing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orlangure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"orlangure"}},"created_at":"2022-01-29T21:47:58.000Z","updated_at":"2024-12-08T14:39:52.000Z","dependencies_parsed_at":"2024-01-17T21:49:00.306Z","dependency_job_id":null,"html_url":"https://github.com/orlangure/gocovsh","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orlangure%2Fgocovsh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orlangure%2Fgocovsh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orlangure%2Fgocovsh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orlangure%2Fgocovsh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orlangure","download_url":"https://codeload.github.com/orlangure/gocovsh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411234,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","coverage","coverage-report","go","golang","golang-cli","testing"],"created_at":"2024-08-06T18:01:55.494Z","updated_at":"2025-04-05T23:07:36.728Z","avatar_url":"https://github.com/orlangure.png","language":"Go","funding_links":["https://github.com/sponsors/orlangure"],"categories":["Go","Applications"],"sub_categories":["Development Tools"],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"gocovsh.png\"/\u003e\n\u003c/div\u003e\n\n# \u003cdiv align=\"center\"\u003eGocovsh - Go Coverage in your terminal\u003c/div\u003e\n\n\n`gocovsh` is a tool for exploring [Go Coverage\nreports](https://go.dev/blog/cover) from the command line.\n\nDon't skip the [Giving back](#giving-back) section! 💰\n\n[Demo](#demo) below 🎬 👇\n\nThere is a Russian word *Ковш* (pronounced like \"Kovsh\") which means *a ladle*\nor *a dipper*. [\"The Big Dipper\"](https://en.wikipedia.org/wiki/Big_Dipper) is\nalso a part of the constellation [Ursa\nMajor](https://en.wikipedia.org/wiki/Ursa_Major), thus the friendly\ndipper-shaped Gopher mascot, created by [Michael Zolotov](https://www.mzolotov.com/).\n\n## \u003cdiv align=\"center\"\u003e ![Test](https://github.com/orlangure/gnomock/workflows/Test/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/orlangure/gocovsh)](https://goreportcard.com/report/github.com/orlangure/gocovsh) [![codecov](https://codecov.io/gh/orlangure/gocovsh/branch/master/graph/badge.svg?token=F0XYPSEIMK)](https://codecov.io/gh/orlangure/gocovsh) [![go-recipes](https://raw.githubusercontent.com/nikolaydubina/go-recipes/main/badge.svg?raw=true)](https://github.com/nikolaydubina/go-recipes)\n\u003c/div\u003e\n\n## Installation\n\n### Using [Homebrew](https://brew.sh/)\n\n```bash\nbrew install orlangure/tap/gocovsh\n```\n\n### Pre-built binary\n\nGrab your pre-built binary from the\n[Releases](https://github.com/orlangure/gocovsh/releases) page.\n\n### From source\n\n```bash\n# install latest, probably unreleased version\ngo install github.com/orlangure/gocovsh@latest\n\n# or install a specific version\ngo install github.com/orlangure/gocovsh@v0.5.1\n```\n\n## Usage\n\n1. Generate Go coverage report at your project's root with\n    ```bash\n    go test -cover -coverprofile coverage.out\n    ```\n\n   For more information about generating Go coverage reports, see 📝 [my blog\n   post](https://fedorov.dev/posts/2020-06-27-golang-end-to-end-test-coverage/).\n\n2. Run `gocovsh` at the same folder with `coverage.out` report and `go.mod`\n   file (`go.mod` is required).\n\n   ```bash\n   gocovsh                        # show all files from coverage report\n   git diff --name-only | gocovsh # only show changed files\n   git diff | gocovsh             # show coverage on top of current diff\n   gocovsh --profile profile.out  # for other coverage profile names\n   ```\n\n3. Use `j/k/enter/esc` keys to explore the report. See built-in help for more\n   key-bindings.\n\n## Themes\n\n`gocovsh` supports 4 nice themes (using [Catppuccin\nTheme](https://github.com/catppuccin/catppuccin) project) and an ugly default\none at this moment. To change the theme, set `GOCOVSH_THEME` environment\nvariable to one of the following values: `mocha`, `latte`, `frappe` or\n`macchiato`:\n\n```bash\nGOCOVSH_THEME=mocha gocovsh\nGOCOVSH_THEME=latte gocovsh\nGOCOVSH_THEME=frappe gocovsh\nGOCOVSH_THEME=macchiato gocovsh\n```\n\nTo always use the same theme, add `export GOCOVSH_THEME=\u003ctheme name\u003e` to your\n`~/.bashrc`, `~/.zshrc` or any other file that you use for shell configuration.\n\n## Giving back\n\nThis is a free and open source project that hopefully helps its users, at least\na little. Even though I don't need donations to support it, I understand that\nthere are people that wish to give back anyway. If you are one of them, I\nencourage you to [plant some trees with Tree\nNation](https://tree-nation.com/plant/offer) 🌲 🌳 🌴\n\nIf you want me to know about your contribution, make sure to use\n`orlangure+gocovsh@gmail.com` as the recipient email.\n\nThank you!\n\n## Demo\n\n### Viewing Go code coverage reports\n![go code coverage report viewer in the command line](./examples/general.gif)\n\n### Only show Go code coverage of changed files\n![go code coverage report of changed files in the command line](./examples/changed-files.gif)\n\n\n### Go code coverage on top of `git diff`\n![go code coverage report on top of git diff in the command line](./examples/diff-view.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forlangure%2Fgocovsh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forlangure%2Fgocovsh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forlangure%2Fgocovsh/lists"}