easbarba / onur
Easily manage multiple FLOSS repositories
    0.9.5
    2023-11-15 02:59 UTC
Requires
- php: >=8.1
- czproject/git-php: ^4.1
- kevinlebrun/colors.php: ^1.0
- symfony/console: ^6.2
- yosymfony/toml: ^1.0
Requires (Dev)
- nunomaduro/phpinsights: ^2.8
- pestphp/pest: ^2.2
- phpstan/phpstan: ^1.10
README
Onur
Easily manage multiple FLOSS repositories
Onur grab all repositories listed in the configuration files.
Installation
composer: composer global require easbarba/onur.
phive phive install --target ~/.local/bin easbarba/onur.
Usage
Onur consumes configurations files at $XDG_CONFIG/onur.
onur grab
onur archive nuxt,awesomewm,guzzle
- $ONUR_CONFIG_HOMEenvironment variable is available to define a new location of configuration files.
- repositories are stored in the $HOME/Projectsfolder.
Configuration file
A onur configuration file is just a single list providing name and url of projects, branch may be provided if not the usual master branch:
[
  {
    "name": "awesomewm",
    "url": "https://github.com/awesomeWM/awesome"
  },
  {
    "name": "nuxt",
    "branch": "main",
    "url": "https://github.com/nuxt/framework"
  }
]
More examples of configuration files are at examples.
Settings
A TOML settings file may define the behavior of onur:
[base]
single-branch = true
quiet = true
depth = 1
Options
Consult onur --help for more options.
GNU Guix
In a system with GNU Guix binary installed, its even easier to grab all
dependencies: guix shell.