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### Linux packages
 42
 43* [Archlinux (AUR)](https://aur.archlinux.org/packages/?K=git-bug)
 44
 45## CLI usage
 46
 47Create a new bug:
 48
 49```
 50git bug new
 51```
 52
 53Your favorite editor will open to write a title and a message.
 54
 55You can push your new entry to a remote:
 56```
 57git bug push [<remote>]
 58```
 59
 60And pull for updates:
 61```
 62git bug pull [<remote>]
 63```
 64
 65List existing bugs:
 66```
 67git bug ls
 68```
 69
 70You 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).
 71
 72## Interactive terminal UI
 73
 74An interactive terminal UI is available using the command `git bug termui` to browse and edit bugs.
 75
 76<p align="center">
 77    <img src="https://cdn.rawgit.com/MichaelMure/git-bug/55ab9631/doc/termui_recording.svg">
 78</p>
 79
 80## Web UI (status: WIP)
 81
 82You can launch a rich Web UI with `git bug webui`.
 83
 84![Web UI screenshot 1](doc/webui1.png)
 85![Web UI screenshot 2](doc/webui2.png)
 86
 87This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
 88
 89The web UI interact with the backend through a GraphQL API. The schema is available [here](graphql/schema.graphql).
 90
 91## Internals
 92
 93Interested by how it works ? Have a look at the [data model](doc/model.md).
 94
 95## Misc
 96
 97- [Bash completion](misc/bash_completion)
 98- [Zsh completion](misc/zsh_completion)
 99- [ManPages](doc/man)
100
101## Planned features
102
103- media embedding
104- import/export of github issue
105- extendable data model to support arbitrary bug tracker
106- inflatable raptor
107
108## Contribute
109
110PRs accepted. Drop by the [Gitter lobby](https://gitter.im/the-git-bug/Lobby) for a chat.
111
112## License
113
114GPLv3 or later © Michael Muré