{"id":18684973,"url":"https://github.com/h1alexbel/ghiqc","last_synced_at":"2025-07-23T16:35:41.065Z","repository":{"id":250191747,"uuid":"833604403","full_name":"h1alexbel/ghiqc","owner":"h1alexbel","description":"Command-line tool for checking the quality of your bug reports in GitHub Issues, empowered with LLM","archived":false,"fork":false,"pushed_at":"2025-04-05T10:21:26.000Z","size":1548,"stargazers_count":4,"open_issues_count":15,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T11:26:16.525Z","etag":null,"topics":["bug-reports","cli","github-issues","llm","quality-control","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/h1alexbel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-07-25T11:36:08.000Z","updated_at":"2024-11-15T08:35:16.000Z","dependencies_parsed_at":"2024-08-28T16:39:23.084Z","dependency_job_id":"91f77d4a-7b95-4a83-996f-30e8587c51dd","html_url":"https://github.com/h1alexbel/ghiqc","commit_stats":null,"previous_names":["h1alexbel/ghiqc"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h1alexbel%2Fghiqc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h1alexbel%2Fghiqc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h1alexbel%2Fghiqc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h1alexbel%2Fghiqc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/h1alexbel","download_url":"https://codeload.github.com/h1alexbel/ghiqc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248517348,"owners_count":21117435,"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":["bug-reports","cli","github-issues","llm","quality-control","rust"],"created_at":"2024-11-07T10:19:55.047Z","updated_at":"2025-04-12T04:32:38.779Z","avatar_url":"https://github.com/h1alexbel.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ghiqc (GitHub Issues Quality Checker)\n\n[![DevOps By Rultor.com](http://www.rultor.com/b/h1alexbel/ghiqc)](http://www.rultor.com/p/h1alexbel/ghiqc)\n[![We recommend IntelliJ IDEA](https://www.elegantobjects.org/intellij-idea.svg)](https://www.jetbrains.com/idea/)\n\n[![just](https://github.com/h1alexbel/ghiqc/actions/workflows/just.yml/badge.svg)](https://github.com/h1alexbel/ghiqc/actions/workflows/just.yml)\n[![Crates.io Version](https://img.shields.io/crates/v/ghiqc)](https://crates.io/crates/ghiqc)\n[![codecov](https://codecov.io/gh/h1alexbel/ghiqc/graph/badge.svg?token=G8xGS8zGLS)](https://codecov.io/gh/h1alexbel/ghiqc)\n[![PDD status](http://www.0pdd.com/svg?name=h1alexbel/ghiqc)](http://www.0pdd.com/p?name=h1alexbel/ghiqc)\n[![Hits-of-Code](https://hitsofcode.com/github/h1alexbel/ghiqc)](https://hitsofcode.com/view/github/h1alexbel/ghiqc)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/h1alexbel/ghiqc/blob/master/LICENSE.txt)\n[![Known Vulnerabilities](https://snyk.io/test/github/h1alexbel/ghiqc/badge.svg)](https://snyk.io/test/github/h1alexbel/ghiqc)\n\nCommand-line tool for checking quality of bug reports in GitHub Issues,\nwith a help of [LLM].\n\n**Motivation**.\nThe quality of bug reports is paramount for the overall quality of a\nsoftware project: [poorly formulated bug reports][right-way-to-report-bugs]\noften lead to wasted time, programmers frustration, and delays. This repository\nis a command-line tool that would scan given issue for quality problems in its\nformulations, generate recommendation, and report to the bug report author\nasking to fix the report.\n\n## How to use?\n\nFirst, install it from [crate][ghiqc-crate]:\n\n```bash\ncargo install ghiqc\n```\n\nor with [homebrew] (macOS):\n\n```bash\nbrew install ghiqc\n```\n\nThen, run it:\n\n```bash\nghiqc --repo h1alexbel/fakehub --issue 1\n```\n\n### CLI Options\n\nYou can use the following options within `ghiqc` command-line tool:\n\n| Name              | Value   | Default | Description                                                    |\n|-------------------|---------|---------|----------------------------------------------------------------|\n| `--repo`, `-r`    | String  | -       | Repository to check, in @owner/repo format, i.e. `jeff/foo`.   |\n| `--issue`, `-i`   | int     | -       | Issue number to check.                                         |\n| `--stdout`        | boolean | `false` | Print the result to the console, instead of posting on GitHub. |\n| `--verbose`, `-v` | boolean | `false` | Verbose run output, i.e. debug logs, etc.                      |\n\nThere are two more arguments `ghiqc` will look for: `GITHUB_TOKEN` and\n`DEEPINFRA_TOKEN` (you can obtain it [here][Deep Infra API Tokens]). They\nshould be located in your environment variables. Export them like that:\n\n```bash\nexport GITHUB_TOKEN=...\nexport DEEPINFRA_TOKEN=...\n```\n\n### Ignore issues from checking\n\nYou can prevent `ghiqc` from running checks on the issue. In order to do that,\ninclude special file `ignore.ghiqc` in the root of your repo. In this file you\ncan specify a list of rules - what kind of issues to ignore:\n\n```text\nauthor:jeff\nlabel:enhancement\ntitle:new feature request\ntitle:!*something\n```\n\nWe support the following issue scope dimensions: `author`, `label`, and\n`title`. Supported syntax features:\n\n* assignment: `author:jeff`\n* exclusion: `label:!bug`\n* multiple values with `author` and `label`: `author:[jeff,foo,max]`,\n`label:[enhancement]`\n* multiple values to exclude with `author` and `label`: `author:![jeff,foo]`,\n`labelL:![bug,question]`\n* \"starts with\" with `title`: `title:*this is feature request:`\n* \"starts with\" exclusion with `title`: `title:!*BUG:`, thus it will skip\neverything that not starts with `BUG:`.\n\n### Using with GitHub Actions\n\nIn order to use `ghiqc` within [GitHub Actions], you can make the following\nconfiguration:\n\n```yml\nname: ghiqc\non:\n  issues:\n    types: [ opened ]\npermissions:\n  issues: write\n  contents: read\nenv:\n  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n  DEEPINFRA_TOKEN: ${{ secrets.DEEPINFRA_TOKEN }}\n  ISSUE: ${{ github.event.issue.number }}\njobs:\n  check:\n    runs-on: ubuntu-22.04\n    steps:\n      - uses: actions/checkout@v4\n      - name: Install ghiqc\n        run: cargo install ghiqc\n      - name: Run ghiqc\n        run: |\n          ghiqc --repo \"${{ github.repository }}\" --issue \"$ISSUE\"\n```\n\n## How to contribute?\n\nMake sure that you have [Rust] and [just] installed on your system, then fork\nthis repository, make changes, send us a [pull request][guidelines]. We will\nreview your changes and apply them to the `master` branch shortly, provided\nthey don't violate our quality standards. To avoid frustration, before sending\nus your pull request please run full build:\n\n```bash\njust build\n```\n\nHere is the [contribution vitals][Zerocracy Vitals], made by [zerocracy/judges-action]\n(updated every hour!).\n\n[right-way-to-report-bugs]: https://www.yegor256.com/2018/04/24/right-way-to-report-bugs.html\n[ghiqc-crate]: https://crates.io/crates/ghiqc\n[homebrew]: https://brew.sh\n[Rust]: https://www.rust-lang.org/tools/install\n[guidelines]: https://www.yegor256.com/2014/04/15/github-guidelines.html\n[just]: https://just.systems/man/en/chapter_4.html\n[Zerocracy Vitals]: https://www.h1alexbel.xyz/ghiqc/zerocracy/ghiqc-vitals.html\n[zerocracy/judges-action]: https://github.com/zerocracy/judges-action\n[GitHub Actions]: https://github.com/features/actions\n[Deep Infra API Tokens]: https://deepinfra.com/dash/api_keys\n[LLM]: https://en.wikipedia.org/wiki/Large_language_model\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh1alexbel%2Fghiqc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fh1alexbel%2Fghiqc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh1alexbel%2Fghiqc/lists"}