README.md

  1<p align="center">
  2    <img width="150px" src="https://cdn.rawgit.com/MichaelMure/git-bug/master/misc/logo/logo-alpha-flat-bg.svg">
  3</p>
  4<h1 align="center">git-bug</h1>
  5
  6<div align="center">
  7
  8Distributed bug tracker embedded in Git.
  9
 10[![Build Status](https://travis-ci.org/MichaelMure/git-bug.svg?branch=master)](https://travis-ci.org/MichaelMure/git-bug)
 11[![Backers on Open Collective](https://opencollective.com/git-bug/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/git-bug/sponsors/badge.svg)](#sponsors) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3+-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)
 12[![GoDoc](https://godoc.org/github.com/MichaelMure/git-bug?status.svg)](https://godoc.org/github.com/MichaelMure/git-bug)
 13[![Go Report Card](https://goreportcard.com/badge/github.com/MichaelMure/git-bug)](https://goreportcard.com/report/github.com/MichaelMure/git-bug)
 14[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/the-git-bug/Lobby)
 15
 16</div>
 17
 18Would it be nice to not have to rely on a web service somewhere to deal with bugs ?
 19
 20Would it be nice to be able to browse and edit bug reports offline?
 21
 22`git-bug` is a distributed bug tracker embedded in `git`. It uses git's internal storage so **no files are added in your project**.
 23
 24As you would do with commits and branches, you can push your bugs to the same git remote you are already using to collaborate with other people.
 25
 26:construction: This is for now a proof of concept. Expect dragons and unfinished business. :construction:
 27
 28## Install
 29
 30### Go get
 31```shell
 32go get -u github.com/MichaelMure/git-bug
 33```
 34
 35If it's not done already, add golang binary directory in your PATH:
 36
 37```bash
 38export PATH=$PATH:$(go env GOROOT)/bin:$(go env GOPATH)/bin
 39```
 40
 41### Pre-compiled binaries
 42
 431. Go to the [release page](https://github.com/MichaelMure/git-bug/releases/latest) and download the appropriate binary for your system.
 442. Copy the binary anywhere in your PATH
 453. Rename the binary to `git-bug` (or `git-bug.exe` on windows)
 46
 47That's all !
 48
 49### Linux packages
 50
 51* [Archlinux (AUR)](https://aur.archlinux.org/packages/?K=git-bug)
 52
 53## CLI usage
 54
 55Create a new bug:
 56
 57```
 58git bug add
 59```
 60
 61Your favorite editor will open to write a title and a message.
 62
 63You can push your new entry to a remote:
 64```
 65git bug push [<remote>]
 66```
 67
 68And pull for updates:
 69```
 70git bug pull [<remote>]
 71```
 72
 73List existing bugs:
 74```
 75git bug ls
 76```
 77
 78Filter and sort bugs using a [query](doc/queries.md):
 79```
 80git bug ls "status:open sort:edit"
 81```
 82
 83You 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](doc/md/git-bug.md).
 84
 85## Interactive terminal UI
 86
 87An interactive terminal UI is available using the command `git bug termui` to browse and edit bugs.
 88
 89![Termui recording](doc/termui_recording.gif)
 90
 91## Web UI (status: WIP)
 92
 93You can launch a rich Web UI with `git bug webui`.
 94
 95![Web UI screenshot 1](doc/webui1.png)
 96![Web UI screenshot 2](doc/webui2.png)
 97
 98This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
 99
100The web UI interact with the backend through a GraphQL API. The schema is available [here](graphql/).
101
102## Internals
103
104Interested by how it works ? Have a look at the [data model](doc/model.md).
105
106## Misc
107
108- [Bash completion](misc/bash_completion)
109- [Zsh completion](misc/zsh_completion)
110- [ManPages](doc/man)
111
112## Planned features
113
114- media embedding
115- exporter to github issue
116- extendable data model to support arbitrary bug tracker
117- inflatable raptor
118
119## Contribute
120
121PRs accepted. Drop by the [Gitter lobby](https://gitter.im/the-git-bug/Lobby) for a chat or browse the issues to see what is worked on or discussed.
122
123Developers unfamiliar with Go may try to clone the repository using "git clone". Instead, one should use:
124
125```shell
126go get -u github.com/MichaelMure/git-bug
127```
128
129The git repository will then be available:
130
131```shell
132# Note that $GOPATH defaults to $HOME/go
133$ cd $GOPATH/src/github.com/MichaelMure/git-bug/
134```
135
136You can now run `make` to build the project, or `make install` to install the binary in `$GOPATH/bin/`.
137
138To work on the web UI, have a look at [the dedicated Readme.](webui/Readme.md)
139
140
141## Contributors
142
143This project exists thanks to all the people who contribute.
144<a href="https://github.com/MichaelMure/git-bug/graphs/contributors"><img src="https://opencollective.com/git-bug/contributors.svg?width=890&button=false" /></a>
145
146
147## Backers
148
149Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/git-bug#backer)]
150
151<a href="https://opencollective.com/git-bug#backers" target="_blank"><img src="https://opencollective.com/git-bug/tiers/backer.svg?width=890"></a>
152
153
154## Sponsors
155
156Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/git-bug#sponsor)]
157
158<a href="https://opencollective.com/git-bug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/0/avatar.svg"></a>
159<a href="https://opencollective.com/git-bug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/1/avatar.svg"></a>
160<a href="https://opencollective.com/git-bug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/2/avatar.svg"></a>
161<a href="https://opencollective.com/git-bug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/3/avatar.svg"></a>
162<a href="https://opencollective.com/git-bug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/4/avatar.svg"></a>
163<a href="https://opencollective.com/git-bug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/5/avatar.svg"></a>
164<a href="https://opencollective.com/git-bug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/6/avatar.svg"></a>
165<a href="https://opencollective.com/git-bug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/7/avatar.svg"></a>
166<a href="https://opencollective.com/git-bug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/8/avatar.svg"></a>
167<a href="https://opencollective.com/git-bug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/git-bug/tiers/sponsor/9/avatar.svg"></a>
168
169
170## License
171
172Unless otherwise stated, this project is released under the [GPLv3](LICENSE) or later license © Michael Muré.
173
174The git-bug logo by [Viktor Teplov](https://github.com/vandesign) is released under the [Creative Commons Attribution 4.0 International (CC BY 4.0)](misc/logo/LICENSE) license © Viktor Teplov.