git-bug/Readme.md

104 lines
2.8 KiB
Markdown
Raw Normal View History

2018-07-15 00:16:54 +03:00
# git-bug
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)
> Bugtracker embedded in Git
Would it be nice to not have to rely on a web service somewhere to deal with bugs ?
Would it be nice to be able to browse and edit bug report offline ?
`git-bug` is a bugtracker embedded in `git`. It use the same internal storage so it doesn't pollute your project. As 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.
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
```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-07-16 15:57:41 +03:00
That's all ! In the future, pre-compiled binary will be provided for convenience.
2018-07-15 00:16:54 +03:00
2018-08-06 04:22:36 +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-06 04:22:36 +03:00
## Interactive terminal UI
2018-07-16 16:22:09 +03:00
2018-08-06 04:22:36 +03:00
An interactive (WIP) terminal UI is available using the command `git bug termui` to browse and edit bugs.
2018-07-16 16:22:09 +03:00
2018-08-06 04:22:36 +03:00
![terminal UI](doc/termui.png)
2018-07-18 17:51:49 +03:00
2018-08-06 04:22:36 +03:00
// TODO: replace with less test data ;-)
2018-07-16 16:22:09 +03:00
2018-08-06 04:22:36 +03:00
## Web UI
2018-07-16 16:22:09 +03:00
2018-08-06 04:22:36 +03:00
You can launch a rich Web UI (terribly WIP) with `git bug webui`.
2018-07-17 20:31:18 +03:00
2018-08-06 04:22:36 +03:00
![Web UI](doc/webui.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-08-06 04:22:36 +03:00
Note: the compiled web UI is not commited in git for now so you will have to install npm packages and build it before compiling the go binary.
2018-07-16 16:22: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-06 04:22:36 +03:00
- [ ] interactive CLI UI
- [ ] rich web UI
- [ ] media embedding
- [ ] import/export of github issue
- [ ] inflatable raptor
2018-07-15 02:49:46 +03:00
2018-07-15 00:16:54 +03:00
## Contribute
PRs accepted.
## License
GPLv3 or later © Michael Muré