A command line tool for creating and managing multiple repositories.
cargo install mureThis application requires the following environment variable.
GH_TOKEN
GH_TOKEN is GitHub access token.
(I haven't set it up to automatically read the contents of .env yet.)
$HOME/.mure.toml ... configuration file
$HOME/.dev ... development directory
$HOME/.dev/repo ... repositories directory
When you clone a repository, it will be clone into the $HOME/.dev/repo/github.com/{owner}/{repo} directory.
GH_TOKENenvironment variable is required for authentication.
Generate .mure.toml file in home directory.
[core]
base_dir = "~/.dev"
[github]
username = "kitsuyui"
[shell]
cd_shims = "mucd"Add following script to your shell configuration file such as ~/.bashrc, ~/.zshrc or etc.
eval $(mure init --shell)mure clone clone the repository to the common directory.
And makes symbolic links to the working repository.
mure clone <url>mure issues shows the list of issues and pull requests of all repositories.
Example:
--query option is available for advanced search like --query 'user:kitsuyui'
See this page for more about advanced search: https://docs.github.com/en/search-github/searching-on-github/searching-for-repositories
Default search query is user:{username} is:public fork:false archived:false
You can customize the output format by setting github.queries in .mure.toml.
For example, if you want to show both of my (user:kitsuyui) repositories and the organization gitignore-in's repositories, you can set github.queries like this:
[github]
queries = [
"user:kitsuyui",
"owner:gitignore-in",
]mure refresh updates the repository.
mucd is a command line shims for changing directory shortcut.
mucd enables you to change directory into the repository.
mucd something # => Same as `cd $HOME/.dev/something`You can change the name of the shim by set shell.cd_shims in .mure.toml to another name.
mure path shows the path of the repository for given repository name.
(Internally, mure path is used for mucd command.)
For zsh, load completions after compinit.
autoload -Uz compinit
compinit
# mure subcommands
eval "$(mure completion --shell zsh)"
# mucd target completion (dynamic)
eval "$(mure completion --shell zsh --cd)"mure completion --shell <shell> also supports other shells such as bash, fish, powershell, and elvish.
BSD-3-Clause
