All Projects β†’ azukaar β†’ GuPM

azukaar / GuPM

Licence: ISC license
πŸΆπŸ“¦ Global Universal Project Manager -- Package manager, cli tool, scripts for all your projects and your system

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to GuPM

loverocks
LΓ–VE + Luarocks
Stars: ✭ 80 (-39.39%)
Mutual labels:  package-manager
MGM-Ability
No description or website provided.
Stars: ✭ 64 (-51.52%)
Mutual labels:  package-manager
iridium
πŸ’Ž Growing collection of VS Code extensions with a fancy name
Stars: ✭ 39 (-70.45%)
Mutual labels:  package-manager
bramble
Purely functional build system and package manager
Stars: ✭ 173 (+31.06%)
Mutual labels:  package-manager
jean
Bored from installing tiny shell scripts and .dotfiles manually? Huh! Missing Shell Package Manager For Linux
Stars: ✭ 21 (-84.09%)
Mutual labels:  package-manager
awesome-package-manager
☘ Awesome package manager resources
Stars: ✭ 87 (-34.09%)
Mutual labels:  package-manager
conex
establish trust in community repositories, cryptographically signed by library authors
Stars: ✭ 32 (-75.76%)
Mutual labels:  package-manager
wsjcpp
Yet another... C++ Source Package Manager
Stars: ✭ 18 (-86.36%)
Mutual labels:  package-manager
honest
Are your installed packages _really_ the same as you saw on GitHub?
Stars: ✭ 25 (-81.06%)
Mutual labels:  package-manager
glam
A cross-platform package manager.
Stars: ✭ 61 (-53.79%)
Mutual labels:  package-manager
diamond
Dependency management built for Sass, Less, and CSS.
Stars: ✭ 19 (-85.61%)
Mutual labels:  package-manager
cppan
Project evolved into Software Network: https://github.com/SoftwareNetwork/sw
Stars: ✭ 108 (-18.18%)
Mutual labels:  package-manager
cati
Cati Unix Package Manager
Stars: ✭ 19 (-85.61%)
Mutual labels:  package-manager
zpm
InterSystems ObjectScript Package Manager
Stars: ✭ 17 (-87.12%)
Mutual labels:  package-manager
get-bin-path
Get the current package's binary path
Stars: ✭ 25 (-81.06%)
Mutual labels:  package-manager
com.newtonsoft.json
Unity package manager setup for Newtonsoft's JSON library
Stars: ✭ 27 (-79.55%)
Mutual labels:  package-manager
pint
A single-file command-line package manager for Windows.
Stars: ✭ 35 (-73.48%)
Mutual labels:  package-manager
importly
import map generator
Stars: ✭ 42 (-68.18%)
Mutual labels:  package-manager
agda-pkg
apkg - package manager for Agda
Stars: ✭ 30 (-77.27%)
Mutual labels:  package-manager
sherpa
a mini-package-manager for QNAP NAS
Stars: ✭ 63 (-52.27%)
Mutual labels:  package-manager

dog






Global Universal Project Manager -- Package manager, CLI tool, and scripts for all your projects and your system. Whether you are a developer managing dependencies, or a sysadmin looking for your new toolbelt (bye bash!) you are among friends. Check the Wiki for documentation.

  • ⏱ Fast. Written in native code, with real multi-threading.
  • πŸ‘“ Smart. Memory efficient solution using hard-link, which do not duplicate dependencies across project.
  • 🌍 Global. Windows, Mac and Linux compatibility.
  • 🌈 Universal. Usable in any kind of project (Ruby, JS, Go, C, Python, etc...)
  • πŸ‘— Customizable. Flexible plugin system: make GuPM your own.
  • πŸ‘ Future Proof. Let's make this the last PM you will ever need.
  • 🌳 Decentralized. You keep control of the sources you tap into.
  • 🐳 No dependencies. You don't need anythind else (you don't need NPM to use NPM's repository with GuPM)

This idea is born from the frustration of having to give up my habits whenever I would switch off Javascript and lose NPM (Whether it would be in Ruby, Go, or even situations outside of coding). GuPM is claiming to take inspiration from the best things in Brew, NPM, Gem, etc... And compile them in a single tool, usable in any project.

  • πŸ“¦ Packages Manager. Install packages from any repository and manage dependencies in a seamless way.
  • πŸ–₯ CLI Manager. Install and use CLI tools in a flexible way without conflicts.
  • 🚏 Scripting. GuPM is bundled with GuScript, allowing you to build cross platform scripts for your project.
  • πŸ™ Packed with features. Manage configs, git hooks, parallel executions, environment variables, CI, and more.
  • πŸ”₯ Even more to come! See : Next for the roadmap of feature. You are welcomed to contribute!


Getting started :

Quick links

Installation

Linux and Mac OS :

⌨️ $ curl -fsSL https://azukaar.github.io/GuPM/install.sh | bash

Windows

πŸ’Ύ Windows_install.exe

JS/NPM example

This example is setting up a project using the NPM plugin. More details on how to use GuPM with node here.

Go example

This example is setting up a project using the Go plugin. More details on how to use GuPM with Go here.

Dependency Manager

New projects

In order to simply bootstrap a new project you can run g bootstrap you can also use b and add a provider g b -p npm

Make

This command will set up your project by getting dependencies. Adding a -p or --provider argument allows you to specify what provider to use initially. Please note you do NOT need to install npm / gem / whatever to use their corresponding provider, GuPM implement everything itself.

# reads gupm.json
g make

# reads package.json
g make -p npm

Install

# use default repo [Config in gupm.json]

g install mysql
g i mysql

# use brew

g install brew://mysql
g install -p brew mysql

# use NPM

g install npm://react@1 # will save in gupm.json
g install -p npm react@1 # will save in package.json

More commands in the wiki

GuPM management

Plugins

GuPM needs plugins to work with various repos :

# Install provider-go from the official repo
g plugin install https://azukaar.github.io/GuPM-official/repo:provider-go

See https://github.com/azukaar/gupm-official for a list of officially suported plugins. See https://github.com/azukaar/GuPM/wiki/how-to-create-a-provider to create your own.

updates

GuPM can be managed using :

g self upgrade

More commands in the wiki

Write GuPM scripts

You can use GuScript to write bash-like files, used for setting up your project, use it, or anything literally. Think of GuScript as a replacement for your bash scripts.

// name_setup.gs

var name = input('What is your name')
echo('Welcome' + name)
saveName(name)

GuScript is based on javascript, and therefore allow advanced object/arrays manipulations, function definitions, etc... Find more details about the available APIs in the wiki 1

VS Code

Add this to your settings.json to treat .gs file as javascript (temporary fix to plain text)

"files.associations": {
    "*.gs": "javascript"
}

Thanks!

Package Icon made by smashicons Dog Icon made by Freepik

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].