git-bug/README.md

119 lines
3.4 KiB
Markdown
Raw Normal View History

2018-08-21 15:39:05 +03:00
<h1 align="center">git-bug</h1>
<div align="center">
2018-07-15 00:16:54 +03:00
2018-08-21 15:46:36 +03:00
Distributed bug tracker embedded in Git.
2018-08-06 04:22:36 +03:00
[![Build Status](https://travis-ci.org/MichaelMure/git-bug.svg?branch=master)](https://travis-ci.org/MichaelMure/git-bug)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3+-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)
[![GoDoc](https://godoc.org/github.com/MichaelMure/git-bug?status.svg)](https://godoc.org/github.com/MichaelMure/git-bug)
2018-08-07 17:01:13 +03:00
[![Go Report Card](https://goreportcard.com/badge/github.com/MichaelMure/git-bug)](https://goreportcard.com/report/github.com/MichaelMure/git-bug)
2018-08-18 19:31:15 +03:00
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/the-git-bug/Lobby)
2018-08-06 04:22:36 +03:00
2018-08-21 15:39:05 +03:00
</div>
Would it be nice to not have to rely on a web service somewhere to deal with bugs ?
2018-08-17 20:44:38 +03:00
Would it be nice to be able to browse and edit bug reports offline?
2018-08-17 20:44:38 +03:00
`git-bug` is a distributed bug tracker embedded in `git`. It uses git's internal storage so **no files are added in your project**.
2018-08-17 20:44:38 +03:00
As 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.
2018-07-15 00:16:54 +03:00
2018-07-15 01:16:49 +03:00
:construction: This is for now a proof of concept. Expect dragons and unfinished business. :construction:
2018-07-15 00:16:54 +03:00
## Install
2018-08-12 22:53:36 +03:00
### Go get
2018-07-15 00:16:54 +03:00
```shell
go get github.com/MichaelMure/git-bug
```
If it's not done already, add golang binary directory in your PATH:
```bash
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
```
2018-08-12 22:53:36 +03:00
### Pre-compiled binaries
2018-07-15 00:16:54 +03:00
2018-08-12 22:53:36 +03:00
1. Go to the [release page](https://github.com/MichaelMure/git-bug/releases/latest) and download the appropriate binary for your system.
2. Copy the binary anywhere in your PATH
3. Rename the binary to `git-bug` (or `git-bug.exe` on windows)
That's all !
2018-07-15 00:16:54 +03:00
### Linux packages
* [Archlinux (AUR)](https://aur.archlinux.org/packages/?K=git-bug)
2018-08-13 03:19:34 +03:00
## CLI usage
2018-07-15 00:16:54 +03:00
2018-08-06 04:22:36 +03:00
Create a new bug:
2018-07-15 00:16:54 +03:00
```
2018-08-06 04:22:36 +03:00
git bug new
2018-07-15 00:16:54 +03:00
```
2018-08-06 04:22:36 +03:00
Your favorite editor will open to write a title and a message.
2018-07-15 00:16:54 +03:00
You can push your new entry to a remote:
```
git bug push [<remote>]
```
And pull for updates:
```
git bug pull [<remote>]
```
2018-08-06 04:22:36 +03:00
List existing bugs:
```
git bug ls
```
2018-07-16 16:22:09 +03:00
2018-08-06 04:22:36 +03:00
You 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).
2018-07-17 20:31:18 +03:00
2018-08-13 03:19:34 +03:00
## Interactive terminal UI
2018-07-16 16:22:09 +03:00
2018-08-08 19:51:11 +03:00
An interactive terminal UI is available using the command `git bug termui` to browse and edit bugs.
2018-07-16 16:22:09 +03:00
<p align="center">
<img src="https://cdn.rawgit.com/MichaelMure/git-bug/55ab9631/doc/termui_recording.svg">
</p>
## Web UI (status: WIP)
2018-07-16 16:22:09 +03:00
2018-08-08 19:51:11 +03:00
You can launch a rich Web UI with `git bug webui`.
2018-07-17 20:31:18 +03:00
![Web UI screenshot 1](doc/webui1.png)
![Web UI screenshot 2](doc/webui2.png)
2018-07-16 16:22:09 +03:00
2018-08-06 04:22:36 +03:00
This web UI is entirely packed inside the same go binary and serve static content through a localhost http server.
2018-07-16 23:38:52 +03:00
2018-08-06 04:22:36 +03:00
The web UI interact with the backend through a GraphQL API. The schema is available [here](graphql/schema.graphql).
2018-07-17 21:51:09 +03:00
2018-07-16 15:53:32 +03:00
## Internals
Interested by how it works ? Have a look at the [data model](doc/model.md).
2018-08-06 04:22:36 +03:00
## Misc
- [Bash completion](misc/bash_completion)
- [Zsh completion](misc/zsh_completion)
- [ManPages](doc/man)
2018-07-15 02:49:46 +03:00
## Planned features
2018-08-08 19:51:11 +03:00
- media embedding
- import/export of github issue
- extendable data model to support arbitrary bug tracker
- inflatable raptor
2018-07-15 02:49:46 +03:00
2018-07-15 00:16:54 +03:00
## Contribute
PRs accepted. Drop by the [Gitter lobby](https://gitter.im/the-git-bug/Lobby) for a chat.
2018-07-15 00:16:54 +03:00
## License
GPLv3 or later © Michael Muré