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> Bugtracker 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 bugtracker 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```shell
 23go get github.com/MichaelMure/git-bug
 24```
 25
 26If it's not done already, add golang binary directory in your PATH:
 27
 28```bash
 29export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
 30```
 31
 32That's all ! In the future, pre-compiled binary will be provided for convenience.
 33
 34## CLI usage (status: working but need UX improvement)
 35
 36Create a new bug:
 37
 38```
 39git bug new
 40```
 41
 42Your favorite editor will open to write a title and a message.
 43
 44You can push your new entry to a remote:
 45```
 46git bug push [<remote>]
 47```
 48
 49And pull for updates:
 50```
 51git bug pull [<remote>]
 52```
 53
 54List existing bugs:
 55```
 56git bug ls
 57```
 58
 59You 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).
 60
 61## Interactive terminal UI (status: WIP)
 62
 63An interactive terminal UI is available using the command `git bug termui` to browse and edit bugs.
 64
 65![terminal UI](doc/termui.png)
 66
 67// TODO: replace with less test data ;-)
 68
 69## Web UI (status: terribly WIP)
 70
 71You can launch a rich Web UI with `git bug webui`.
 72
 73![Web UI](doc/webui.png)
 74
 75This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
 76
 77The web UI interact with the backend through a GraphQL API. The schema is available [here](graphql/schema.graphql).
 78
 79## Internals
 80
 81Interested by how it works ? Have a look at the [data model](doc/model.md).
 82
 83## Misc
 84
 85- [Bash completion](misc/bash_completion)
 86- [Zsh completion](misc/zsh_completion)
 87- [ManPages](doc/man)
 88
 89## Planned features
 90
 91- media embedding
 92- import/export of github issue
 93- extendable data model to support arbitrary bug tracker
 94- inflatable raptor
 95
 96## Contribute
 97
 98PRs accepted.
 99
100## License
101
102
103GPLv3 or later © Michael Muré