git-bug is a bug tracker that:
- is fully embedded in git: you only need your git repository to have a bug tracker
- is distributed: use your normal git remote to collaborate, push and pull your bugs!
- works offline: in a plane or under the sea? Keep reading and writing bugs!
- prevents vendor lock-in: your usual service is down or went bad? You already have a full backup.
- is fast: listing bugs or opening them is a matter of milliseconds
- doesn't pollute your project: no files are added in your project
- integrates with your tooling: use the UI you like (CLI, terminal, web) or integrate with your existing tools through the CLI or the GraphQL API
- bridges to other bug trackers: use bridges to import and export to other trackers.
See INSTALLATION.md for the complete guide, including how to build from source and verify your install.
There are multiple ways to use git-bug. See the workflow documentation for the details.
Native workflow
This is the pure git-bug experience. In a similar fashion as with code, use git bug push and git bug pull to push and pull your bugs between git remotes and collaborate with your teammate.
Bridge workflow
As git-bug has bridges with other bug-trackers, you can use it as your personal local remote interface. Sync with git bug bridge pull and git bug bridge push, work from your terminal, integrate into your editor, it's up to you. And it works offline!
Web UI workflow (WIP)
Often, projects need to have their bug-tracker public and accept editions from anyone facing a problem. To support this workflow, git-bug aims to have the web UI accept external OAuth authentication and act as a public portal. However the web UI is not up to speed for that yet. Contributions are very much welcome!
Create a new identity:
git bug user createCreate a new bug:
git bug addYour favorite editor will open to write a title and a message.
You can push your new entry to a remote:
git bug push [<remote>]And pull for updates:
git bug pull [<remote>]List existing bugs:
git bug lsFilter and sort bugs using a query:
git bug ls "status:open sort:edit"Search for bugs by text content:
git bug ls "foo bar" bazYou can now use commands like show, comment, open or close to display and modify bugs. For more details about each command, you can run git bug <command> --help or read the command's documentation.
An interactive terminal UI is available using the command git bug termui to browse and edit bugs.
You can launch a rich Web UI with git bug webui. Browse, search and filter issues, open new ones, comment, and edit titles, labels and status. It also doubles as a code browser for your repository, with a file tree, syntax-highlighted files, commit history and diffs.
The web UI is packed inside the same go binary and served by a local http server. It talks to the backend through a GraphQL API, whose schema is available here.
git-bug can import from and export to Github, Gitlab, Jira and Launchpad. See the feature matrix for what each bridge supports, and the bridge documentation for the full guide.
Interactively configure a new bridge:
git bug bridge newOr manually:
git bug bridge new \
--name=<bridge> \
--target=github \
--url=https://github.com/git-bug/git-bug \
--login=<login> \
--token=<token>Import bugs:
git bug bridge pull [<name>]Export modifications:
git bug bridge push [<name>]Delete a bridge:
git bug bridge rm [<name>]Interested in how it works? Have a look at the data model and the internal bird-view.
The on-disk format is formally specified in the git-bug spec, covering the DAG entity format, identities and the bug entity. Read that if you want to write another implementation or a tool that reads git-bug data directly.
Or maybe you want to make your own distributed data-structure in git?
See also all the docs.
The feature matrix gives a good overview of what is planned, without being exhaustive.
Additional planned features:
- webUI that can be used as a public portal to accept user's input
- inflatable raptor
PRs accepted. Drop by the Matrix room for a chat, look at the feature matrix or browse the issues and discussions to see what is worked on or discussed.
See CONTRIBUTING.md to get a development environment going, build the project and run the tests. To work on the web UI, have a look at its dedicated README.
This project exists thanks to all the people who contribute.
Thank you to all our backers and sponsors! 🙏 [Become a backer or sponsor]
Unless otherwise stated, this project is released under the GPLv3 or later license © Michael Muré.
The git-bug logo by Viktor Teplov is released under the Creative Commons Attribution 4.0 International (CC BY 4.0) license © Viktor Teplov.





