<h1>
<img src="./logo.svg" />
<br />
Osoy
<br />
<a href="https://gitlab.com/osoy/osoy/-/commits/master">
<img alt="build" src="https://img.shields.io/gitlab/pipeline/osoy/osoy/master" />
</a>
<a href="https://crates.io/crates/osoy">
<img alt="license" src="https://img.shields.io/crates/l/osoy" />
</a>
<a href="https://crates.io/crates/osoy">
<img alt="version" src="https://img.shields.io/crates/v/osoy" />
</a>
</h1>
Osoy is a command-line git repository manager which's features include:
- Clone and pull repositories in bulk.
- Bulk execute commands in repositories.
- Filter repositories using regex.
- Create symbolic links to repositories' executables.
- See the status of all repositories with one command.
## Osoy Home
Osoy home is where dowloaded git repositories and created symbolic links will be stored.
You can alter the location of Osoy home by setting the `OSOY_HOME` environment variable
which by default is `$HOME/.osoy` (`%USERPROFILE%\.osoy` on Windows).
### Directories
- `src` Downloaded repositories will be stored here.
- `bin` Symolic links to executables will be stored here.
To make these accessible, add the path of the directory to your `PATH` environment variable.
## Installation
### Cargo
```bash
cargo install osoy
```
Make sure that [cargo bin](https://doc.rust-lang.org/stable/cargo/guide/cargo-home.html#directories) is in your `PATH` environment variable.
### Compiling from Source
[Cargo](https://doc.rust-lang.org/cargo) (+rustc) and [Git](https://git-scm.com) are required to compile.
```bash
git clone https://gitlab.com/osoy/osoy ~/.osoy/src/gitlab.com/osoy/osoy
cd ~/.osoy/src/gitlab.com/osoy/osoy
cargo build --release
./osoy link osoy -fv
```