{"id":13595294,"url":"https://github.com/sharkdp/bugreport","last_synced_at":"2025-05-15T11:07:49.949Z","repository":{"id":43380437,"uuid":"323873617","full_name":"sharkdp/bugreport","owner":"sharkdp","description":"Rust library to collect system and environment information for bug reports","archived":false,"fork":false,"pushed_at":"2025-01-04T09:21:49.000Z","size":82,"stargazers_count":166,"open_issues_count":2,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T19:59:00.716Z","etag":null,"topics":["bug-reporting","diagnostics","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/sharkdp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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},"funding":{"github":"sharkdp"}},"created_at":"2020-12-23T10:37:37.000Z","updated_at":"2025-04-06T04:27:39.000Z","dependencies_parsed_at":"2025-01-26T05:01:00.381Z","dependency_job_id":"d4931692-7762-4be3-a9e4-1f424b87339e","html_url":"https://github.com/sharkdp/bugreport","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharkdp%2Fbugreport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharkdp%2Fbugreport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharkdp%2Fbugreport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sharkdp%2Fbugreport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sharkdp","download_url":"https://codeload.github.com/sharkdp/bugreport/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328384,"owners_count":22052632,"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-reporting","diagnostics","rust"],"created_at":"2024-08-01T16:01:47.231Z","updated_at":"2025-05-15T11:07:49.917Z","avatar_url":"https://github.com/sharkdp.png","language":"Rust","funding_links":["https://github.com/sponsors/sharkdp"],"categories":["Rust"],"sub_categories":[],"readme":"# bugreport\n\n[![Continuous integration](https://github.com/sharkdp/bugreport/workflows/Build/badge.svg)](https://github.com/sharkdp/bugreport/actions) [![Crates.io](https://img.shields.io/crates/v/bugreport.svg)](https://crates.io/crates/bugreport)\n[![Documentation](https://docs.rs/bugreport/badge.svg)](https://docs.rs/bugreport)\n\n`bugreport` is a Rust library that helps application developers to automatically collect\ninformation about the system and the environment that users can send along with a bug\nreport (similar to `git bugreport` or `ffmpeg … -report`).\n\n**Note**: This library is in an early stage and the API may change in the future.\n\n## Example\n\nThe following code\n```rust\nuse bugreport::{bugreport, collector::*, format::Markdown};\n\nfn main() {\n    bugreport!()\n        .info(SoftwareVersion::default())\n        .info(OperatingSystem::default())\n        .info(CommandLine::default())\n        .info(EnvironmentVariables::list(\u0026[\"SHELL\", \"EDITOR\"]))\n        .info(CommandOutput::new(\"Python version\", \"python\", \u0026[\"-V\"]))\n        .info(CompileTimeInformation::default())\n        .print::\u003cMarkdown\u003e();\n}\n```\ngenerates bug report information that [looks like this](example-report.md).\n\n\n## Collectors\n\n- [x] Crate information (name, version, git hash)\n- [x] Operating system (type, name, version)\n- [x] Command line (including all arguments)\n- [x] Environment variables (e.g. `SHELL`, `PATH`, …)\n- [x] File contents (e.g. config files)\n- [x] Directory contents\n- [x] Command output (e.g. `bash --version`)\n- [x] Compile time information (profile, target, architecture, cpu features, etc.)\n- [ ] Current working directory\n- [ ] Date and time\n- [x] User defined collectors\n\n## Features\n\n- [x] Markdown export\n- [ ] Open report output in editor (instead of printing to stdout, see `git bugreport`)\n- [ ] Ask user for permission to gather information?\n- [ ] Automatic anonymization of information? (e.g.: remove `/home/username` from paths)\n- [ ] JSON export (?)\n\n## Use cases / prior art\n\n- `ffmpeg`s `-report` option\n  - Interesting: \"Setting the environment variable FFREPORT to any value has the same effect.\"\n  - see also: https://ffmpeg.org/bugreports.html\n- `git bugreport`\n  - https://git-scm.com/docs/git-bugreport\n  - git version --build-options\n- `grails bugreport`\n  - http://docs.grails.org/3.1.1/ref/Command%20Line/bug-report.html\n\n# Related crates\n\nOther crates that might be useful:\n\n- [`human-panic`](https://crates.io/crates/human-panic) - Make panic messages nice for humans to read.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharkdp%2Fbugreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsharkdp%2Fbugreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharkdp%2Fbugreport/lists"}