README.md

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