README.md

  1# git-bug
  2
  3[![Build Status](https://travis-ci.org/MichaelMure/git-bug.svg?branch=master)](https://travis-ci.org/MichaelMure/git-bug)
  4[![License: GPL v3](https://img.shields.io/badge/License-GPLv3+-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)
  5[![GoDoc](https://godoc.org/github.com/MichaelMure/git-bug?status.svg)](https://godoc.org/github.com/MichaelMure/git-bug)
  6[![Go Report Card](https://goreportcard.com/badge/github.com/MichaelMure/git-bug)](https://goreportcard.com/report/github.com/MichaelMure/git-bug)
  7
  8> Distributed bug tracker embedded in Git
  9
 10Would it be nice to not have to rely on a web service somewhere to deal with bugs ?
 11
 12Would it be nice to be able to browse and edit bug report offline ?
 13
 14`git-bug` is a distributed bug tracker embedded in `git`. It use git's internal storage so **no files are added in your project**.
 15
 16As you would do with commits and branches, you can push your bugs to the same git remote your are already using to collaborate with other peoples. 
 17
 18:construction: This is for now a proof of concept. Expect dragons and unfinished business. :construction:
 19
 20## Install
 21
 22### Go get
 23```shell
 24go get github.com/MichaelMure/git-bug
 25```
 26
 27If it's not done already, add golang binary directory in your PATH:
 28
 29```bash
 30export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
 31```
 32### Pre-compiled binaries
 33
 341. Go to the [release page](https://github.com/MichaelMure/git-bug/releases/latest) and download the appropriate binary for your system.
 352. Copy the binary anywhere in your PATH
 363. Rename the binary to `git-bug` (or `git-bug.exe` on windows)
 37
 38That's all !
 39
 40## CLI usage
 41
 42Create a new bug:
 43
 44```
 45git bug new
 46```
 47
 48Your favorite editor will open to write a title and a message.
 49
 50You can push your new entry to a remote:
 51```
 52git bug push [<remote>]
 53```
 54
 55And pull for updates:
 56```
 57git bug pull [<remote>]
 58```
 59
 60List existing bugs:
 61```
 62git bug ls
 63```
 64
 65You 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).
 66
 67## Interactive terminal UI
 68
 69An interactive terminal UI is available using the command `git bug termui` to browse and edit bugs.
 70
 71![terminal UI](doc/termui_recording.svg)
 72
 73## Web UI (status: WIP)
 74
 75You can launch a rich Web UI with `git bug webui`.
 76
 77![Web UI screenshot 1](doc/webui1.png)
 78![Web UI screenshot 2](doc/webui2.png)
 79
 80This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
 81
 82The web UI interact with the backend through a GraphQL API. The schema is available [here](graphql/schema.graphql).
 83
 84## Internals
 85
 86Interested by how it works ? Have a look at the [data model](doc/model.md).
 87
 88## Misc
 89
 90- [Bash completion](misc/bash_completion)
 91- [Zsh completion](misc/zsh_completion)
 92- [ManPages](doc/man)
 93
 94## Planned features
 95
 96- media embedding
 97- import/export of github issue
 98- extendable data model to support arbitrary bug tracker
 99- inflatable raptor
100
101## Contribute
102
103PRs accepted.
104
105## License
106
107
108GPLv3 or later © Michael Muré