https://github.com/MichaelMure/git-bug Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Compare all + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} MichaelMure / git-bug Public * * Notifications * Fork 210 * Star 6.3k Distributed, offline-first bug tracker embedded in git, with bridges License GPL-3.0 license 6.3k stars 210 forks Star Notifications * Code * Issues 77 * Pull requests 20 * Discussions * Actions * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Security * Insights MichaelMure/git-bug This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 33 branches 10 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/M] Use Git or checkout with SVN using the web URL. [gh repo clone Michae] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @MichaelMure MichaelMure Merge pull request #870 from MichaelMure/cli-reorg ... 70bd737 Nov 22, 2022 Merge pull request #870 from MichaelMure/cli-reorg commands: reorg into different packages 70bd737 Git stats * 2,062 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github GHA: add a release workflow to build and upload binaries Nov 20, 2022 api core: bubble up the comment ID when created, or edited the first comment Nov 13, 2022 bridge github: sanitize rate limit waiting time Nov 15, 2022 cache commands: reorg into different packages Nov 20, 2022 commands commands: reorg into different packages Nov 20, 2022 doc commands: reorg into different packages Nov 20, 2022 entities commands: reorg into different packages Nov 20, 2022 entity go-git: concurrent loading of clocks Nov 15, 2022 misc commands: reorg into different packages Nov 20, 2022 query move bug.Status in entities/common for reuse Aug 20, 2022 repository commands: reorg into different packages Nov 20, 2022 termui core: bubble up the comment ID when created, or edited the first comment Nov 13, 2022 tests move {bug,identity} to /entities, move input to /commands Aug 18, 2022 util a few fixes Apr 26, 2022 webui webui: pack into binary Nov 20, 2022 .gitignore misc: move all completions in a dedicated folder May 31, 2022 LICENSE Create LICENSE Jul 12, 2018 Makefile release: don't build for darwin/386 as support has been removed in go... Nov 20, 2022 README.md tests(850): add tests for comment ls, add and edit Aug 19, 2022 git-bug.go misc: move all completions in a dedicated folder May 31, 2022 go.mod commands: reorg into different packages Nov 20, 2022 go.sum commands: reorg into different packages Nov 20, 2022 tools.go fix: hide tools versioning behind build tags Sep 8, 2022 View code [ ] git-bug Help needed! Installation Workflows CLI usage Interactive terminal UI Web UI (status: WIP) Bridges Importer implementations Exporter implementations Bridge usage Internals Misc Planned features Contribute Contributors [?] Backers Sponsors License README.md [68747470733a2f2f6364] git-bug Backers on Open Collective Sponsors on Open Collective License: GPL v3 GoDoc Go Report Card Gitter chat git-bug is a bug tracker that: * is fully embedded in git: you only need your git repository to have a bug tracker * is distributed: use your normal git remote to collaborate, push and pull your bugs! * works offline: in a plane or under the sea? Keep reading and writing bugs! * prevents vendor lock-in: your usual service is down or went bad? You already have a full backup. * is fast: listing bugs or opening them is a matter of milliseconds * doesn't pollute your project: no files are added in your project * integrates with your tooling: use the UI you like (CLI, terminal, web) or integrate with your existing tools through the CLI or the GraphQL API * bridges to other bug trackers: use bridges to import and export to other trackers. This is now more than a proof of concept, but still not fully stable. Expect dragons and unfinished business. Help needed! This project has grown bigger than I can handle by myself, especially with a day job. I'm looking for people to help on or maintain part of it: * each bridges (go) * the terminal UI (go) * the web UI (Typescript/React/GraphQL) Individually, those pieces are not especially complex but doing everything make it hard for me to focus on the core where things get more complicated. If this is useful for you or you just want to join the fun, maybe consider it? Installation Pre-compiled binaries 1. Go to the release page 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 ! Windows packages * Scoop scoop install git-bug Linux packages * Archlinux (AUR) * NixOS macOS packages * Homebrew brew install git-bug FreeBSD package/port Install via the package manager pkg install git-bug Or from the ports collection cd /usr/ports/devel/git-bug && make install clean Compile from git (unstable) git clone git@github.com:MichaelMure/git-bug.git make install If it's not done already, add the golang binary directory in your PATH: export PATH=$PATH:$(go env GOROOT)/bin:$(go env GOPATH)/bin Workflows There are multiple ways to use git-bug: Native workflow Native workflow This is the pure git-bug experience. In a similar fashion as with code, use git bug push and git bug pull to push and pull your bugs between git remotes and collaborate with your teammate. Bridge workflow Bridge workflow As git-bug has bridges with other bug-trackers, you can use it as your personal local remote interface. Sync with git bug bridge pull and git bug bridge push, work from your terminal, integrate into your editor, it's up to you. And it works offline ! Web UI workflow (WIP) Web UI workflow Often, projects needs to have their bug-tracker public and accept editions from anyone facing a problem. To support this workflow, git-bug aims to have the web UI accept external OAuth authentication and act as a public portal. However the web UI is not up to speed for that yet. Contribution are very much welcome! CLI usage Create a new identity: git bug user create Create a new bug: git bug add Your favorite editor will open to write a title and a message. You can push your new entry to a remote: git bug push [] And pull for updates: git bug pull [] List existing bugs: git bug ls Filter and sort bugs using a query: git bug ls "status:open sort:edit" Search for bugs by text content: git bug ls "foo bar" baz 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 --help or read the command's documentation. Interactive terminal UI An interactive terminal UI is available using the command git bug termui to browse and edit bugs. Termui recording Web UI (status: WIP) You can launch a rich Web UI with git bug webui. Web UI screenshot 1 Web UI screenshot 2 This web UI is entirely packed inside the same go binary and serve static content through a localhost http server. The web UI interact with the backend through a GraphQL API. The schema is available here. Bridges Importer implementations Github Gitlab Jira Launchpad incremental [?] [?] [?] (can import more than once) with resume [?] [?] [?] (download only new data) identities [?] [?] [?] [?] identities update bug [?] [?] [?] [?] comments [?] [?] [?] [?] comment editions [?] [?] labels [?] [?] [?] status [?] [?] [?] title edition [?] [?] [?] media/files automated test suite [?] [?] Exporter implementations Github Gitlab Jira Launchpad bug [?] [?] [?] comments [?] [?] [?] comment editions [?] [?] [?] labels [?] [?] [?] status [?] [?] [?] title edition [?] [?] [?] automated test suite [?] [?] Bridge usage Interactively configure a new github bridge: git bug bridge configure Or manually: git bug bridge configure \ --name= \ --target=github \ --url=https://github.com/MichaelMure/git-bug \ --login= --token= Import bugs: git bug bridge pull [] Export modifications: git bug bridge push [] Deleting a bridge: git bug bridge rm [] Internals Interested in how it works ? Have a look at the data model and the internal bird-view. Or maybe you want to make your own distributed data-structure in git ? See also all the docs. Misc * Bash, Zsh, fish, powershell completion * ManPages Planned features * media embedding * more bridges * webUI that can be used as a public portal to accept user's input * inflatable raptor Contribute PRs accepted. Drop by the Gitter lobby for a chat or browse the issues to see what is worked on or discussed. git clone git@github.com:MichaelMure/git-bug.git You can now run make to build the project, or make install to install the binary in $GOPATH/bin/. To work on the web UI, have a look at the dedicated Readme. Some tests for the CLI use golden files, if the output of CLI commands is changed, run the following command, then inspect the changed files in commands/testdata/... to make sure the output text is as expected: go test ./commands -update Contributors [?] This project exists thanks to all the people who contribute. [6874747073] Backers Thank you to all our backers! [Become a backer] [6874747073] Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor] [6874747073] [6874747073] [6874747073] [6874747073] [6874747073] [6874747073] [6874747073] [6874747073] [6874747073] [6874747073] License Unless otherwise stated, this project is released under the GPLv3 or later license (c) Michael Mure. The git-bug logo by Viktor Teplov is released under the Creative Commons Attribution 4.0 International (CC BY 4.0) license (c) Viktor Teplov. About Distributed, offline-first bug tracker embedded in git, with bridges Topics git distributed-systems bugtracker decentralized-application gitdb Resources Readme License GPL-3.0 license Stars 6.3k stars Watchers 79 watching Forks 210 forks Releases 10 0.8.0 Latest Nov 20, 2022 + 9 releases Sponsor this project * open_collective opencollective.com/git-bug Packages 0 No packages published Used by 3 * @AlexisBDL @AlexisBDL / StoryManager * @happyborg @happyborg / p2p-git-portal-poc Contributors 58 * @MichaelMure * @A-Hilaly * @GlancingMind * @smoyer64 * @dependabot[bot] * @dependabot-preview[bot] * @sandhose * @ludovicm67 * @claudioantonio * @vincetiu8 * @rng-dynamics + 47 contributors Languages * Go 85.0% * TypeScript 11.1% * Shell 3.6% * Other 0.3% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.