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