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 identity:
 56
 57```
 58git bug user create
 59```
 60
 61Create a new bug:
 62
 63```
 64git bug add
 65```
 66
 67Your favorite editor will open to write a title and a message.
 68
 69You can push your new entry to a remote:
 70```
 71git bug push [<remote>]
 72```
 73
 74And pull for updates:
 75```
 76git bug pull [<remote>]
 77```
 78
 79List existing bugs:
 80```
 81git bug ls
 82```
 83
 84Filter and sort bugs using a [query](doc/queries.md):
 85```
 86git bug ls "status:open sort:edit"
 87```
 88
 89You 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).
 90
 91## Interactive terminal UI
 92
 93An interactive terminal UI is available using the command `git bug termui` to browse and edit bugs.
 94
 95![Termui recording](misc/termui_recording.gif)
 96
 97## Web UI (status: WIP)
 98
 99You can launch a rich Web UI with `git bug webui`.
100
101![Web UI screenshot 1](misc/webui1.png)
102![Web UI screenshot 2](misc/webui2.png)
103
104This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
105
106The web UI interact with the backend through a GraphQL API. The schema is available [here](graphql/).
107
108## Bridges
109
110:green_apple: Working!
111:tomato: Not working yet
112
113### Importer implementations
114
115|                                                 | Github        | Launchpad     |
116| ----------------------------------------------- | :-----------: | :-----------: |
117| **incremental**<br/>(can import more than once) | :green_apple: | :tomato:      |
118| **with resume**<br/>(download only new data)    | :tomato:      | :tomato:      |
119| **identities**                                  | :green_apple: | :green_apple: |
120| **identities update**                           | :tomato:      | :tomato:      |
121| **bug**                                         | :green_apple: | :green_apple: |
122| **comments**                                    | :green_apple: | :green_apple: |
123| **comment editions**                            | :green_apple: | :tomato:      |
124| **labels**                                      | :green_apple: | :tomato:      |
125| **status**                                      | :green_apple: | :tomato:      |
126| **title edition**                               | :green_apple: | :tomato:      |
127
128### Exporter implementations
129
130Todo !
131
132## Internals
133
134Interested by how it works ? Have a look at the [data model](doc/model.md) and the [internal bird-view](doc/architecture.md).
135
136## Misc
137
138- [Bash completion](misc/bash_completion)
139- [Zsh completion](misc/zsh_completion)
140- [ManPages](doc/man)
141
142## Planned features
143
144- media embedding
145- exporter to github issue
146- extendable data model to support arbitrary bug tracker
147- inflatable raptor
148
149## Contribute
150
151PRs 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.
152
153Developers unfamiliar with Go may try to clone the repository using "git clone". Instead, one should use:
154
155```shell
156go get -u github.com/MichaelMure/git-bug
157```
158
159The git repository will then be available:
160
161```shell
162# Note that $GOPATH defaults to $HOME/go
163$ cd $GOPATH/src/github.com/MichaelMure/git-bug/
164```
165
166You can now run `make` to build the project, or `make install` to install the binary in `$GOPATH/bin/`.
167
168To work on the web UI, have a look at [the dedicated Readme.](webui/Readme.md)
169
170
171## Contributors
172
173This project exists thanks to all the people who contribute.
174<a href="https://github.com/MichaelMure/git-bug/graphs/contributors"><img src="https://opencollective.com/git-bug/contributors.svg?width=890&button=false" /></a>
175
176
177## Backers
178
179Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/git-bug#backer)]
180
181<a href="https://opencollective.com/git-bug#backers" target="_blank"><img src="https://opencollective.com/git-bug/tiers/backer.svg?width=890"></a>
182
183
184## Sponsors
185
186Support 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)]
187
188<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>
189<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>
190<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>
191<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>
192<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>
193<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>
194<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>
195<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>
196<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>
197<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>
198
199
200## License
201
202Unless otherwise stated, this project is released under the [GPLv3](LICENSE) or later license © Michael Muré.
203
204The 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.