All Projects → kyoh86 → gogh

kyoh86 / gogh

Licence: MIT license
GO GitHub project manager

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to gogh

Dalfox
🌘🦊 DalFox(Finder Of XSS) / Parameter Analysis and XSS Scanning tool based on golang
Stars: ✭ 791 (+2627.59%)
Mutual labels:  cli-app, golang-tools
Richgo
Enrich `go test` outputs with text decorations.
Stars: ✭ 544 (+1775.86%)
Mutual labels:  cli-app, golang-tools
gst
👻 Supercharge your ghq workflow.
Stars: ✭ 34 (+17.24%)
Mutual labels:  ghq, cli-app
Scopelint
scopelint checks for unpinned variables in go programs
Stars: ✭ 110 (+279.31%)
Mutual labels:  cli-app, golang-tools
emacs-helm-ghq
ghq with helm interface
Stars: ✭ 25 (-13.79%)
Mutual labels:  ghq
Graphql Rest Proxy
Turn your REST API into GraphQL - A Proxy Server that pipes request from GraphQL to REST with GraphQL DSL, performant nested children, mutations, input types, and more.
Stars: ✭ 218 (+651.72%)
Mutual labels:  cli-app
Tldr
Golang command line client for tldr https://github.com/tldr-pages/tldr
Stars: ✭ 210 (+624.14%)
Mutual labels:  cli-app
Do Not Disturb Cli
Control the macOS `Do Not Disturb` feature from the command-line
Stars: ✭ 205 (+606.9%)
Mutual labels:  cli-app
pipfile-requirements
A CLI tool to covert Pipfile/Pipfile.lock to requirments.txt
Stars: ✭ 47 (+62.07%)
Mutual labels:  cli-app
goris
This is a CLI tool to search for images with Google Reverse Image Search (goris).
Stars: ✭ 62 (+113.79%)
Mutual labels:  cli-app
3llo
3llo - Trello interactive CLI aplication
Stars: ✭ 245 (+744.83%)
Mutual labels:  cli-app
Localer
Automatic detecting missing I18n translations tool.
Stars: ✭ 219 (+655.17%)
Mutual labels:  cli-app
Unsplash Wallpaper
Use an image from unsplash.com as your background image from a simple command.
Stars: ✭ 238 (+720.69%)
Mutual labels:  cli-app
Geek Life
The Todo List / Task Manager for Geeks in command line
Stars: ✭ 212 (+631.03%)
Mutual labels:  cli-app
mangodl
An easy-to-use cli tool for downloading manga
Stars: ✭ 154 (+431.03%)
Mutual labels:  cli-app
Sclack
The best CLI client for Slack, because everything is terrible!
Stars: ✭ 2,363 (+8048.28%)
Mutual labels:  cli-app
portman
Port OpenAPI Specs to Postman Collections, inject test suite and run via Newman 👨🏽‍🚀
Stars: ✭ 530 (+1727.59%)
Mutual labels:  cli-app
Terminal Image Cli
Display images in the terminal
Stars: ✭ 234 (+706.9%)
Mutual labels:  cli-app
Podcast Cli
Podcast CLI player
Stars: ✭ 228 (+686.21%)
Mutual labels:  cli-app
Awesome Linux Software
A list of awesome applications, software, tools and other materials for Linux distros.
Stars: ✭ 16,943 (+58324.14%)
Mutual labels:  cli-app

Gogh

GO GitHub project manager

PkgGoDev Go Report Card Coverage Status Release

Description

gogh is forked from ghq.

$ gogh list
github.com/kyoh86/git-branches
github.com/kyoh86/gogh
github.com/kyoh86/vim-wipeout
github.com/kyoh86-tryouts/bare
github.com/nvim-telescope/telescope.nvim
...

gogh provides a way to organize remote repository clones, like go get does. When you clone a remote repository by gogh get, gogh makes a directory under a specific root directory (by default ~/go/src) using the remote repository URL's host and path. And creating new one by gogh new, gogh make both of a local project and a remote repository.

$ gogh get https://github.com/kyoh86/gogh
# Runs `git clone https://github.com/kyoh86/gogh ~/go/src/github.com/kyoh86/gogh`

You can also list projects (local repositories) (gogh list).

Install

For Golang developers

$ go install github.com/kyoh86/gogh/cmd/gogh@latest

If you want zsh-completions, you can create completions file like this:

$ echo "autoload -Uz compinit && compinit" >> ~/.zshrc
$ gogh completion zsh > $fpath[1]/_gogh

Homebrew/Linuxbrew

$ brew tap kyoh86/tap
$ brew update
$ brew install kyoh86/tap/gogh

Makepkg

$ mkdir -p gogh_build && \
  cd gogh_build && \
  curl -L --silent https://github.com/kyoh86/gogh/releases/latest/download/gogh_PKGBUILD.tar.gz | tar -xvz
$ makepkg -i

Available commands

Show projects

Command Description
gogh list List local projects
gogh repos List remote repositories

Manipulate projects

Command Description
gogh create Create a new project with a remote repository
gogh delete Delete a repository with a remote repository
gogh fork Fork a repository
gogh clone Clone a repository to local

Others

Command Description
gogh roots Manage roots
gogh servers Manage servers
gogh bundle Manage bundle
gogh help Help about any command

Use gogh [command] --help for more information about a command. Or see the manual in usage/gogh.md.

Roots

gogh manages projects under the roots directories.

See also: Directory structures

You can change the roots with roots add <path> or roots remove <path> and see all of them by roots list. gogh uses the first one as the default one, create, fork or clone will put a local project under it. If you want to change the default, use roots set-default <path>.

Default: ~/Projects.

Servers

gogh manages repositories in some servers that pairs of a user and a host name. To login in new server or logout, you should use servers login. gogh uses the first server as the default one. When you specify a repository with ambiguous user or host, it will be interpolated with a default server.

I.E. when servers are:

- github.com:
  - user: kyoh86
- example.com:
  - user: foobar

Ambiguous repository names will be interpolated:

Ambiguous name Interpolated name
gogh github.com/kyoh86/gogh
foobar/gogh github.com/foobar/gogh

Commands

Manual: usage/gogh.md.

Directory structures

Local projects are placed under gogh.roots with named `host/user/repo.

~/Projects
+-- github.com/
|-- google/
|   +-- go-github/
|-- kyoh86/
|   +-- gogh/
+-- alecthomas/
  +-- kingpin/

LICENSE

MIT License

This software is released under the MIT License, see LICENSE. And this software is based on ghq.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].